<?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>JeremyBlum.com &#187; Tech Ramblings</title>
	<atom:link href="http://jeremyblum.com/category/tech-ramblings/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeremyblum.com</link>
	<description></description>
	<lastBuildDate>Sun, 05 Sep 2010 22:54:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Driving 5 Speakers Simultaneously with an Arduino</title>
		<link>http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/</link>
		<comments>http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 22:42:10 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Assorted Hacks and Mods]]></category>
		<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[frequency]]></category>
		<category><![CDATA[reacXion]]></category>
		<category><![CDATA[speakers]]></category>
		<category><![CDATA[timers]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=803</guid>
		<description><![CDATA[For the ReacXion Audio/Visual Project I&#8217;ve been working on, it&#8217;s necessary to drive 5 speakers independently &#8211; each with a variable volume and set frequency (though the frequency of each speaker is different).  I examined several methods for generating the 5 square waves in hardware &#8211; using a 555 timer, oscillating RC with schmitt trigger, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-825 alignright" title="speaker" src="http://jeremyblum.com/wp-content/uploads/2010/09/speaker-300x209.png" alt="speaker" width="200" height="140" />For the <a title="reacXion Posts" href="http://jeremyblum.com/tag/reacXion/" target="_blank">ReacXion Audio/Visual Project</a> I&#8217;ve been working on, it&#8217;s necessary to drive 5 speakers independently &#8211; each with a variable volume and set frequency (though the frequency of each speaker is different).  I examined several methods for generating the 5 square waves in hardware &#8211; using a 555 timer, oscillating RC with schmitt trigger, and a bunch of opamp circuits.  Unfortunately, none of these generated tones as nice as the ones I got when simply using the <a title="Arduino Tone Function Reference" href="http://arduino.cc/en/Reference/Tone" target="_blank">arduino tone library</a>.  The built-in tone() function allows you to generate a squarewave with 50% duty cycle of your selected frequency on any pin on the arduino.  It relies on one of the arduino&#8217;s 3 timers to work in the background.  Specifically, it uses timer2, which is also responsible for <a title="Learn more about PWM" href="http://jeremyblum.com/2010/06/20/lets-get-digital-or-analog/" target="_blank">controlling PWM</a> on pins 3 and 11.  So you naturally loose that ability when using the tone() function.  But I wanted to make 5 tones simultaneously!  How to do it?</p>
<p><span id="more-803"></span>While the tone() function can only be run one instance at a time, I discovered (after much research), that I could hijack one of the timers (again, I chose timer2), and use some clever math and <a title="Interrupt Service Routine on Wikipedia" href="http://en.wikipedia.org/wiki/Interrupt_service_routine" target="_blank">software interrupts</a> to generate 5 tones simultaneously! I wanted to generate 5 tones of the following frequencies:</p>
<ol>
<li>C = 131 Hz</li>
<li>D = 147 Hz</li>
<li>E = 165 Hz</li>
<li>G = 196 Hz</li>
<li>A = 220 Hz</li>
</ol>
<p>Any music lovers out there will surely recognize this as the <a title="Pentatonic Scale on Wikipedia" href="http://en.wikipedia.org/wiki/Pentatonic_scale" target="_blank">pentatonic scale</a> (5 notes that nearly always sound good together). Now, think back to physics, and recall that period = 1/frequency.  In other words, each frequency pin will have to cycle from 0V to 5V and back again in the time dictated by the period for that note.  See the following picture:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-805" title="Square Wave" src="http://jeremyblum.com/wp-content/uploads/2010/09/Square_Wave.jpg" alt="Square Wave" width="410" height="211" /></p>
<p style="text-align: left;">The red portion of the square wave represents one cycle.  From the formula above, we can determine the following periods required to generate each note:</p>
<ol>
<li>C = 1/131 Hz = 7.6ms</li>
<li>D = 1/147 Hz = 6.8ms</li>
<li>E = 1/165 Hz = 6.0ms</li>
<li>G = 1/196 Hz = 5.1ms</li>
<li>A = 1/220 Hz = 4.5ms</li>
</ol>
<p>But, remember that we are dealing with a microcontroller, so we need to flip the value twice every period.  If you take a look at the green portions on the image above you&#8217;ll see what I&#8217;m talking about.  In one red portion of the wave, the value needs to change twice.  So in reality, we actually need to be able to flip bits twice as fast as the times outlined above.  Dividing those values by two, we get the following:</p>
<ol>
<li>C = 7.6ms/2 = 3.80ms</li>
<li>D = 6.8ms/2 = 3.40ms</li>
<li>E = 6.0ms/2 = 3.00ms</li>
<li>G = 5.1ms/2 = 2.55ms</li>
<li>A = 4.5ms/2 = 2.25ms</li>
</ol>
<p>So, if we want to generate all these tones at the same time, we&#8217;re going to need to have an interrupt service that can activate at a <a title="Least Common Multiple=">least common multiple</a> for all these values.  This interrupt request will toggle the appropriate pin every prescribed number of milliseconds, and we&#8217;ll get the tones we need! So, the least common multiple for the variables above would be: .05ms, or 50μs.  If we use this ideal value, we can construct an interrupt service request that will initiate every 50μs during our program.  Using some counters, we can flip the bits after the appropriate intervals!  Let&#8217;s calculate those counters now:</p>
<ol>
<li>C = 3.80ms/50μs = 76 counts</li>
<li>D = 3.40ms/50μs = 68 counts</li>
<li>E = 3.00ms/50μs = 60 counts</li>
<li>G = 2.55ms/50μs = 51 counts</li>
<li>A = 2.25ms/50μs = 45 counts</li>
</ol>
<p>In an ideal world, we would simply have a software interrupt trigger every 50μs, increment 5 separate counters each time, and toggle the associated pin when we reached the right value.  For example, every time counter1 reached 76, we would reset it to 0, and toggle the value of that pin.  If the only thing you were doing with your CPU was making noises, then this would work quite well.  But the whole reason for doing this in an interrupt routine is so that we can do other things simultaneously.  For this project, <a title="ReacXion Project" href="http://jeremyblum.com/2010/08/27/reacxion-build-progress/" target="_blank">I&#8217;m simultaneously controlling a large LED matrix</a>.  If the matrix isn&#8217;t refreshed often enough, the display looks choppy.  Unfortunately, cutting away to an interrupt routine every 50μs was too often, and the display started to look funny.  So, I had no choice but to trade off some frequency accuracy for a reduction in how often I activated the interrupt.  After some trial and error, I deemed the golden value to be 64μs.  It&#8217;s a little more than the ideal lowest common denominator, but still close enough that the notes sound good.  Using this new value, I calculated new counts, and implemented them in my interrupt routine:</p>
<ol>
<li>C = 3.80ms/64μs ≈ 60 counts</li>
<li>D = 3.40ms/64μs ≈ 53 counts</li>
<li>E = 3.00ms/64μs ≈ 47 counts</li>
<li>G = 2.55ms/64μs ≈ 40 counts</li>
<li>A = 2.25ms/64μs ≈ 35 counts</li>
</ol>
<p>And that&#8217;s it!  Using these values, I can simultaneously generate all five notes, while maintaining enough time to quickly update my LED Matrix.  Below is the final arduino code for making this work.  Thanks to <a title="Sebastian's Blog Post" href="http://popdevelop.com/2010/04/mastering-timer-interrupts-on-the-arduino/" target="_blank">Sebastian Wallin</a> for some awesome information on interfacing with arduino timer interrupts.</p>
<div class="codecolorer-container c blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//** ReacXion Source Code **//</span><br />
<span style="color: #666666; font-style: italic;">//** www.jeremyblum.com **//</span><br />
<br />
<span style="color: #808080; font-style: italic;">/* Timer reload value, globally available */</span><br />
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> tcnt2<span style="color: #339933;">;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/* Toggle HIGH or LOW digital write */</span><br />
<span style="color: #993333;">int</span> toggle1 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> toggle2 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> toggle3 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> toggle4 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> toggle5 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/* Keep track of when each note needs to be switched */</span><br />
<span style="color: #993333;">int</span> count1 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> count2 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> count3 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> count4 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #993333;">int</span> count5 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/* Frequency Output Pins */</span><br />
<span style="color: #339933;">#define FREQ1 9</span><br />
<span style="color: #339933;">#define FREQ2 10</span><br />
<span style="color: #339933;">#define FREQ3 11</span><br />
<span style="color: #339933;">#define FREQ4 12</span><br />
<span style="color: #339933;">#define FREQ5 13</span><br />
<br />
<span style="color: #666666; font-style: italic;">//Setup Function will run once at initialization</span><br />
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span> <br />
<br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Disable the timer overflow interrupt while configuring */</span> &nbsp;<br />
&nbsp; TIMSK2 <span style="color: #339933;">&amp;=</span> ~<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>TOIE2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br />
&nbsp; <br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Configure timer2 in normal mode (counting, no PWM) */</span> &nbsp;<br />
&nbsp; TCCR2A <span style="color: #339933;">&amp;=</span> ~<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>WGM21<span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>WGM20<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br />
&nbsp; TCCR2B <span style="color: #339933;">&amp;=</span> ~<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>WGM22<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br />
&nbsp; <br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Select clock source: internal I/O clock */</span> &nbsp;<br />
&nbsp; ASSR <span style="color: #339933;">&amp;=</span> ~<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>AS2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br />
&nbsp; <br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Disable Compare Match A interrupt enable (only overflow) */</span> &nbsp;<br />
&nbsp; TIMSK2 <span style="color: #339933;">&amp;=</span> ~<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>OCIE2A<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br />
&nbsp; <br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Now configure the prescaler to CPU clock divided by 128 */</span> &nbsp;<br />
&nbsp; TCCR2B <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>CS22<span style="color: #009900;">&#41;</span> &nbsp;<span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>CS20<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Set bits &nbsp;</span><br />
&nbsp; TCCR2B <span style="color: #339933;">&amp;=</span> ~<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>CS21<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Clear bit &nbsp;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #808080; font-style: italic;">/* We need to calculate a proper value to load the timer. <br />
&nbsp; &nbsp;* The following loads the value 248 into the Timer 2 register <br />
&nbsp; &nbsp;* The math behind this is: <br />
&nbsp; &nbsp;* (Desired period) = 64us.<br />
&nbsp; &nbsp;* (CPU frequency) / (prescaler value) = 125000 Hz -&gt; 8us. <br />
&nbsp; &nbsp;* (desired period) / 8us = 8. <br />
&nbsp; &nbsp;* MAX(uint8) - 8 = 248; <br />
&nbsp; &nbsp;*/</span> &nbsp;<br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Save value globally for later reload in ISR */</span> &nbsp;<br />
&nbsp; tcnt2 <span style="color: #339933;">=</span> <span style="color: #0000dd;">248</span><span style="color: #339933;">;</span> &nbsp; <br />
&nbsp; <br />
&nbsp; <span style="color: #808080; font-style: italic;">/* Finally load end enable the timer */</span> &nbsp;<br />
&nbsp; TCNT2 <span style="color: #339933;">=</span> tcnt2<span style="color: #339933;">;</span> &nbsp;<br />
&nbsp; TIMSK2 <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>TOIE2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">//Configure I/O Pin Directions</span><br />
pinMode<span style="color: #009900;">&#40;</span>FREQ1<span style="color: #339933;">,</span> &nbsp; &nbsp;OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pinMode<span style="color: #009900;">&#40;</span>FREQ2<span style="color: #339933;">,</span> &nbsp; &nbsp;OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pinMode<span style="color: #009900;">&#40;</span>FREQ3<span style="color: #339933;">,</span> &nbsp; &nbsp;OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pinMode<span style="color: #009900;">&#40;</span>FREQ4<span style="color: #339933;">,</span> &nbsp; &nbsp;OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
pinMode<span style="color: #009900;">&#40;</span>FREQ5<span style="color: #339933;">,</span> &nbsp; &nbsp;OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/*<br />
* Install the Interrupt Service Routine (ISR) for Timer2 overflow.<br />
* This is normally done by writing the address of the ISR in the<br />
* interrupt vector table but conveniently done by using ISR() &nbsp;*/</span><br />
ISR<span style="color: #009900;">&#40;</span>TIMER2_OVF_vect<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #808080; font-style: italic;">/* Reload the timer */</span><br />
TCNT2 <span style="color: #339933;">=</span> tcnt2<span style="color: #339933;">;</span><br />
<br />
count1<span style="color: #339933;">++;</span> count2<span style="color: #339933;">++;</span> count3<span style="color: #339933;">++;</span> count4<span style="color: #339933;">++;</span> count5<span style="color: #339933;">++;</span><br />
<br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>count1 <span style="color: #339933;">==</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
digitalWrite<span style="color: #009900;">&#40;</span>FREQ1<span style="color: #339933;">,</span> toggle1 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">?</span> HIGH <span style="color: #339933;">:</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
toggle1 <span style="color: #339933;">=</span> ~toggle1<span style="color: #339933;">;</span><br />
count1 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>count2 <span style="color: #339933;">==</span> <span style="color: #0000dd;">53</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
digitalWrite<span style="color: #009900;">&#40;</span>FREQ2<span style="color: #339933;">,</span> toggle2 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">?</span> HIGH <span style="color: #339933;">:</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
toggle2 <span style="color: #339933;">=</span> ~toggle2<span style="color: #339933;">;</span><br />
count2 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>count3 <span style="color: #339933;">==</span> <span style="color: #0000dd;">47</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
digitalWrite<span style="color: #009900;">&#40;</span>FREQ3<span style="color: #339933;">,</span> toggle3 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">?</span> HIGH <span style="color: #339933;">:</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
toggle3 <span style="color: #339933;">=</span> ~toggle3<span style="color: #339933;">;</span><br />
count3 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>count4 <span style="color: #339933;">==</span> <span style="color: #0000dd;">40</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
digitalWrite<span style="color: #009900;">&#40;</span>FREQ4<span style="color: #339933;">,</span> toggle4 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">?</span> HIGH <span style="color: #339933;">:</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
toggle4 <span style="color: #339933;">=</span> ~toggle4<span style="color: #339933;">;</span><br />
count4 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>count5 <span style="color: #339933;">==</span> <span style="color: #0000dd;">35</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
digitalWrite<span style="color: #009900;">&#40;</span>FREQ5<span style="color: #339933;">,</span> toggle5 <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">?</span> HIGH <span style="color: #339933;">:</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
toggle5 <span style="color: #339933;">=</span> ~toggle5<span style="color: #339933;">;</span><br />
count5 <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">//Do whatever else you want to do with your arduino!</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;t=Driving+5+Speakers+Simultaneously+with+an+Arduino" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Driving+5+Speakers+Simultaneously+with+an+Arduino+-+http://bit.ly/aUuXAE+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;title=Driving+5+Speakers+Simultaneously+with+an+Arduino" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;title=Driving+5+Speakers+Simultaneously+with+an+Arduino" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;title=Driving+5+Speakers+Simultaneously+with+an+Arduino" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;title=Driving+5+Speakers+Simultaneously+with+an+Arduino" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;title=Driving+5+Speakers+Simultaneously+with+an+Arduino" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2010/09/05/driving-5-speakers-simultaneously-with-an-arduino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Taste of Things to Come</title>
		<link>http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/</link>
		<comments>http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 17:23:08 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=512</guid>
		<description><![CDATA[Just a real quick update. I&#8217;m currently in the throes of building two computers, working on an electronics project, getting my Fall classes in order, and organizing Cornell&#8217;s new Sustainable Design Team (which is replacing the Solar Decathlon Team).  And I&#8217;m trying to do all of this in the next two weeks.  Needless to say, [...]]]></description>
			<content:encoded><![CDATA[<p>Just a real quick update.  I&#8217;m currently in the throes of building two computers, working on an electronics project, getting my Fall classes in order, and organizing Cornell&#8217;s new Sustainable Design Team (which is replacing the <a title="CUSD" href="http://jeremyblum.com/2009/08/31/cornell-solar-decathlon-at-the-ny-state-fair-and-beyond/" target="_blank">Solar Decathlon Team</a>).  And I&#8217;m trying to do all of this in the next two weeks.  Needless to say, I&#8217;m pretty busy &#8211; so here&#8217;s an update to let you know what videos will be coming up, etc.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/tJQBI8W08eY&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/tJQBI8W08eY&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;t=A+Taste+of+Things+to+Come" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=A+Taste+of+Things+to+Come+-+http://bit.ly/ak6k3F+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;title=A+Taste+of+Things+to+Come" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;title=A+Taste+of+Things+to+Come" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;title=A+Taste+of+Things+to+Come" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;title=A+Taste+of+Things+to+Come" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;title=A+Taste+of+Things+to+Come" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2010/08/03/a-taste-of-things-to-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer Destruction 101</title>
		<link>http://jeremyblum.com/2009/06/15/computer-destruction-101/</link>
		<comments>http://jeremyblum.com/2009/06/15/computer-destruction-101/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 05:25:45 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[Destruction]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=306</guid>
		<description><![CDATA[It&#8217;s always a good idea to keep your old hard drives.  Case and point, if Zach (the one filming this video) hadn&#8217;t been looking through his old drive, he never would have found this gem that we filmed a few years ago.  It&#8217;s basically just 3 minutes of computer carnage, and some bad acting on [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s always a good idea to keep your old hard drives.  Case and point, if Zach (the one filming this video) hadn&#8217;t been looking through his old drive, he never would have found this gem that we filmed a few years ago.  It&#8217;s basically just 3 minutes of computer carnage, and some bad acting on my part, but I figured some people would enjoy it.  Check it out!<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.youtube.com/v/fVVW8Tv9TMY&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/fVVW8Tv9TMY&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/fVVW8Tv9TMY&amp;hl=en&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true" data="http://www.youtube.com/v/fVVW8Tv9TMY&amp;hl=en&amp;fs=1&amp;rel=0"></embed></object></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;t=Computer+Destruction+101" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Computer+Destruction+101+-+http://bit.ly/agcOvl+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;title=Computer+Destruction+101" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;title=Computer+Destruction+101" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;title=Computer+Destruction+101" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;title=Computer+Destruction+101" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;title=Computer+Destruction+101" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2009/06/15/computer-destruction-101/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2009/06/15/computer-destruction-101/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2009/06/15/computer-destruction-101/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2009/06/15/computer-destruction-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube Partner Status Achieved</title>
		<link>http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/</link>
		<comments>http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 07:25:42 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[partner]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=243</guid>
		<description><![CDATA[Great News!  After posting my first video to Youtube over 2.5 years ago, I&#8217;ve finally been selected to join the youtube partner program.  As a member, my videos get priority, I&#8217;m eligible for revenue sharing if Ichoose to have ads appear next to my videos, and I get to do a lot of great stuff [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.youtube.com/sciguy14"><img class="aligncenter size-full wp-image-246" title="youtube" src="http://jeremyblum.com/wp-content/uploads/2009/01/youtube.jpg" alt="youtube" width="134" height="68" /></a></div>
<p>Great News!  After posting my first video to Youtube over 2.5 years ago, I&#8217;ve finally been selected to join the youtube partner program.  As a member, my videos get priority, I&#8217;m eligible for revenue sharing if Ichoose to have ads appear next to my videos, and I get to do a lot of great stuff with my channel page!  I&#8217;m very excited about this, and my hope is that it will garner even more views for my videos.  Check out my fancy new youtube channel <a title="My Youtube Profile" href="http://www.youtube.com/sciguy14" target="_blank">HERE</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;t=YouTube+Partner+Status+Achieved" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=YouTube+Partner+Status+Achieved+-+http://bit.ly/9wAESr+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;title=YouTube+Partner+Status+Achieved" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;title=YouTube+Partner+Status+Achieved" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;title=YouTube+Partner+Status+Achieved" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;title=YouTube+Partner+Status+Achieved" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;title=YouTube+Partner+Status+Achieved" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2009/01/13/youtube-partner-status-achieved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So you&#8217;ve Built a Computer!  Now What?</title>
		<link>http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/</link>
		<comments>http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 00:40:28 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[UltimateComputers.net]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=239</guid>
		<description><![CDATA[This most recent video tutorial, brought to you by ultimatecomputers.net, answers one of the biggest questions I get: how do you configure a computer once you&#8217;ve finished building it? I explain how to maneuver through the BIOS, ensure your temperatures are okay, setup a RAID array, set your default boot device, install Windows, get drivers [...]]]></description>
			<content:encoded><![CDATA[<p>This most recent video tutorial, brought to you by <a title="UCnet" href="http://www.ultimatecomputers.net" target="_blank">ultimatecomputers.net</a>, answers one of the biggest questions I get: how do you configure a computer once you&#8217;ve finished building it? I explain how to maneuver through the BIOS, ensure your temperatures are okay, setup a RAID array, set your default boot device, install Windows, get drivers working, and how to disable Windows User Account Control.  As always, you can go check it out in <a title="Youtube HD video" href="http://www.youtube.com/watch?v=KE6zl1Lt39w&amp;fmt=22" target="_blank">HD on youtube </a>;)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.youtube.com/v/KE6zl1Lt39w&amp;hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/KE6zl1Lt39w&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/KE6zl1Lt39w&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true" data="http://www.youtube.com/v/KE6zl1Lt39w&amp;hl=en&amp;fs=1"></embed></object></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;t=So+you%27ve+Built+a+Computer%21++Now+What%3F" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=So+you%27ve+Built+a+Computer%21++Now+What%3F+-+http://bit.ly/aNib1m+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;title=So+you%27ve+Built+a+Computer%21++Now+What%3F" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;title=So+you%27ve+Built+a+Computer%21++Now+What%3F" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;title=So+you%27ve+Built+a+Computer%21++Now+What%3F" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;title=So+you%27ve+Built+a+Computer%21++Now+What%3F" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;title=So+you%27ve+Built+a+Computer%21++Now+What%3F" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2009/01/10/so-youve-built-a-computer-now-what/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sudo Sandwhich (Tech Comic)</title>
		<link>http://jeremyblum.com/2008/11/10/sudo-sandwhich/</link>
		<comments>http://jeremyblum.com/2008/11/10/sudo-sandwhich/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 17:00:13 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[xkcd]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=129</guid>
		<description><![CDATA[I just had to share this comic.  It&#8217;s not a new one, but I find it particularly amusing.  If you don&#8217;t already, you should start reading the xkcd comics (xkcd.com).  WARNING: They are are for tech geeks.  If you don&#8217;t get this one, then I refer you here: http://en.wikipedia.org/wiki/Sudo. Share this on Facebook Tweet This! [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://xkcd.com/149/"><img title="XKCD Sandwhich" src="http://imgs.xkcd.com/comics/sandwich.png " alt="XKCD Sandwhich" width="360" height="299" /></a></div>
<p>I just had to share this comic.  It&#8217;s not a new one, but I find it particularly amusing.  If you don&#8217;t already, you should start reading the xkcd comics (<a title="xkcd" href="http://www.xkcd.com" target="_blank">xkcd.com</a>).  WARNING: They are are for tech geeks.  If you don&#8217;t get this one, then I refer you here: <a title="wiki sudo" href="http://en.wikipedia.org/wiki/Sudo" target="_blank">http://en.wikipedia.org/wiki/Sudo</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;t=Sudo+Sandwhich+%28Tech+Comic%29" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Sudo+Sandwhich+%28Tech+Comic%29+-+http://bit.ly/9DKZja+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;title=Sudo+Sandwhich+%28Tech+Comic%29" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;title=Sudo+Sandwhich+%28Tech+Comic%29" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;title=Sudo+Sandwhich+%28Tech+Comic%29" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;title=Sudo+Sandwhich+%28Tech+Comic%29" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;title=Sudo+Sandwhich+%28Tech+Comic%29" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2008/11/10/sudo-sandwhich/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2008/11/10/sudo-sandwhich/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2008/11/10/sudo-sandwhich/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TechBits &#8211; My new Vlog</title>
		<link>http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/</link>
		<comments>http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 21:56:53 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[UltimateComputers.net]]></category>
		<category><![CDATA[techbits]]></category>
		<category><![CDATA[vlog]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=126</guid>
		<description><![CDATA[I&#8217;m starting a Vlog!  It will be called TechBits.  The idea will be to informally answer tech/computer questions, talk about the technology industry, etc.  Below is the introduction video to the series.  Be sure to subscribe to my youtube channel! :) The Description that goes with the video: TechBits will be my new Vlog. Please [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I&#8217;m starting a Vlog!  It will be called TechBits.  The idea will be to informally answer tech/computer questions, talk about the technology industry, etc.  Below is the introduction video to the series.  Be sure to subscribe to my youtube channel! :)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/MF1x6g72JR4&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/MF1x6g72JR4&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;"><strong>The Description that goes with the video:</strong></p>
<p style="text-align: left;"><span>TechBits will be my new Vlog.  Please comment to let me know what I should change/improve, etc.</span></p>
<p>Stuff Mentioned in my Video:<br />
ZACH LYNN (CO-CREATOR Of ULTIMATECOMPUTERS.NET)<br />
<a title="http://www.youtube.com/zlynn1990" dir="ltr" rel="nofollow" href="http://www.youtube.com/zlynn1990" target="_blank">http://www.youtube.com/zlynn1990</a><br />
<a title="http://www.zachlynn.com" dir="ltr" rel="nofollow" href="http://www.zachlynn.com/" target="_blank">http://www.zachlynn.com</a></p>
<p>ULTIMATECOMPUTERS (A COMMUNITY FOR COMPUTER-BUILDERS AND TECH ENTHUSIASTS)<br />
<a title="http://www.ultimatecomputers.net" dir="ltr" rel="nofollow" href="http://www.ultimatecomputers.net/" target="_blank">http://www.ultimatecomputers.net</a><br />
<a title="http://www.cafepress.com/UComputers" dir="ltr" rel="nofollow" href="http://www.cafepress.com/UComputers" target="_blank">http://www.cafepress.com/UComputers</a> (this is where you can buy the shirt I was wearing)</p>
<p>DEEPNOTE (A BOT MADE BY MYSELF AND FRIENDS THAT CAN PLAY GUITAR HERO)<br />
<a title="http://www.mechanizedrock.com" dir="ltr" rel="nofollow" href="http://www.mechanizedrock.com/" target="_blank">http://www.mechanizedrock.com</a><br />
Also check out the DeepNote videos in my youtube Profile</p>
<p>MY BLOG (JUST RANDOM STUFF THAT I LIKE TO TALK ABOUT, MOSTLY WHAT I&#8217;M UP TO)<br />
<a title="http://www.jeremyblum.com" dir="ltr" rel="nofollow" href="http://www.jeremyblum.com/" target="_blank">http://www.jeremyblum.com</a></p>
<p>MY TWITTER FEED (FOLLOW ME ON TWITTER; THE FEED IS ALSO DISPLAYED ON THE SIDE OF MY BLOG)<br />
<a title="http://www.twitter.com/sciguy14" dir="ltr" rel="nofollow" href="http://www.twitter.com/sciguy14" target="_blank">http://www.twitter.com/sciguy14</a></p>
<p>MY YOUTUBE PROFILE (DUH&#8230;AND DON&#8217;T FORGET TO SUBSCRIBE!)<br />
<a title="http://www.youtube.com/sciguy14" dir="ltr" rel="nofollow" href="http://www.youtube.com/sciguy14" target="_blank">http://www.youtube.com/sciguy14</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;t=TechBits+-+My+new+Vlog" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=TechBits+-+My+new+Vlog+-+http://bit.ly/8YZrHg+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;title=TechBits+-+My+new+Vlog" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;title=TechBits+-+My+new+Vlog" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;title=TechBits+-+My+new+Vlog" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;title=TechBits+-+My+new+Vlog" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;title=TechBits+-+My+new+Vlog" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2008/11/08/techbits-my-new-vlog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suggestions for Windows 7</title>
		<link>http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/</link>
		<comments>http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 00:41:48 +0000</pubDate>
		<dc:creator>Jeremy Blum</dc:creator>
				<category><![CDATA[Tech Ramblings]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://jeremyblum.com/?p=97</guid>
		<description><![CDATA[I&#8217;ve used a whole lot of operating systems, but for many years, Windows has been my primary mode of computing.  I now use Vista on 3 machines and Ubuntu Linux on a 4th (with it also dual-booting on one of my Vista machines).  I&#8217;ve had a lot of experience with Macs as well, and about [...]]]></description>
			<content:encoded><![CDATA[<div>
<dl id="attachment_98" class="wp-caption alignnone" style="width: 383px; text-align: center;">
<dt class="wp-caption-dt"><img class="size-full wp-image-98 aligncenter" title="win7-logo" src="http://jeremyblum.com/wp-content/uploads/2008/08/win7-logo.jpg" alt="Windows 7 ...under construction" width="373" height="280" /></dt>
</dl>
</div>
<p style="text-align: left;">I&#8217;ve used a whole lot of operating systems, but for many years, Windows has been my primary mode of computing.  I now use Vista on 3 machines and Ubuntu Linux on a 4th (with it also dual-booting on one of my Vista machines).  I&#8217;ve had a lot of experience with Macs as well, and about a dozen different Linux Distros.  Having seen all of these different computing methods, I&#8217;d like to offer my insight (even though very few people are probably reading this) into the development of Windows 7.</p>
<ol style="text-align: left;">
<li style="text-align: left;">Backwards compatibility needs to go. By trying to make all aspects of the operating system backwards compatible with other versions, Windows releases have been getting more and more bloated.  The old apps usually don&#8217;t even work right anyways.  Add a virtualization engine that old apps can run in.  That way, it only has to be used when old apps are needed.</li>
<li style="text-align: left;">Vista had way to many SKUs.  Ultimate, Home Premium, Business&#8230;etc.  It was simply ridiculous.  Take a page from the linux playbook: Make a single base operating system, and allow the needed packages to be installed on top of it.  None of this extra stuff should be installed by default.  During the Windows install, it should start very stripped down.  You can can either choose a suggested configuration based on what you will use the computer for, or advanced users can pick and choose. For example, any business user would not need to install photo gallery, but they may want remote access.  A home use can pick differently to suit their needs.  If you decide you want to add or remove a feature later on, just pop in your Windows 7 Disc and choose what you want to add or remove.</li>
<li style="text-align: left;">Stop giving eye candy priority over features/improvements.  In Vista, great features like WinFS were stripped out, while aero remained in tact.  That is insane.  There is nothing wrong with making the OS look nice, but you shouldn&#8217;t need a super computer to run the GUI, and the quality of the OS operations should always come first.</li>
<li style="text-align: left;">The registry needs to go. Now.  I am aware that this means changing a lot, but the Registry is outdated and stubborn.  It is the cause for too many problems, and makes moving programs impossible.  Try using config files like linux does.</li>
<li style="text-align: left;">Release driver information.  early.  like yesterday.  Drivers were a major issue with Vista, and while it wasn&#8217;t Microsoft&#8217;s fault that the developers didn&#8217;t write their drivers early, they do need to give them some encouragement by providing info early on.</li>
</ol>
<p>I&#8217;ll probably think of some more things later on and append to this post&#8230;</p>
<p>Please post some comments on what you think needs to be different in Windows7.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;t=Suggestions+for+Windows+7" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Suggestions+for+Windows+7+-+http://bit.ly/bgfcsv+%28via+%40sciguy14%29&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;title=Suggestions+for+Windows+7" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;title=Suggestions+for+Windows+7" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;title=Suggestions+for+Windows+7" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;title=Suggestions+for+Windows+7" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;title=Suggestions+for+Windows+7" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://jeremyblum.com/2008/08/17/suggestions-for-windows-7/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
