<?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>Spying on People With Guns</title>
	<atom:link href="http://blog.fredricksen.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.fredricksen.net</link>
	<description>The title says it all. (That is to say, nothing.)</description>
	<lastBuildDate>Tue, 15 Sep 2009 12:57:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Panslation</title>
		<link>http://blog.fredricksen.net/?p=80</link>
		<comments>http://blog.fredricksen.net/?p=80#comments</comments>
		<pubDate>Tue, 15 Sep 2009 12:57:19 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>
		<category><![CDATA[Unsolicited advice]]></category>

		<guid isPermaLink="false">http://blog.fredricksen.net/?p=80</guid>
		<description><![CDATA[I wanted to see something translated into everything, for some reason; the code below does it okay. You need a UTF-8-capable console like Terminal on OS X, or redirect to a file and view it in a browser. Example:

$ CLASSPATH=.:google-api-translate-java-0.8.jar java Panslate "unbelievably interesting"
sq: unbelievably interesante
ar: المثيرة للاهتمام
bg: невероятно интересно
ca: increïblement interessant
zh: 令人难以置信的有趣
zh-CN: 令人难以置信的有趣
zh-TW: 令人難以置信的有趣
hr: [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to see something translated into everything, for some reason; the code below does it okay. You need a UTF-8-capable console like Terminal on OS X, or redirect to a file and view it in a browser. Example:</p>
<pre>
$ CLASSPATH=.:google-api-translate-java-0.8.jar java Panslate "unbelievably interesting"
sq: unbelievably interesante
ar: المثيرة للاهتمام
bg: невероятно интересно
ca: increïblement interessant
zh: 令人难以置信的有趣
zh-CN: 令人难以置信的有趣
zh-TW: 令人難以置信的有趣
hr: nevjerojatno zanimljiv
cs: neuvěřitelně zajímavé
da: utroligt interessant
nl: ongelooflijk interessant
en: unbelievably interesting
et: äärmiselt huvitav
tl: unbelievably kagiliw-giliw na
fi: uskomattoman mielenkiintoista
fr: incroyablement intéressante
gl: incrible interesante
de: unglaublich interessant
el: απίστευτα ενδιαφέρον
iw: מעניין שלא תיאמן
hi: अविश्वसनीय दिलचस्प
hu: Hihetetlenül érdekes
id: luar biasa menarik
it: incredibilmente interessante
ja: 信じられないほど面白い
ko: 엄청 재미
lv: neticami interesanti
lt: neįtikėtinai įdomūs
mt: unbelievably interessanti
no: utrolig interessant
fa: unbelievably جالب
pl: niesamowicie ciekawe
pt: incrivelmente interessante
ro: incredibil de interesant
ru: невероятной интересно
sr: невероватно занимљиво
sk: neuveriteľne zaujímavé
sl: Neverjetno zanimivo
es: increíblemente interesante
sv: Otroligt intressant
th: น่าเหลือเชื่อ
tr: inanılmaz ilginç
uk: неймовірною цікаво
vi: không ngờ thú vị
</pre>
<p>You&#8217;ll need <a href="http://code.google.com/p/google-api-translate-java/">google-api-translate-java</a>.  Here&#8217;s the Java code:</p>
<pre style="color:green">
import java.io.PrintStream;
import java.net.InetAddress;
import com.google.api.translate.Language;
import com.google.api.translate.Translate;

public class Panslate {
  public static void main(String[] args) throws Exception {
    PrintStream out = new PrintStream(System.out, true, "UTF-8");
    Translate.setHttpReferrer(InetAddress.getLocalHost().getHostName());
    for (Language target : Language.values()) {
      if (target == Language.AUTO_DETECT) continue;
      String translatedText = Translate.execute(args[0],
                                                Language.ENGLISH,
                                                target);
      out.println(target + ": " + translatedText);
    }
  }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=80</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GHWT &amp; Rock Band MIDI Filter for Drums</title>
		<link>http://blog.fredricksen.net/?p=47</link>
		<comments>http://blog.fredricksen.net/?p=47#comments</comments>
		<pubDate>Sun, 06 Sep 2009 01:08:59 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>
		<category><![CDATA[Unsolicited advice]]></category>

		<guid isPermaLink="false">http://blog.fredricksen.net/?p=47</guid>
		<description><![CDATA[Mildly unsatisfied with my earlier, more obvious solution for using an electronic drum kit to play Guitar Hero World Tour (that is, just changing a few MIDI note settings), I&#8217;ve put together a solution I like better &#8211; a microcontroller which filters the MIDI signal between the drum kit sound module and the GHWT controller.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Mildly unsatisfied with <a href=http://blog.fredricksen.net/?p=37>my earlier, more obvious solution for using an electronic drum kit to play Guitar Hero World Tour (that is, just changing a few MIDI note settings)</a>, I&#8217;ve put together a solution I like better &#8211; a microcontroller which filters the MIDI signal between the drum kit sound module and the GHWT controller.</p>
<p>The advantages are these:</p>
<ul>
<li> The hi-hat pedal serves the proper function in the game, in that the pedal, rather than velocity, distinguishes an open from closed hi-hat hit.</li>
<li> No need to mess with the MIDI settings of the drum sound module (so it&#8217;s more portable &#038; flexible, and less invasive).</li>
<li>Cuter</li>
</ul>
<p>The drum sound module (Roland TD-3 in my case) feeds into a <a href=http://www.tigoe.net/pcomp/code/serial-communication/midi>MIDI IN circuit</a> connected to an Arduino microcontroller, which adjusts the MIDI data appropriately, then sends it on to MIDI out, where the GHWT controller is connected. This &#8220;appropriate&#8221; adjustment to which I refer is just the remapping of certain MIDI note numbers so that, for example, the yellow pad can be triggered by both the edge and the bell of the hi-hat. In addition, the velocity of just hi-hat hits is replaced with a value based on the position of the hi-hat pedal. The details of the necessary mappings are evident in the code below or in <a href=http://spreadsheets.google.com/pub?key=rhTRJkNu3FPxG8ZXJld0dFw&#038;output=html>yonder spreadsheet</a>.</p>
<p>Three AAA batteries provide power (held together with electrical tape, with heavy oven pan foil providing the electrical connections &#8211; changing the batteries will be a bit inconvenient). I was hoping it could be powered just by drum sound module through the MIDI IN connector, but there doesn&#8217;t seem to be enough current to power the circuit and the MIDI OUT. Or very possibly, I didn&#8217;t sufficiently isolate the MIDI IN circuit from the rest of the circuit; but this goes beyond my electronics knowledge. However, I did use the MIDI IN power to toggle a relay to switch on the battery power, thus saving me the trouble of switching it on, and, worse, forgetting to switch it off. As long as it is plugged into a switched-on drum module, it&#8217;s on. You just plug it in and forget it and that works beautifully.</p>
<p><img src=ghwt_filter_inside.jpg></p>
<p>The Arduino clone I used is an RBBB from Modern Devices, which is small enough to fit. I power the Arduino directly on the +5V bus (albeit with only 4.5V); thus the power jack and voltage regular can be omitted and trimmed off the board. I also left a bunch of other stuff off &#8211; all  that was needed were the two 0.1μF caps, the 10kΩ resistor, the resonator, the reset switch, the programming header, and the microcontroller chip (sans socket, to save room). This is connected to the other (MIDI, LED &#038; relay) circuitry via the programming header (plus one wire to pin D3).</p>
<p><img src=ghwt_filter_front.jpg></p>
<p>As is traditional with DIY electronics projects, it is housed, after some effort to miniaturize, in an Altoids tin. I did spray paint the tin orange for aesthetics. Also, it&#8217;s actually a Hershey&#8217;s Cacao Reserve tin, which is the same size, but doesn&#8217;t have &#8220;Altoids&#8221; stamped into the top, and has better tasting contents. A slightly larger container would be better, since with this one the MIDI cords have to be awkwardly plugged into the bottom of the tin.</p>
<p><img src=ghwt_filter_back.jpg></p>
<p>One LED shows that the board is powered up &#8211; I used a biggish 2.2kΩ resistor to dim it. Another LED indicates when note on/off messages are received, which is helpful for troubleshooting and looks cool. The brightness is proportional to the note velocity. One could add 6 LEDs in the appropriate colors to indicate notes on each controller pad, but I didn&#8217;t.</p>
<p>Here is a schematic:</p>
<p><a href=schematic.jpg><img src=schematic500.jpg></a><br />
(the resistor I forgot to label off of D3 is 220Ω.)</p>
<p>And here&#8217;s the Processing sketch (why in hell are they called &#8220;sketches&#8221; rather than programs?) that makes it all happen:</p>
<style>
pre { color: green; font-size: small; }
</style>
<p><code>
<pre>
// Read MIDI messages from a TD-3 drum cotroller, modify them for use with GHWT,
// and pass them thru
//
// Hookups:
// - MIDI in circuit on pin RX/D0 (&#038; +5V &#038; Gnd)
// - MIDI out circuit on pin TX/D1 (&#038; +5V &#038; Gnd)
// - LED on pin 13 and/or 3
//
// GHWT MIDI note numbers
// kick 	36  purple
// snare 	38  red
// hi-hat 	46  yellow
// hi tom 	48  blue
// ride 	49  orange
// low tom 	45  green

void setup() {
  Serial.begin(31250);  // MIDI uses this odd serial rate
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  pinMode(3, OUTPUT);
  digitalWrite(3, LOW);
}

// MIDI messages received are decoded into these globals (which isn't kludgey;
// it's the right thing to do, I hereby declare)
int midiStatus = 0;           // most recent status byte
int midiMessageOffset = 999;  // offset from status byte
int midiChannel;              // channel given in status byte
int midiMessageType;          // message type given in status byte
int midiNote;                 // note number in most recent note on/off

// Hi-hat velocities are determined by the pedal being open or closed, since
// that's usually what this represents in the game (but if velocity is
// zero, leave it alone)
int SOFT = 63;   // Half strength
int HARD = 127;  // Full strength

void loop() {
  if (Serial.available()) {

    int midibyte = Serial.read();

    ++midiMessageOffset;

    if (midibyte >= 0x80) {
      // Status byte
      midiStatus = midibyte;
      midiMessageOffset = 0;
      midiNote = 0;
      midiMessageType = midiStatus >> 4;
      midiChannel = midiStatus &#038; 0xF;
    }
    else if(midiStatus == 0x99 || midiStatus == 0x89) {
      // Percussion note-on or -off

      if (midiMessageOffset &#038; 1) {
        // Note number
        midiNote = midibyte;
        switch (midibyte) {
        case 22:  // hi-hat clsd, edge
        case 26:  // hi-hat open, edge
        case 42:  // hi-hat clsd, bow
        case 52:  // crash 2 edge
        case 57:  // crash 2 bow
          midibyte = 46;
          break;
        case 40:  // snare rim
          midibyte = 38;
          break;
        case 41:  // tom 3
          midibyte = 45;
          break;
        case 51:  // ride bow
        case 53:  // ride edge
        case 55:  // crash 1 edge
          midibyte = 49;
          break;
        }
      }
      else {
        // Velocity
        if (midiMessageType == 0x9 &#038;&#038; midibyte > 0) switch (midiNote) {
        case 22:  // hi-hat clsd, edge
        case 42:  // hi-hat clsd, bow
          midibyte = SOFT;
          break;
        case 26:  // hi-hat open, edge
        case 46:  // hi-hat open, bow
          midibyte = HARD;
          break;
        }
      }

    }

    Serial.write(midibyte);

    // Update an LED to show notes when we see the velocity byte
    if (((midiMessageOffset &#038; 1) == 0) &#038;&#038;
        (midiMessageType == 0x9 || midiMessageType == 0x8)) {
      // Light up the traditional pin D13 to show activity
      digitalWrite(13, (midibyte == 0 ||
                        midiMessageType == 0x8) ? LOW : HIGH);
      // ...and use pin D3 to indicate velocity by brightness
      analogWrite(3, (midiMessageType == 0x8) ? 0 : midibyte * 2);
    }
  }
}
</pre>
<p></code></small></p>
<p>I&#8217;ll mention that due to my poor soldering skills, plus the fact that I didn&#8217;t realize I had poor soldering skills, made this sucker take me a long time to put together and debug. Once I got in there with a loupe, the problem was evident. &#8220;Problems&#8221;, I should say.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Antipork</title>
		<link>http://blog.fredricksen.net/?p=43</link>
		<comments>http://blog.fredricksen.net/?p=43#comments</comments>
		<pubDate>Tue, 26 May 2009 18:31:24 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>
		<category><![CDATA[Found]]></category>

		<guid isPermaLink="false">http://blog.fredricksen.net/?p=43</guid>
		<description><![CDATA[I&#8217;ve got this blog right here. No one reads it. No one writes it. But I do get bots posting spam, which turns into notification spam, and which I must moderate away. So I installed wp-spamfree! Here&#8217;s hoping it works.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got this blog right here. No one reads it. No one writes it. But I do get bots posting spam, which turns into notification spam, and which I must moderate away. So I installed wp-spamfree! Here&#8217;s hoping it works.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real(ish) Drums for Guitar Hero World Tour</title>
		<link>http://blog.fredricksen.net/?p=37</link>
		<comments>http://blog.fredricksen.net/?p=37#comments</comments>
		<pubDate>Mon, 05 Jan 2009 18:07:38 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>
		<category><![CDATA[Unsolicited advice]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=37</guid>
		<description><![CDATA[I jumped through a lot of hoops to try to use my Roland V-Drums in place of the Rock Band drum controller, with unsatisfying results. Guitar Hero World Tour makes it awfully easy though &#8211; the controller has a MIDI IN port. If you plug it, it will play, but it can also be easily [...]]]></description>
			<content:encoded><![CDATA[<p>I jumped through a lot of hoops to try to use my Roland V-Drums in place of the Rock Band drum controller, with unsatisfying results. Guitar Hero World Tour makes it awfully easy though &#8211; the controller has a MIDI IN port. If you plug it, it will play, but it can also be easily be improved upon. In a nutshell, I mapped other pads so they could also be used, and, more importantly, mapped both the rim and head of each pad so you don&#8217;t have to hit a particular part to trigger.</p>
<p>I assigned the pads as illustrated here:<br />
<img src=/image/ghkit.gif></p>
<p>The perhaps controversial and/or innovative idea was to reverse the crash cymbals from the more obvious left-right configuration. I did this because orange is used for crashes when the right hand is on the hi-hat, and yellow is when the right hand is riding the ride, and in real life, you&#8217;d use the crash closest to hand. I&#8217;m trying to get as close to playing the actual drum part as possible here.</p>
<p>Whether to assign the middle tom to blue or green is matter of preference, I suppose.</p>
<p>To program my drum module, a Roland TD-3, I chose a kit I didn&#8217;t mind scrambling the MIDI numbers on, then hit <code>EDIT &gt; CONTROL</code> and arrowed to the note number setting. The settings are summarized here:<br />
<style> table, tr { margin-left: 1ex; }</style>
<table>
<tr>
<th>Pad Color
<th>Instrument
<th>MIDI Note
<th>MIDI Instrument</tr>
<tr>
<td>red
<td>snare
<td>38
<td>SNR:H02 SNR:R02</tr>
<tr>
<td>yellow
<td>hi-hat
<td>46
<td>HH:H03 HH:R03 CR2:H10 CR2:R10</tr>
<tr>
<td>blue
<td>hi tom
<td>48
<td>T1:H04</tr>
<tr>
<td>orange
<td>ride
<td>49
<td>RD:H11 RD:R11 CR1:H09 CR1:R09</tr>
<tr>
<td>green
<td>low tom
<td>45
<td>T2:H05 T3:H07</tr>
<tr>
<td>purple
<td>kick
<td>36
<td>KIK:H01</table>
<p>Note that you have to keep your foot off the hi-hat pedal. (Or unplug it.) (Or assign to note number 50 and always keep your foot on it.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=37</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Feeding Google Talk status into Twitter</title>
		<link>http://blog.fredricksen.net/?p=36</link>
		<comments>http://blog.fredricksen.net/?p=36#comments</comments>
		<pubDate>Mon, 10 Nov 2008 01:30:55 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Unsolicited advice]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=36</guid>
		<description><![CDATA[I don&#8217;t really get Twitter, or rather I only sort of do. I never got MySpace. I feel like I almost do now, but not quite. (Is it even still around?) I halfway get Facebook. I think email is great. Given all these facts you could probably calculate my exact age.
In any case, so that [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t really get Twitter, or rather I only sort of do. I never got MySpace. I feel like I almost do now, but not quite. (Is it even still around?) I halfway get Facebook. I think email is great. Given all these facts you could probably calculate my exact age.</p>
<p>In any case, so that I can use Twitter without ever getting it, I thought my Google Talk status messages should feed into Twitter. They can and it&#8217;s easy.</p>
<ol>
<li> In FriendFeed: [Share something] &rarr; [Import] &rarr; [Gmail/Google Talk]</p>
<li> In TwitterFeed (should the site happen to be up): [Create new twitter feed] using the URL <code>http://friendfeed.com/api/feed/user/<i>USERNAME</i>?format=rss</code>  Include the title only, do not include the link.
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beercan Volcano Kettle</title>
		<link>http://blog.fredricksen.net/?p=35</link>
		<comments>http://blog.fredricksen.net/?p=35#comments</comments>
		<pubDate>Sun, 28 Sep 2008 21:40:57 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=35</guid>
		<description><![CDATA[I&#8217;ve been playing with making alcohol-burning volcano-kettle-style cooksets out of aluminum drink cans.
>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing with making <a href=http://fredricksen.net/kettle/>alcohol-burning volcano-kettle-style cooksets</a> out of aluminum drink cans.</p>
<p><img src="http://fredricksen.net/kettle/300/k1_unwrapped.jpg" alt="Kettle One" />></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>~1oz Backpacking Cookset</title>
		<link>http://blog.fredricksen.net/?p=34</link>
		<comments>http://blog.fredricksen.net/?p=34#comments</comments>
		<pubDate>Sat, 09 Aug 2008 22:49:27 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=34</guid>
		<description><![CDATA[I made a solo backpacking cookset that weighs in at just over an ounce. Its the lightest one that I know of.
]]></description>
			<content:encoded><![CDATA[<p>I made <a href=/cookset/>a solo backpacking cookset</a> that weighs in at just over an ounce. Its the lightest one that I know of.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theoretical Limits of an Alcohol Stove</title>
		<link>http://blog.fredricksen.net/?p=33</link>
		<comments>http://blog.fredricksen.net/?p=33#comments</comments>
		<pubDate>Tue, 29 Jul 2008 16:10:24 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=33</guid>
		<description><![CDATA[I&#8217;ve been playing with different alcohol stoves (lightweight backpacking ones, that is). Building them, researching them, etc. My main goal is minimal fuel to boil one pint of water (using some lightweight cooking set). Boil time isn&#8217;t much of a concern for me.
The real competitor to alcohol stoves in terms of fuel weight are Esbit [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing with different alcohol stoves (lightweight backpacking ones, that is). Building them, researching them, etc. My main goal is minimal fuel to boil one pint of water (using some lightweight cooking set). Boil time isn&#8217;t much of a concern for me.</p>
<p>The real competitor to alcohol stoves in terms of fuel weight are Esbit stoves; they&#8217;ll boil a pint using a 14 gram fuel tablet, and can probably be marginally lighter than an alcohol cookset. (The negatives are filthier burning and the cost of the fuel.) So it&#8217;s my goal to boil a pint with 14g of alcohol (by which I mean ethyl alcohol). Ethyl alcohol (aka ethanol) has a density of 0.789 g/cm<sup>3</sup>, so that&#8217;s about 0.63 fluid ounces by volume. Quite doable, I&#8217;m sure, but I haven&#8217;t done it yet.</p>
<p>That got me thinking about the theoretical limit for a 100% efficient cookset. (And let me say right off the bat that I am not a chemist of any sort.) Alcohol burns per the reaction
<dd>
<code>C<sub>2</sub>H<sub>5</sub>OH(g) + 3 O<sub>2</sub>(g) → 2 CO<sub>2</sub>(g) + 3 H<sub>2</sub>O(l)</code></dd>
<p> releasing −1409 kJ/mol. Once calorie is 4.184 J, and the molar mass of ethanol is 46.06844 g/mol, so that&#8217;s 7310 cal/g of ethanol burned.</p>
<p>Meanwhile, a pint of water is 472g. A calorie is (by definition) the energy need to raise one gram of H<sub>2</sub>0 one degree Celsius. Let&#8217;s assume we&#8217;re at NIST standard temperature, or 20&deg;C (68&deg;F). At sea level, water boils at 100&deg;C; higher up, boiling point goes down, but so does the starting temperature around dinner or breakfast time, broadly speaking, so we shouldn&#8217;t be too terribly far off from what might happen up in the mountains. </p>
<p>In any case, to raise 472g of water 80&deg;C will take 37760 cal. A 100% efficient alcohol stove then would need 37760 cal / 7310 cal/g = 5.17g of alcohol fuel.  The stove I&#8217;m looking for (which will burn 14g), then, would be 37% efficient. Stoves that consume 1 fluid oz of alcohol, or 23.3g (a fairly common case), are 22% efficient.</p>
<p>There you have it &#8211; if you can boil a pint of water with 1/4 fl oz of ethanol, you&#8217;ve got a hell of a stove on your hands that&#8217;s getting close to the theoretical maximum efficiency.</p>
<p>(One minor wrinkle in all this is that the water produced by the combustion is liquid. I suspect that that water is inevitably vaporized during combustion, so that might need to be subtracted out of the energy produced by the combustion. If so, the heat of vaporization of water is 0.65 kJ/mol. Each mole of alcohol burned produces three moles of liquid water, so the net energy produced my burning ethanol would be 1409 kJ/mol &#8211; 3 * 0.65 kJ/mol, or 1407 kJ/mol. It&#8217;s pretty much a non-issue.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backpacking</title>
		<link>http://blog.fredricksen.net/?p=32</link>
		<comments>http://blog.fredricksen.net/?p=32#comments</comments>
		<pubDate>Sun, 13 Jul 2008 17:27:29 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Busywork]]></category>
		<category><![CDATA[Unsolicited advice]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=32</guid>
		<description><![CDATA[I&#8217;m off to the Olympics tomorrow for a 3-day (2 night) trip, my first solo. My goal is for an ultralight pack (]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m off to the Olympics tomorrow for a 3-day (2 night) trip, my first solo. My goal is for an ultralight pack (<10lbs per certain rules), but I guess I missed it by 3 lbs. <a href=http://spreadsheets.google.com/pub?key=puZR9SN-79LfLPy_IbPdfDQ>Here&#8217;s my comprehensive gear list</a> (with weights), and <a href=http://fredricksen.net/ulgear.html>here&#8217;s some thoughts about equipment choices</a> that cohered for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drum part for Tomorrow Never Knows</title>
		<link>http://blog.fredricksen.net/?p=31</link>
		<comments>http://blog.fredricksen.net/?p=31#comments</comments>
		<pubDate>Thu, 03 Apr 2008 23:50:08 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Unsolicited advice]]></category>

		<guid isPermaLink="false">http://fredricksen.net/b0lg/?p=31</guid>
		<description><![CDATA[The drum part for Tomorrow Never Knows (the Beatles&#8217; song &#8211; not the imaginary James Bond movie of the same name) runs thus:

Rd &#124;x---x---x---x---&#124;
Sn &#124;----o-----------&#124;
Tm &#124;----------oo----&#124;
Bd &#124;o-----o-o-------&#124;
   &#124;1 + 2 + 3 + 4 + &#124;
]]></description>
			<content:encoded><![CDATA[<p>The drum part for <i>Tomorrow Never Knows</i> (the Beatles&#8217; song &#8211; not the imaginary James Bond movie of the same name) runs thus:</p>
<pre>
Rd |x---x---x---x---|
Sn |----o-----------|
Tm |----------oo----|
Bd |o-----o-o-------|
   |1 + 2 + 3 + 4 + |</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.fredricksen.net/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
