<?xml version="1.0" encoding="utf-8"?>
        <?xml-stylesheet type="text/css" href="http://bbot.org/blog/styles/feed.css"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title>Filed under: Engineering | bbot's blog</title>
<atom:link href="http://bbot.org/blog/archives/engineering/index-rss.xml" rel="self" type="application/rss+xml" />
<link>http://bbot.org/blog</link>
<description>news, diary, journal, whatever</description>
<dc:language>en-us</dc:language>
<dc:creator>bbot</dc:creator>
<dc:date>2010-03-01T22:43:22-05:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />

<item>
<link>http://bbot.org/blog/archives/2010/02/24/insert_hdr_joke_here/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2010/02/24/insert_hdr_joke_here/index.html</guid>
<title>insert HDR joke here</title>
<dc:date>2010-02-24T13:41:38-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[    <p>
The latest thing to hit the internets is the <a href="http://en.wikipedia.org/wiki/Bloom_Energy">Bloom Energy</a> fuel cell.
After wading through some of the <a href="http://www.engadget.com/2010/02/24/live-from-the-bloom-box-press-event/">indecipherable bullshit</a> they've been spouting, I've learned a few things.</p>

    <p>
It's a <a href="http://en.wikipedia.org/wiki/Solid_oxide_fuel_cell">solid oxide fuel cell</a> made out of fused silica, or sand. They've really been playing this up, which is odd, as it's both fairly common, and somewhat pointless. The electrode still has to be coated with some rare earth metals to function, and Bloom isn't saying <em>which</em> metals.</p>

    <p>
They also talk up about how it's multi-fuel, which makes it ideal for third-world operations, but they haven't said a word about catalyst poisoning, where impurities in the feedstock render the catalyst inert. How have they solved that?</p>

	<p>
A slide that shows up about halfway through the presentation also seems to claim that the fuel cell is reversable, viz, can turn electricity and air into fuel. This seems to be at odds with reality, to put it lightly.</p>

    <p>
Their website delivers the usual <a href="http://bloomenergy.com/benefits/">incoherent nonsense</a>, of course. Firstly, all electrons <em>are</em> the same. If their <a href="http://en.wikipedia.org/wiki/Electric_charge">charge</a>, <a href="http://en.wikipedia.org/wiki/Spin_(physics)">spin</a> or <a href="http://en.wikipedia.org/wiki/Mass">mass</a> were different, then they <em>wouldn't be electrons,</em> you idiots. Secondly, it doesn't create electrons! That's not how electricity works! It <em>moves</em> electrons, it doesn't <em>add</em> them.</p>

    <p>
And finally, how is this green?</p>

    <p>
It's more efficient than a regular natural gas power station, especially if it uses <a href="http://en.wikipedia.org/wiki/Cogeneration">cogeneration</a> (which they don't mention, for some reason) but it still oxidizes hydrocarbons, and it still produces greenhouse gases. Sure, it may be cheaper or more reliable than wind or solar, but neither of those produce carbon dioxide!</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2010/02/01/why_would_they_even_put_renaissance_in_the_name/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2010/02/01/why_would_they_even_put_renaissance_in_the_name/index.html</guid>
<title>why would they even put &quot;renaissance&quot; in the name</title>
<dc:date>2010-02-01T00:47:06-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[    <p>
I attended the <a href="http://www.jigsawrenaissance.org/">Jigsaw Renaissance</a> <a href="http://en.wikipedia.org/wiki/Hackerspace">hacker space</a> open house on Saturday.</p>

    <p>
Shit was <em>nerdy</em>.</p>

    <p>
<a href="http://bbot.org/blog-images/jigsaw1.JPG"><img src="http://bbot.org/blog-images/jigsaw1-thumb.JPG"></a></p>

    <p>
Jigsaw is conviently located right next to a elevated highway, and on the wrong side of the tracks, in what can be described as the "gritty" part of town. It's perfect!</p>

    <p>
<a href="http://bbot.org/blog-images/jigsaw2.JPG"><img src="http://bbot.org/blog-images/jigsaw2-thumb.JPG"></a></p>

    <p>
The nerds are nerdy!</p>

    <p>
<a href="http://bbot.org/blog-images/jigsaw3.JPG"><img src="http://bbot.org/blog-images/jigsaw3-thumb.JPG"></a></p>

    <p>
The desks are poorly lit!</p>

    <p>
<a href="http://bbot.org/blog-images/jigsaw4.JPG"><img src="http://bbot.org/blog-images/jigsaw4-thumb.JPG"></a></p>

    <p>
The wiring is dangerously substandard! And the downstairs shop is entirely undocumented, since I completely forgot to take pictures of it!</p>

    <p>
For those of you who are not hip to the jive, or who didn't follow the wikipedia link in the first sentence, hacker spaces are essentially communes, but with machine tools. By becoming a member, I can build stuff I otherwise couldn't, especially now that I lack a garage.</p>

    <p>
It's pretty neat. I'll be posting about it more in the future.</p>

    <p>
(Unrelated: I wrote a script that automatically scales and uploads images, because I got tired of doing it manually. It's <a href="http://bbot.org/projects/thumbnailer.sh.html">here</a>, and is pretty neat, if I do say so myself.)</p>

<p><strong>Edit:</strong></p>

<p>I went back and got some pictures of the shop. Behold:</p>

<p><a href="http://bbot.org/blog-images/jigsaw5.JPG"><img src="http://bbot.org/blog-images/jigsaw5-thumb.JPG"></a></p>

<p><a href="http://bbot.org/blog-images/jigsaw6.JPG"><img src="http://bbot.org/blog-images/jigsaw6-thumb.JPG"></a></p>

<p><a href="http://bbot.org/blog-images/jigsaw7.JPG"><img src="http://bbot.org/blog-images/jigsaw7-thumb.JPG"></a></p>

<p>Beauty!</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2009/12/01/the_search_for_a_smart_clock/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2009/12/01/the_search_for_a_smart_clock/index.html</guid>
<title>the search for a smart clock</title>
<dc:date>2009-12-01T03:39:44-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering, Game Design</dc:subject>
<description><![CDATA[    <p>
<a href="http://bbot.org/blog-images/ybox.jpg"><img alt="assembled ybox2" src="http://bbot.org/blog-images/ybox-thumb.jpg"></a></p>

    <p>
This is a ybox2. It makes a pretty lousy alarm clock.</p>

    <p>
Of course, being a weird kinda guy, I have some weird requirements for an alarm clock.</p>

    <p>
The first problem is that my uncorrected eyesight is so terrible that I can't read 5 centimeter tall numerals from a distance of thirty centimeters. Once you move out of the nightstand form factor, things start getting Expensive. So I bought a couple of awesomely beefy LED numerals, which sat on my bench, unused, since I didn't have a power supply that could supply enough volts to light them.</p>

    <p>
Sparkfun makes a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=735">wall clock controller</a>, which is great, except that at the time it was expensive, was designed to run DIY 7-segment numerals, and used GPS as a time source, which is inconvenient for an indoor clock.</p>

    <p>
Today, however, it's a hundred dollars cheaper, would work great with regular LED 7-segment numerals, but now runs on an internal time source, which still isn't ideal because I refuse spend money on yet another clock that I have to manually set, and correct for daylight savings time. I hate daylight savings time, the pointless garbage that it is, and if I have to manually adjust yet another clock for it I'm going to have to start murdering.</p>

    <p>
As for setting the time, well, I'm just lazy.</p>

    <p>
Now, clocks for people too lazy to set them is a mature market, well served by clocks that can receive <a href="http://en.wikipedia.org/wiki/Radio_clock">NIST time signals</a> or more expensive ones that can <a href="http://www.google.com/search?q=gps+clock">receive</a> GPS time. But the problem here is that both of these are government services. Using these for time-keeping assumes that: the government will fund these for perpetuity, the government will always believe that it is in its best interests for its citizens to have accurate time, and that the government will exist.</p>

    <p>
Rather than depend on that dubious series of assertions, I would rather provide my own time standard, with the option of using another. Unfortunately for my wallet, these requirements are so narrow and oddly shaped that only <a href="http://en.wikipedia.org/wiki/Network_Time_Protocol">NTP</a> fulfills them. NTP is pretty damn lightweight, but it still requires a full PC to run.</p>

    <p>
Embedded-formfactor computers with real linux support are esoteric, and therefore expensive. But I've got full-size computers all over the place, which only my sense of aesthetics preventing me from using one to run a clock.</p>

    <p>
There is also the <a href="http://www.ladyada.net/make/ybox2/">ybox2</a>. It's based around an eight core (!) microprocessor, uses any television with a composite video input as a display, and the default widget is a clock, which suggestively "gets its time from a Navy timeserver". But can a microprocessor run a full implementation of the NTP client?</p>

    <p>
That's an excellent question, one I answered by purchasing it.</p>

    <p>
The ybox2, like the ybox before it, is designed around the <a href="http://www.parallax.com/tabid/407/Default.aspx">Parallax Propeller</a>, an 8 cored, 80mhz microprocessor, like a mini-<a href="http://en.wikipedia.org/wiki/Cell_processor">Cell processor</a>. That's the good news. The bad news is that it has a phat <em>32 kilobytes</em> of ram, making it more of a <em>crippled</em> Cell processor. Parallax makes great hay about the Propeller being a 32-bit processor, which is curious, since 32-bit architectures are mostly used for their ability to easily access larger amounts of ram.</p>

<p>
In addition, the ybox2 is designed to fit in an Altoids tin. That's cool, I'm down with the curiously strong mint, except the Propeller and the ethernet driver are both DIP chips, and are thus long and skinny. In order to get everything to fit, the cables attach at <a href="http://www.ladyada.net/images/ybox2/ybox.jpg">either end</a> of the device, a profoundly awkward form factor for a set top box.</p>

<p>
The pseudo-NTP alarm clock widget, alarmclock.spin, the reason I bought the ybox2, manages to fit a networking stack, a HTTP client, a HTTP <em>server</em>, the actual clock code, and a twinkly little LED throbber all in 32 kilobytes of ram, a miracle of efficient coding. It also features the most egregiously ugly hack I've ever seen in a piece of commercial software.</p>

<p>
You see, alarmclock.spin doesn't use NTP to set its clock. That's disappointing, since that's its reason for existence, but NTP isn't really meant for embedded hardware like the ybox2. Unfortunately, it doesn't implement Simple NTP either, which <em>is</em> meant for embedded hardware like the ybox2. It doesn't implement <a href="http://en.wikipedia.org/wiki/TIME_protocol">TIME</a> or <a href="http://en.wikipedia.org/wiki/DAYTIME">DAYTIME</a>, either.</p>

<p>
<em>Well just how does it set its clock, then?</em></p>

<p>
Good thing you asked, italics man! You see, first it sends a HTTP 1.0 request to tycho.usno.navy.mil. Not HTTP 1.1, since the ybox2 doesn't implement all of TCP. Well, actually, it sends that request to 199.211.133.239, which is hard-coded in alarmclock.spin, since it doesn't support DNS either.</p>

<p>
The file it requests from 199.211.133.239 is /cgi-bin/timer.pl, which alarmclock.spin then <em>screenscrapes</em> for the UTC time, which it applies the time zone offset to.</p>

<p>
<em>Wow.</em></p>

<p>
Wow indeed, italics man. Let's list the ways this could break.</p>

<ol>
<li>Tycho could change its IP address.</li>
<li>Tycho could stop accepting HTTP 1.0 connections.</li>
<li>Tycho could stop accepting connections from clients with ybox2's user agent</li>
<li>Tycho could move timer.pl, or delete it entirely.</li>
<li>Timer.pl could display its timestamp in such a way that alarmclock.spin couldn't extract it anymore.</li>
<li>Someone could execute alarmclock.spin's author for crimes against software engineering, resulting in,</li>
<li>The ybox being eradicated from the timestream through retroactive causation.</li>
</ol>

    <p>
So, the ybox ain't a NTP clock, and never will be one, without porting NTP to it entirely, which sounds like Work.</p>

    <p>
The search continues!</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2009/11/17/fragmented_viewing/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2009/11/17/fragmented_viewing/index.html</guid>
<title>fragmented viewing</title>
<dc:date>2009-11-17T12:42:44-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering, Game Design</dc:subject>
<description><![CDATA[    <p>
In my never-ending quest to find the game with the stupidest title possible, I've been playing a little <a href="http://en.wikipedia.org/wiki/Shattered_Horizon">Shattered Horizon</a>. Two word verdict: Not bad!</p>

    <p>
<a href="http://bbot.org/blog-images/horizons-ring.png"><img alt="Some rocks in Shattered Horizon" src="http://bbot.org/blog-images/horizons-ring-thumb.png" /></a><br />
(It's set in outer space.)</p>

    <p>
That is, the <em>game</em> is not bad. The title, Shattered Horizon, is balderdash. A horizon is the line between the sky and the ground. Like a rainbow, it is non-physical, but the result of physical objects. There is no meaningful way a horizon could be "shattered".</p>

    <p>
Boo. Boooooooo.</p>

    <p>
They could have invested a modicum of meaning in the title,* since the game takes place in space, and there is no horizon, just like in your <em>mind</em>, man; but they didn't.</p>

    <p>
*: Speaking of Significant Titles, <a href="http://www.amazon.com/gp/product/0812536363?ie=UTF8&tag=bbotorg-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0812536363">Rainbows End</a><img src="http://www.assoc-amazon.com/e/ir?t=bbotorg-20&l=as2&o=1&a=0812536363" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by world class hard science fiction writing bad ass motherfucker Vernor Vinge. Looks like a typo, isn't! You should buy it, right now, from that link.</p>

    <p>
Horizon is, of course, made by Futuremark. Erudite, but not <a href="http://www.answers.com/topic/au-courant">au courant</a>, nerds will now be going "Huh".</p>

    <p>
You see, Futuremark, for the last ten years, has been making a series of 3D graphics benchmark suites, starting with the venerable 3Dmark99. Since this essentially entails building video games that don't have controls, and is inherently hard to make money doing, as there are a limited number of hardware review sites to sell enterprise versions to, the natural next step is to make actual, functioning, games.</p>

    <p>
If you subscribe to the <a href="http://bbot.org/blog/archives/2009/11/12/claptrap_mo_like_craptrap/index.html">odious practice</a> of describing video games in terms of "like x, crossed with y", then you would probably go on to call Horizon "like Descent, crossed with TF2". You're a guy with a gun, fighting over control points, in a team of identical guys, but you fly in three dimensions, and don't have voice chat.</p>

    <p>
That's right, Futuremark's complete lack of experience shows in the many little things they get wrong. There's no voice chat, no voice <em>binds</em>, and no chat history. There are, in fact, two different global chat dialogs, one during the pre-mission briefing which occurs in a unmovable dialog box that covers up part of the briefing screen, and one during the game proper. Hilariously, the in-game chat dialog is a single &gt;, which is all that appears to notify you that the game has stolen input focus, resulting in a lot of lines consisting entirely of "wwwwwwwwwwwwwwwwwwwwwwwwwwwsdasdwadddd".</p>

    <p>
Futuremark, flaunting their experience with making graphical demos, is really over-fond of fiddly UI bits. Little bitmap <a href="http://www.scifi-meshes.com/tutorials/norling/greeble/greeble.html">greebles</a>, and boy are they annoying. Everything is very fancy looking, and not very usable.</p>

    <p>
The escape menu, for instance, is presented as a screen on your left wrist, and when you hit escape, your avatar brings it up to look at it, which takes maybe 300 milliseconds. This is mildly annoying, but also improves immersion, so we'll call it a wash.</p>

    <p>
But most of the time you want to adjust settings, you're already dead, in spectator, and thus have no wrist! When you're spectating, it's a completely different, conventional menu, that pops up instantly.</p>

    <p>
Contradictory UI elements! Yeah! I fucking <em>love</em> those!</p>

    <p>
Horizon also has interesting demographics. I was playing Moonrise with three other people, and sucking hard, since I kept stopping every five minutes to take notes. When they weren't mocking my ineptitude, the topic of age came up. The ages of those on the server? 49, 41, 40, and 21. Yeah, I'm a rebel. But definitely not your usual Xbox Live crowd.</p>

    <p>
Speaking of noise, Horizon almost gets <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/SpaceIsNoisy">sound in space</a> right. <em>Almost.</em> Explosions are noisy, but they employ the standard dodge that these noises are generated by a situational awareness system, and then lets you <em>shut it off</em> to run silently, and not show up on the IFF system, just like in Mechwarrior 2.</p>

    <p>
Yes!</p>

    <p>
When running silently, your HUD is disabled, and all you hear is the beating of your heart. Most notably, you don't hear the clanking of your boots when you're attached to a surface, the sound of the suit's ventilation system, the sound of your Orbital Manovering System jets, or the report of your gun.</p>

    <p>
...No!</p>

    <p>
Guys! All these things are bolted to your suit, which, in turn, is surrounded by a perfect insulator. They are going to not only be audible, but positively noisy. I love the subversion of this ancient trope, but you took it too far!</p>

    <p>
You could make a case for your rifle not being as loud, but there is no plausible explanation for the lack of fan and OMS noise.</p>

    <p>
The silent running mode also exposes some inconstancy in game design. While in silent running mode, you can, of course, still maneuver, since it would be pretty useless otherwise. This can be handwaved by saying that the OMS system has physical controls, and is not fly-by-wire.</p>

    <p>
But while the suit is booting up right after respawn, and while incapacitated by an EMP grenade, OMS and Attitude Control Systems are impaired, and function erratically. So which one is it? Are they controlled by computer or not?</p>

    <p>
Even better, while silent running, your OMS jets don't give off light, as they do when the computer's on. This is probably supposed to make it easier to sneak up on people, but it doesn't make any fucking <em>sense</em>.</p>

    <p>
Even worse, recoil from the assault rifle doesn't produce <a href="http://en.wikipedia.org/wiki/Newton's_laws_of_motion">an equal and opposite force</a>! Man! That would have been <em>so neat</em>, you guys.</p>

    <p>
<a href="http://bbot.org/blog-images/horizons-ship.png"><img alt="Some rocks in Shattered Horizon" src="http://bbot.org/blog-images/horizons-ship-thumb.png" /></a><br />
(Seriously, outer space. Rocket ships and everything.)</p>

    <p>
Horizon also limits player velocity. This is because physics is inconvenient, and I've given up hope on it being depicted realistically in anything but a straight up simulator.</p>

    <p>
The problem is that any thruster that accelerates quickly enough to not feel annoyingly slow and unresponsive will, thanks to v=at, result in very high velocities, very quickly. This is <em>amusing</em>, but tends to result in players, used to friction, zooming off the playable map, and being killed by the border. Not fun.</p>

    <p>
The way Horizon implements its speed limit is annoyingly incorrect. You can accelerate up to the speed limit, then coast (correct) but thrusting any more doesn't do anything. (wrong) If you're trying to handwave the speed limit as a safety measure imposed by the suit's computer, then it would shut <em>off</em> the thrusters when the speed limit was reached.</p>

    <p>
More annoying is the implementation of "sprinting". Like every other FPS in the last decade, you can sprint for a limited time, denoted by your "boost" meter, and like those FPSes, your avatar holds his gun at port arms while sprinting.</p>

    <p>
Except, he isn't <em>doing</em> anything. It's the suit's OMS system thrusting, there's no reason you couldn't continue to fire.</p>

    <p>
And, of course, when you run out of "boost", you slow back down to the normal speed limit.</p>

    <p>
No. <em>Wrong</em>.</p>

    <p>
It would be possible to handwave the speed limit creatively. Say, you're assaulting the enemy base, and your side's hackers have disabled the defenses, but didn't notice how they tie into the asteroid detection system, so the guns will vaporize anything above a certain speed. When behind cover, you <em>can</em> exceed the speed limit, but moving out of cover will then get you killed.</p>

    <p>
See? <em>That's</em> how you justify a technical limitation.</p>

    <p>
Let's take a short break here, and talk about <em>motherfuckers.</em></p>

    <p>
The reason for this digression into profanity is that, halfway through through writing this post, I lost internet access. As you <a href="http://bbot.org/blog/archives/2009/05/03/wie_ich_isps_hasse/index.html">may already know</a>, I recently switched ISPs. Worldlink, the new ISP, is actually a <a href="http://en.wikipedia.org/wiki/Common_carrier">common carrier</a> provider. They lease the telephone lines from Verizon, the local <a href="http://en.wikipedia.org/wiki/Baby_bell">baby bell</a>, and resell it to consumers. This is actually win-win, since Verizon gets less of my money, and I get to sign up for DSL service by walking into the Worldlink office and talking to Rick Kunekel, a p. cool guy who doesn't afraid of anyone; even if he does use MSIE, for shame.</p>

    <p>
The downside of this arrangement is that when there is a problem with the equipment, it has to be communicated to Verizon, <em>through</em> Worldlink. This is... slow.</p>

    <p>
During the eternity I was without internet access, I was also without access to my collection of PC games. This is because I have, ever so foolishly, placed my trust in Steam. Steam, as it turns out, really wants an internet connection. The "go offline" button is a ruse, designed to entrap the unwary, and in actual fact, does nothing at all.</p>

    <p>
Valve, I would really have liked to be able to use the hundreds of dollars of software I have bought from you, while I was offline. That would have been so great. It would have been just <em>awesome.</em></p>

    <p>
Instead your piece of shit DRM-infested malware informed me that going offline was an operation that required an internet connection.</p>

    <p>
Wow. That's some great design.</p>

    <p>
When the problem was finally communicated to Verizon, and the great slumbering beast of its bureaucracy was roused into action, it was determined that line conditions were such that they could not support the speeds that I was using. A curious conclusion, as I had been using those speed for six months now, without complaint. In any event, I was to be moving soon, and any internet access is better than no internet access.</p>

    <p>
He said, confidently, before he actually used the slowed internet connection in question. Slowed, from 8/768, to 2/128. 128 kilobits per second! Yeah! It's 2002, all over again!</p>

    <p>
What was I talking about? Oh yes, dem <em>vidya gaems</em>.</p>

    <p>
Horizon has regenerating health, like all my favorite games. This is.... reasonable, considering the setting, but I wish there had been more done with the damage model. There is positional damage, with faceplace and tank hits being instant kills, but no progressive impairment, (get shot in a RCS cluster, and you can no longer turn right) which is unfortunate.</p>

    <p>
Another thing made conspicuous by its absence is a laser rifle.</p>

    <p>
Space is pretty much the only environment where laser weapons make sense, thanks to our accursed atmosphere, with some exceptions. The rifle can zoom in, but makes an utterly shitty sniper rifle, thanks to plenty of scope wobble, and recoil that's modeled as a permanent deflection from the aimpoint, rather than a transient one. They probably had a reason for doing it this way, rather than the standard sighting model, and boy, it better have been a good one.</p>

    <p>
A laser rifle would have unlimited range and hit instantly, but would cycle slowly, and be vulnerable to heat buildup. (Plus, frikken laser beams! Pew pew!)</p>

    <p>
Heat management would be another easy addition. Getting rid of waste heat in space is a big engineering problem, as any foole with a thermos knoe, a vacuum is a lousy conductor of heat. You do a lot of things that should produce a lot of heat in Horizon, such as conducting OMS burns, firing weapons, and floating around in direct sunlight.</p>

    <p>
A neat design tradeoff here would be to reduce cooldown while illuminated by the sun, and <em>increase</em> it when you're standing on a solid surface. (Radiators in the soles of the boots, being held in direct contact with the surface by the "align to surface" magnets, could dump a lot of heat via conduction) Silent running mode, would, of course, shut off the cooling system entirely, dramatically limiting how long you could stay silent, depending on how much heat you generate.</p>

    <p>
<em>Wait a minute, here. Positional damage? Lasers? Heat management? This sounds like another Mechwarrior game.</em></p>

    <p>
Really? Gee, <a href="http://www.penny-arcade.com/comic/2007/05/18/">that's funny.</a></p>

    <p>
They also neglected to include suit leaks, mystifyingly. The whistle of a slow leak in your space suit, while you're trapped outside in the vacuum of space, is one of the most evocative situations in science fiction, and they didn't put it in their astronaut shooter. Man!</p>

    <p>
There is a general lack of connection to the suit. You can't hear its ventilation system, you fly through dust clouds without getting the faceplate dusty, there's no glare through the helmet, etc.</p>

    <p>
Horizon should feel like hairless monkeys piloting millions of dollars worth of fragile shell from rock to rock, and dying horribly when that shell is damaged in even the slightest way.</p>

    <p>
Instead, it's got the soul of a very generic FPS, set in an extraordinary location.</p>

    <p>
And that's terrible.</p>

    <p>
But it is not horrible. Horizon is a very good first step, rough and unpolished, but hinting at the overly stretched metaphorical staircase to come. The purely hypothetical sequel will be awesome, (Think of the possibilities. More than one gun! More maps! Classes! Vehicles! Deployables!) but as it stands now, Horizons is merely very good.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2009/07/26/testing_a_battery_pack_like_a_man/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2009/07/26/testing_a_battery_pack_like_a_man/index.html</guid>
<title>testing a battery pack like a man</title>
<dc:date>2009-07-26T01:00:06-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[<p><code><a href="http://bbot.org/blog/archives/2009/07/25/talking_the_talk_vi/index.html">Blogathon 2009</a> wordcount: 1397</code></p>

    <p>
About a year ago, shortly before I quit my job at lowes, I bought an <a href="http://www.batteryspace.com/index.asp?PageAction=VIEWCATS&Category=849">electric bike kit</a>,[*] since I was, at the time, commuting to work by bicycle, and thought commuting to work by <em>electric</em> bicycle a splendid idea. Once unemployed, my enthusiasm for spending money to commute faster to a job I no longer had held little appeal, and the batteries disappeared into a box in the next move. They remained in that box for the next year, until it occured to me that I really shouldn't have left lead-acid batteries flat for so long, and embarked on a frantic search for them.</p>

    <p>
*: When I bought it, you could just buy the motor and controller by themselves, but apparently batteryspace has started bundling their battery packs with the motors. I couldn't recommend buying from them before, and I certainly can't now.</p>

    <p>
      Sure enough, when I found them and hooked them up to the charger, it charged for a good five seconds before reporting that the pack was completely charged, which meant, either that the pack was <a href="http://en.wikipedia.org/wiki/Sulfation">sulfated</a> and now had bugger all capacity, or that the charger was broken.</p>

    <p>
Fortunately I had a 8 ohm power resistor on hand. Since I=V/R, that means the resistor would draw 4.5 watts at 36 volts, well within the pack's discharge limit, but not so light that it takes forever to run down.</p>

    <p>
Unfortunately, the power resistor is only rated to 20 watts, and I'll be running 140-odd through it, which would be a problem if resistors went pop and stopped working as soon as you exceeded their power rating. Fortunately, resistors can handle substantially more power with heroic cooling.</p>

    <p>
Baby, I'm an overclocker.</p>

    <p>
<a href="http://www.youtube.com/watch?v=_sarYH0z948">(puts on sunglasses)</a></p>

    <p>
Heroic cooling is what I <em>do</em>.</p>

    <p>
<img src="http://bbot.org/blog-images/battery-testing-setup.jpg" /></p>

    <p>
The setup is the battery connected to the terminal strip through some Anderson Powerpole connectors, then to the power resistor, with the two 16 gauge wires connecting it to the multimeter.</p>

    <p>
<img src="http://bbot.org/blog-images/battery-testing-water.jpg" /></p>

    <p>
The resistor itself is suspended in approximately 500 ml of water, which should have enough mass to keep from boiling over the half hour or so it'll take to discharge the pack, not that a mere 100C would damage the resistor.</p>

    <p>
Following the <a href="http://pipeline.corante.com/archives/2009/01/23/the_real_hazards_of_the_lab.php">advice</a> of Derek Lowe, I considered the very worst case scenario of my test setup. That would be a internal short and resultant lead metal fire. Thus, two fire extinguishers,</p>

<img src="http://bbot.org/blog-images/battery-testing-extinguishers.jpg" /><br /><br />

and a nearby door, for running away.<br /><br />

Thus equipped, I sat down with my trusty pocket-watch, and, for the next twenty-three minutes, wrote down numbers. The results!<br /><br />

<a href="http://bbot.org/blog-images/battery-testing-voltage-graph.png"><img src="http://bbot.org/blog-images/battery-testing-voltage-graph-thumb.png"></a><br />
And the <a href="http://bbot.org/blog-images/data.ods">raw data</a> [7.4 KiB .ods].<br /><br />

You can tell that it's real science, because the data is so ugly.<br />

    <p>
Unfortunately, I terminated the test at 10.55 cell voltage, having forgotten that the datasheet graph, at a equivalent discharge, ran the cells down to 9 volts.</p>

    <p>
This makes it impossible to calculate the real capacity of the battery with any precision, but a rough estimate puts it at 120 amp-hours, well above what would be considered "dead", and pretty close to its original capacity. Science!</p>

    <p>
<img src="http://bbot.org/blog-images/battery-testing-hotwater.jpg" /></p>

    <p>
The water heat sink got fairly warm (~45-50C) nucleated bubbles on the interior of the glass, and gently steamed, (which I utterly failed to photograph) but otherwise worked perfectly.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2009/05/24/small_iron_ii/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2009/05/24/small_iron_ii/index.html</guid>
<title>small iron II</title>
<dc:date>2009-05-24T07:58:31-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[    <p>
<code>Small Iron: <a href="http://bbot.org/blog/archives/2009/02/15/small_iron/index.html">I</a>, II</code></p>

    <p>
Build post! Before I get started, I'd like to explain the fairly stupid pun behind the name.</p>

    <p>
I name my computers after elements, after the venerable <a href="http://hacks.mit.edu/Hacks/by_year/1993/w20_elements/">MIT hack</a>. Nitrogen was the dual athlon box, Magnesium was the athlon X2 box, and so the next box had to be a heavier element. I picked Iron, because it would be like <a href="http://everything2.com/title/big%2520iron">Big Iron</a>, only <em>small</em>.</p>

    <p>
Sorry.</p>

    <p>
All right, let's kick this off with a glamour pic of the components.</p>

<a href="http://bbot.org/blog-images/smalliron-1.jpg"><img src="http://bbot.org/blog-images/smalliron-1-thumb.jpg"></a>

    <p>
The specs are (before overclocking):</p>

<ul>
      <li>Intel Core i7 920 2.67 ghz.</li>
      <li>Radeon 4870</li>
      <li>Patriot Viper 6GB DDR3 PC1600</li>
      <li>Cheapest 1 terabyte 7k RPM SATA2 drive I could find.</li>
      <li>Corsair CMPSU-650TX PSU</li>
      <li>Then a wireless mouse and keyboard, an external drive box, the motherboard, freebie flash drive, etc.</li>
</ul>

    <p>
The 650TX is the little bother to the 750TX, but still comes with <a href="http://dansdata.blogsome.com/2008/05/08/a-tale-of-two-power-supplies/">the amusing velvet carrying bag</a>.</p>

<a href="http://bbot.org/blog-images/smalliron-2-moved.jpg"><img src="http://bbot.org/blog-images/smalliron-2-thumb.jpg"></a>

    <p>
The 920 is surprisingly weighty, thanks to the integrated heatspreader, as well as its hilarious price. As any hardware nerd will know, the Core i7 uses the <a href="http://en.wikipedia.org/wiki/Socket_B">LGA 1366</a> "socket", which puts the pins on the motherboard, and you flip the arm to press them against pads on the CPU. It's a <em>really</em> zero insertion force socket, since there's no insertion being done, more of an <em>aligning</em>. Plus, it's shiny.</p>

<a href="http://bbot.org/blog-images/smalliron-3.jpg"><img src="http://bbot.org/blog-images/smalliron-3-thumb.jpg"></a>

    <p>
It also comes with an amusingly beefy heatsink.</p>

<a href="http://bbot.org/blog-images/smalliron-4.jpg"><img src="http://bbot.org/blog-images/smalliron-4-thumb.jpg"></a>

    <p>
Looking back on the progression of ever-larger stock heatsinks, (My Pentium 133, way back in 1995, used a <em>passive</em> heatsink.) it occurs to me that eventually Intel or AMD is going to hit the limits of air cooling, and have to move to some water or heatpipe solution, that is, if Moore's Law <a href="http://www.antipope.org/charlie/blog-static/2009/05/login_2009_keynote_gaming_in_t.html">doesn't run out first.</a></p>

    <p>
Speaking of physical limits, here's a good shot of the <a href="http://www.dansdata.com/io011.htm">wiggly traces</a> around the socket designed to synchronize signals to the northbridge, thanks to that tricky speed of light.</p>

<a href="http://bbot.org/blog-images/smalliron-5.jpg"><img src="http://bbot.org/blog-images/smalliron-5-thumb.jpg"></a>

    <p>
Assembly was completely unremarkable, except that iron was somewhat balky at booting from the dvd drive, requiring several reboots, and refusing outright to recognize the eSATA box, requiring the drive to be plugged in directly.</p>

<a href="http://bbot.org/blog-images/smalliron-6.jpg"><img src="http://bbot.org/blog-images/smalliron-6-thumb.jpg"></a>

    <p>
Installation of 64-bit Vista was similarly unremarkable, except for missing drivers for the onboard NIC, which had to be installed from the provided driver disk, if you can imagine such a thing.</p>

    <p>
Steam was slightly more problematic, since I didn't bother to copy it over from magnesium; and thus installed everything from scratch. Steam, for future reference, when I say "pause updating", I mean, "stop saturating my connection you jackass, I'm trying to <a href="http://www.teamfortress.com/sniper_vs_spy/">murder strangers with knives</a>."</p>

    <p>
This does not mean "pretend to stop updating, then start again after I alt+tab back into tf2". This also does not "stop updating, then refuse to start again", you <em>bastard infernal machine</em>.</p>

    <p>
Block one is complete, block two will be proof testing of mineral oil immersion cooling and radiator cooling, block three will be as outlined in <a href="http://bbot.org/blog/archives/2009/02/15/small_iron/index.html">the original post</a>, and block four, if there's enough time, will be TEC cooling of the CPU. My deadline is September 4th (ISO 8601: 2009/09/04) so I can take it to <a href="http://www.pennyarcadeexpo.com/">PAX's</a> BYOC event, though I'll want it to be done before that, for promotion purposes.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2009/02/15/small_iron/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2009/02/15/small_iron/index.html</guid>
<title>small iron</title>
<dc:date>2009-02-15T08:42:14-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[So, a while ago I read this article on Rock Paper Shotgun concerning PC gaming in Japan. Money quote:

<blockquote>Now consider that most PCs are not only hideous and huge, but hot and noisy too. They've got the feng shui of land mines.</blockquote>

Oh yeah? Not on <em>my</em> watch!<br /><br />

But what can we do to get PC power in a console form factor?<br /><br />

Well, for one, we can cheat.<br /><br />

<img src="http://bbot.org/blog-images/xbox-psu.jpg"><br /><br />

All the modern consoles use offboard power supplies, an extraordinarily cunning method of offloading the bulky and hot-running power supply circuitry. But we can go further, since the console manufacturers are limited by cost and practicality, while our hypothetical showboat console-like PC is not.<br /><br />

For one, consoles have to have a disc drive, since their business model is predicated on selling pieces of plastic. But that's wasted space, and a significant source of noise, if you run games off the hard drive using various digital distribution methods. And while we're at it, put the hard drive at the end of a eSATA cable, with the power supply.<br /><br />

The other source of noise is the cooling fans, which can be gotten rid of by watercooling the CPU and GPU, and putting the radiator with the power supply and the hard drive.<br /><br />

This doesn't leave a whole lot of computer left, pretty much just the motherboard, processor, memory, and video card. With a <a href="http://www.orbitmicro.com/global/pciexpressx16rightanglerisercardbsideconnectorheight105-p-738.html">right angle pci-e riser card</a> on the graphics card, and low-profile waterblocks throughout, (you could even use direct immersion cooling, and eliminate the vent holes) it would be a fairly small, streamlined package; smaller, and with several times the performance of any of the current generation consoles.<br /><br />

Anyway, just a thought I had.]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2008/11/29/teardown_ta-954tt_field_telephone/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2008/11/29/teardown_ta-954tt_field_telephone/index.html</guid>
<title>Teardown: TA-954/TT Field Telephone</title>
<dc:date>2008-11-29T01:28:07-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[A while ago I got the idea of putting a bluetooth headset in a field radio handset, ala the venerable <a href="http://staticfree.info/projects/retro_bt_handset/">staticfree hack</a>, or the <a href="http://www.thinkgeek.com/gadgets/cellphone/8928/">thinkgeek version</a>, but far classier.<br /><br />

Procuring a <a href="http://www.milspec.ca/radaccs/raccspec.html#h350">H350/U</a> handset (the only one that can act like a full-duplex handset) off of ebay was <a href="http://shop.ebay.com/items/_W0QQ_dmptZBluetoothQ5fWirelessQ5fProducts?_nkw=H350+handset&_sacat=0&_fromfsb=&_trksid=m270&_odkw=H-350%2FU&_osacat=0">fairly easy</a>, but the handset turned out to be an impossible to hack brick of plastic. Lacking the testicular fortitude to take a dremel to my brand new fancy military handset, I considered chopping the plug off the cord, and splicing in a headset.<br /><br />

Unfortunately, the H350/U comes with this great metal plug, which was just too neat to throw away. <br /><br />

<a href="http://bbot.org/blog-images/plug.jpg"><img src="http://bbot.org/blog-images/plug-thumb.jpg"></a><br /><br />

Sockets, however, are essentially impossible to buy by themselves. It would just be easier to... teardown a compatible field telephone.<br /><br />

<a href="http://bbot.org/blog-images/phone-front.jpg"><img src="http://bbot.org/blog-images/phone-front-thumb.jpg"></a><br /><br />

You gaze, mortal, upon the TA-954/TT Digital Non-Secure Voice Terminal. The plan here is to recover that neat-looking keypad,<br /><br />

<a href="http://bbot.org/blog-images/phone-back.jpg"><img src="http://bbot.org/blog-images/phone-back-thumb.jpg"></a><br /><br />

and, of course, the six-pin socket.<br /><br />

<a href="http://bbot.org/blog-images/phone-open.jpg"><img src="http://bbot.org/blog-images/phone-open-thumb.jpg"></a><br /><br />

Working on military equipment is interesting. Unlike consumer electronics, military designers acknowledge that their products will be used by men in sandy countries who will be shot at occasionally, and design accordingly. None of the screws are hidden under stickers, and they all thread into brass inserts. Nice.<br /><br />

The electronics are protected from environmental incursion by an amusingly convoluted seal, which is lubricated with an amazingly tenacious grease. On the left, we have all the interface electronics, with the main board and line terminals on right.<br /><br />

The interface electronics are pretty standard. The round thing's the ring speaker, the rectangular board on the upper left might be some sort of hangup sensor, the pots on the upper right are volume controls.<br /><br />

Lower middle is the keypad, which appears to be secured with four (metric) nuts, then glued down. Lower right is a visual ring indicator.<br /><br />

The main board is somewhat more interesting.<br /><br />

<a href="http://bbot.org/blog-images/phone-board.jpg"><img src="http://bbot.org/blog-images/phone-board-thumb.jpg"></a><br /><br />

Close up:<br /><br />

<a href="http://bbot.org/blog-images/phone-board-detail.jpg"><img src="http://bbot.org/blog-images/phone-board-detail-thumb.jpg"></a><br /><br />

Good old 1980s electronics, with lots and lots of discrete elements. Everything coated with a waterproofing/anticorrosion varnish, except for the enormous microcontroller. The main board talks to everything else through a locking 40-pin ribbon connector. Pressure equalizer upper right.<br /><br />

Looking over the board, I don't see RF shielding or <a href="http://en.wikipedia.org/wiki/Opto-isolator">optoisolators</a>, which means that they didn't even bother to EMP harden this. Fair enough, since in operation the field telephone would be connected to hundreds of meters of telephone cable.<br /><br />

Unfortunately for our ostensible goal, the socket (visible in the first shot) appears to be molded into the case, impossible to liberate without extensive surgery. Guess I'll try my hand at splicing a field telephone cable. (Just, you know, in case I need a fully functioning field telephone at some point in the future)]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2008/06/22/brains_and_memory_diamond/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2008/06/22/brains_and_memory_diamond/index.html</guid>
<title>brains and memory diamond</title>
<dc:date>2008-06-22T02:50:28-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[So I was browsing the <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/Tropes">tvtropes wiki</a>, when I came upon a line in <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/MisappliedPhlebotinum">Misapplied Phlebotinum</a>.<br />

<blockquote style="padding:4px;background-color:#f1f1f1;border:1px solid:#ccc">Sure, for a macro-scale device like that, but something as complex, intricate, and dense (in complexity/volume terms) as a human brain? That's pushing it.</blockquote><br />

Whoa-ho! I can't let a statement like <em>that</em> stand. Thus:<br /><br />

Let's improve this discussion with some math. Assuming that a human brain has <a href="http://faculty.washington.edu/chudler/what.html">10^11 neurons</a> (100,000,000,000), then just giving them all 39 digit serial numbers would take, of course, 10^11*2^39 = 54 zettabits or 6.871 zettabytes. Assume we use some of the address space for special characters (we could just use ASCII for the first 128 bits, making this a superset of Unicode, humorously enough.) then 39 bits of address space allows us to address a 5.49*10^11 neuron brain, or a brain with 549,755,813,888 neurons, about five and a half times more complex than a human's.<br /><br />

Now, assuming that the structure of our file is the serial number of a neuron followed by the numbers of the neurons it's addressing, a line feed, the next block, etc; and assuming that each neuron addresses ten others, then we get a final total of 68.71 zettabytes. The brain might be more complicated than this, and each neuron might interconnect more, but handwave handwave, let's keep moving.<br /><br />

Using <a href="http://www.antipope.org/charlie/blog-static/2007/05/shaping_the_future.html">Stross memory diamond</a>, which has a density of 6.022*10^23 bits per 25 grams, we end up with a final encoded mass of 22.8 grams, which is 6.48 cubic centimeters of diamond.<br /><br />

23 grams, six and a half cubic centimeters. Roughly two orders of magnatude smaller than its organic equivilent. The brain is <em>complicated</em>, but it isn't <em>magical</em>.]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2008/06/17/bccc_ii/index.html</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2008/06/17/bccc_ii/index.html</guid>
<title>BCCC II </title>
<dc:date>2008-06-17T04:38:37-05:00</dc:date>
<dc:creator>bbot</dc:creator>
<dc:subject> Engineering</dc:subject>
<description><![CDATA[I found a drinks cooler, which should suit my purposes well, since it's already got a spout, and a little valve to control the spout. This means less stuff I have to design (and then debug) which is good. Unfortunately, it's "well used", so I'm going to have to figure out how to take a valve apart and clean it; plus, it's not that wide. If I align the intercooler coaxially, then there's not going to be a lot of room for dry ice, or rather, there won't be a lot of room for <em>large</em> chunks of dry ice. Smaller chunks will sublimate faster, and disappear quickly.<br /><br />

A workaround might be to form "D" shaped coils, and butt the curved side up against the interior of the cooler. This will leave a large contiguous space for dry ice, and simplify the coolant flow path; (Essentially a loop, rather than the torus of the previous design) but limit the size of the coolant pump impeller, which isn't a big deal anyway, since I shouldn't need high coolant flow rates.<br /><br />]]></description>

</item>
</channel>
</rss>
