<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-670107587798901944</id><updated>2012-02-11T20:50:34.974-08:00</updated><category term='conf'/><category term='ar'/><category term='ghextris'/><category term='IMDB'/><category term='fish'/><category term='rsa'/><category term='free'/><category term='robot'/><category term='64bit'/><category term='sdl'/><category term='rfc'/><category term='wine'/><category term='laser tag'/><category term='??'/><category term='thread local storage'/><category term='Movie'/><category term='green'/><category term='encryption'/><category term='mingw'/><category term='tls'/><category term='jeremy'/><category term='jeremi'/><category term='git'/><category term='valgrind'/><category term='AI'/><category term='sushi'/><category term='spam'/><category term='drink'/><category term='internet'/><category term='cea 608'/><category term='sun'/><category term='script'/><category term='debian'/><category term='windows'/><category term='pam'/><category term='otters'/><category term='physics'/><category term='chmod'/><category term='ranlib'/><category term='mint'/><category term='iplayer'/><category term='dladdr'/><category term='difference'/><category term='tanktank'/><category term='cross compile'/><category term='sticky'/><category term='arduino'/><category term='Snails'/><category term='linux'/><category term='helicopter'/><category term='scte'/><category term='cogito'/><category term='gdm'/><category term='heap'/><category term='gdb'/><category term='lazertag'/><category term='enconomics'/><category term='massif'/><category term='elf'/><category term='RC'/><category term='games'/><category term='Fish Tank'/><category term='bbc'/><category term='bash'/><category term='game'/><category term='ascii'/><category term='thread'/><category term='config'/><category term='Leprechaun'/><category term='c'/><category term='rfc 4'/><category term='recipe'/><category term='echo'/><category term='captcha'/><category term='Hood'/><category term='captions'/><category term='food'/><category term='delicious'/><category term='symbol'/><category term='__thread'/><category term='network'/><category term='ubuntu'/><category term='disassembly'/><category term='encfs'/><category term='error'/><category term='candy'/><category term='password'/><category term='boolean'/><title type='text'>execute data</title><subtitle type='html'>((void (*execute)())data)();</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8004428096263903383</id><published>2011-05-21T13:13:00.000-07:00</published><updated>2011-06-12T14:12:12.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>I am not an electrical engineer doctor</title><content type='html'>I've been looking at boosting the output of the IR leds for the laser tag host transceiver using an SN754410 H-Bridge but the math isn't quite coming out right.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sparkfun.com/products/315"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://3.bp.blogspot.com/-ugJTwOl9nsw/TdgR7jpuazI/AAAAAAAAAJI/ga_hoWnH-fk/s320/Screenshot-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5609253050770156338" /&gt;&lt;/a&gt;&lt;br /&gt;So, something about this doesn't look right:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1,2 EN = Arduino's 5V&lt;br /&gt;1A = PWM control signal&lt;br /&gt;1Y = 3 TSAL6200 IR LEDs in parallel -&gt; 100 Ohm resistor -&gt; Arduino's ground&lt;br /&gt;VCC1,VCC2 = Arduino's 5V&lt;br /&gt;GROUND = Arduino's ground&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For one, I am just now noticing that the TSAL6200 is rated to a max of 1.6V while I've been running at 5V (Nothing exploded).  Given that the SN754410 is rated for a minimum 4.5V (maybe not the most appropriate part) I might have to step down the voltage on the output &lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/Voltage_divider"&gt;like this&lt;/a&gt;.&lt;br /&gt;Second, it appears while the digital IO pin on the Arduino (what I am currently using) maxes at 40mA, the 3.3V line only does 50mA.  There is no max listed for the 5V pin but one can assume comparable.  This would imply I really can't drive the max amperage for the 3x LEDS (100mA each).&lt;br /&gt;So, lets start again for an easy to acquire ~4.5 V supply, divide by 3 to be within the TSAL6200's max voltage, and add a draw of 300 mA:&lt;br /&gt;Ohm's law:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;0.3 A = 1.5V / x Ohm&lt;br /&gt;5 Ohm = 1.5V / 0.3 A&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Voltage Divider:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://secure.wikimedia.org/wikipedia/en/wiki/Voltage_divider"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 165px; height: 45px;" src="http://upload.wikimedia.org/math/4/4/b/44b8b16db945a778e558f2c5ffd70157.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1.5V = ( Z2 / ( Z1 + Z2 ) ) * 4.5V&lt;br /&gt;1/3V = ( Z2 / ( Z1 + Z2 ) )&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I am guessing here but I think we want Z1 = 5 Ohm.  With little confidence that is correct lets keep going:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update: I've been corrected and we want Z2 to be 5 Ohm, see the comments for the new result.&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1/3V = ( Z2 / ( 5 Ohms + Z2 ) )&lt;br /&gt;5/3 Ohms + Z2/3 = Z2&lt;br /&gt;5/3 Ohms = Z2 * 2 / 3&lt;br /&gt;5 Ohms = Z2 * 2&lt;br /&gt;2.5 Ohms = Z2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This gives:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1,2 EN = Arduino's 5V&lt;br /&gt;1A = PWM control signal&lt;br /&gt;1Y = 5 Ohm resistor -&gt; 3 TSAL6200 IR LEDs in parallel -&gt; Battery ground&lt;br /&gt;                    -&gt; 2.5 Ohms -&gt; Battery ground&lt;br /&gt;VCC1 = Arduino's 5V&lt;br /&gt;VCC2 = 4.5V Battery&lt;br /&gt;GROUND = Arduino's ground&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So, where did I do it wrong?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8004428096263903383?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8004428096263903383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8004428096263903383' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8004428096263903383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8004428096263903383'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2011/05/i-am-not-electrical-engineer-doctor.html' title='I am not an electrical engineer doctor'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ugJTwOl9nsw/TdgR7jpuazI/AAAAAAAAAJI/ga_hoWnH-fk/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8269613180028802427</id><published>2011-03-12T15:08:00.001-08:00</published><updated>2011-03-12T15:10:04.314-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>Less Lazy Code</title><content type='html'>I finally got around to getting rid of the UI glitches cause by TX in the laser tag host.  New version &lt;a href="https://sites.google.com/site/alexanderfaucher/LazerTagHost_20110312.zip?attredirects=0&amp;d=1"&gt;here&lt;/a&gt;.  Or you can grab the code &lt;a href="https://github.com/afaucher/LazerTagHost"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Yay lazer tag!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8269613180028802427?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8269613180028802427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8269613180028802427' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8269613180028802427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8269613180028802427'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2011/03/less-lazy-code.html' title='Less Lazy Code'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6225388257023504537</id><published>2011-01-21T19:15:00.001-08:00</published><updated>2011-01-29T23:34:29.664-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>Lazer Tag Host Binaries part 2</title><content type='html'>Ok, I took the previous post of binaries down because I thought those binaries might have been broken but it was just me.  Here is a &lt;a href="https://sites.google.com/site/alexanderfaucher/LazerTagHost_20110121.zip?attredirects=0&amp;d=1"&gt;new link&lt;/a&gt;.  They are tested and work in ubuntu 10.10 and windows 7.  I know in windows 7 I had to install &lt;a href="http://www.go-mono.com/mono-downloads/download.html"&gt;gtk#&lt;/a&gt; as well to get it to open.  If your arduino isn't programed the app may hang, if it isn't plugged in you should be fine but won't get past the setup menu.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://downloads.sourceforge.net/gtk-win/gtk2-runtime-2.22.0-2010-10-21-ash.exe?download"&gt;Download gtk 2.22&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gtk-win.sourceforge.net/home/index.php/Downloads"&gt;More Versions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update: You also need a recent version of GTK installed in addition to gtk#.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update 2: It appears that the release version doesn't work for everyone.  Try the debug version if you are having issues.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6225388257023504537?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6225388257023504537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6225388257023504537' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6225388257023504537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6225388257023504537'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2011/01/lazer-tag-host-binaries-part-2.html' title='Lazer Tag Host Binaries part 2'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6926651566964414138</id><published>2011-01-16T14:51:00.000-08:00</published><updated>2011-01-16T15:03:25.717-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>Patents?</title><content type='html'>Someone apparently located the LTTO patent (&lt;a href="http://ip.com/patent/US7632187"&gt;US7632187&lt;/a&gt;).  That would have been totally useful.&lt;br /&gt;&lt;br /&gt;Actually, reading it now it would have been super useful.  It details all the bit fields.  Most of mine just switch the whole byte on the game type because the LTTO only starts games with one set of settings.  I guess there is quite a bit more I can do.  Rapid tags?  Neat!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6926651566964414138?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6926651566964414138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6926651566964414138' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6926651566964414138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6926651566964414138'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2011/01/patents.html' title='Patents?'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6987477254740894124</id><published>2011-01-14T19:17:00.000-08:00</published><updated>2011-01-20T21:48:19.493-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>This is how you build a laser tag hosting station</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Official Note: This works better if ground is connected to something, I suggest the middle pin of the IR receiver.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/TTESxkyUEJI/AAAAAAAAAI0/wt3_cviOXQI/s1600/P1000151.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/TTESxkyUEJI/AAAAAAAAAI0/wt3_cviOXQI/s400/P1000151.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5562247657676869778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/TTESICtyLPI/AAAAAAAAAIs/tWbvswpDWYc/s1600/P1000149.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/TTESICtyLPI/AAAAAAAAAIs/tWbvswpDWYc/s400/P1000149.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5562246944156429554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IllSYB7JwYI/TTES4Tv32RI/AAAAAAAAAI8/b-SwAvtLwJA/s1600/P1000152.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_IllSYB7JwYI/TTES4Tv32RI/AAAAAAAAAI8/b-SwAvtLwJA/s400/P1000152.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5562247773362313490" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6987477254740894124?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6987477254740894124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6987477254740894124' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6987477254740894124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6987477254740894124'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2011/01/this-is-how-you-build-laser-tag-gun.html' title='This is how you build a laser tag hosting station'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IllSYB7JwYI/TTESxkyUEJI/AAAAAAAAAI0/wt3_cviOXQI/s72-c/P1000151.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2400866059964246697</id><published>2010-11-13T05:44:00.000-08:00</published><updated>2010-11-13T05:57:51.675-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Clearanced-based Hierarchical Pathfinding (HPA*)</title><content type='html'>&lt;a href="http://aigamedev.com"&gt;Aigamedev.com&lt;/a&gt; seems to always have &lt;a href="http://aigamedev.com/open/tutorials/clearance-based-pathfinding/"&gt;something interesting to read&lt;/a&gt;.  This week it is using Annotated A* to find a path of at least minimum clearance through a graph.  They also go into how you can reduce the graph to an annotated hierarchical pathfinding graph for near-optimal results at much greater speeds.  The article is well explained and comes out with a very practical result.&lt;br /&gt;&lt;br /&gt;If your not convinced maybe their talk on &lt;a href="http://aigamedev.com/insider/discussion/halloween-zombie-ai/"&gt;zombie brain AI&lt;/a&gt; from last month will convince you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2400866059964246697?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2400866059964246697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2400866059964246697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2400866059964246697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2400866059964246697'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/11/clearanced-based-hierarchical.html' title='Clearanced-based Hierarchical Pathfinding (HPA*)'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6657256617671733851</id><published>2010-10-09T21:20:00.000-07:00</published><updated>2010-10-09T21:40:10.074-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>LazerTag Team Ops Packet - Part 4</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IllSYB7JwYI/TLE_QPAo4MI/AAAAAAAAAIQ/GTzonlItCRg/s1600/LazerTagDone.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 227px;" src="http://4.bp.blogspot.com/_IllSYB7JwYI/TLE_QPAo4MI/AAAAAAAAAIQ/GTzonlItCRg/s400/LazerTagDone.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5526267765899976898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I figured out the final scoring details and completed the GUI.  You can host a complete game from the GUI now and get all the score readouts.&lt;br /&gt;&lt;br /&gt;The fields worked out as follows:&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_PLAYER_REPORT_SCORE_RECORDS&lt;br /&gt;0x041-0x043, //command code (last two bits are the team number)&lt;br /&gt;0x00, //game id&lt;br /&gt;0x10, // team_number &lt;&lt; 4 | player_number&lt;br /&gt;0xXX, //player hit mask&lt;br /&gt;0xXX, //hits from player indicated by first set bit in mask&lt;br /&gt;0xXX, //hits from player indicated by second set bit in mask&lt;br /&gt;... (the hit bytes sum to count_ones(mask_byte)&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;The secret to determine the SCORE_RECORD was noticing that COUNTDOWN varied more then I noticed in my initial testing.&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_COUNTDOWN_TO_GAME_START&lt;br /&gt;0x000, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x30, //seconds left in digit hex&lt;br /&gt;0x08, //players on team 1&lt;br /&gt;0x08, //players on team 2&lt;br /&gt;0x08, //players on team 3&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;If t2p0 shoots t1p0 and "players on team 2" == 0, then t1p0's gun will ignore the shot.  Hence, those shots won't show up in the score report.&lt;br /&gt;&lt;br /&gt;The following packets still have unknown values:&lt;br /&gt;COMMAND_CODE_SCORE_ANNOUNCEMENT&lt;br /&gt;COMMAND_CODE_PLAYER_REPORT_SCORE&lt;br /&gt;COMMAND_CODE_GAME_OVER&lt;br /&gt;&lt;br /&gt;Hey you, decode!&lt;br /&gt;&lt;br /&gt;As always, &lt;a href="http://github.com/afaucher/LazerTagHost"&gt;get the code here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6657256617671733851?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6657256617671733851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6657256617671733851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6657256617671733851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6657256617671733851'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/10/lazertag-team-ops-packet-part-4.html' title='LazerTag Team Ops Packet - Part 4'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IllSYB7JwYI/TLE_QPAo4MI/AAAAAAAAAIQ/GTzonlItCRg/s72-c/LazerTagDone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-5054184380646525227</id><published>2010-09-29T22:41:00.000-07:00</published><updated>2010-09-29T23:02:57.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>LazerTag Team Ops Packet - Part 3</title><content type='html'>More features working, more fields decoded.  Still no score reporting.  I found the 'damage' field and the 'still alive' field but not the who hit you with a candlestick in the library section.  Get the &lt;a href="http://github.com/afaucher/LazerTagHost"&gt;Code&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_SCORE_ANNOUNCEMENT&lt;br /&gt;0x031, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x11, // team_number &lt;&lt; 4 | player_number&lt;br /&gt;0x0F, //unknown&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_PLAYER_REPORT_SCORE&lt;br /&gt;0x040, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x10, // team_number &lt;&lt; 4 | player_number&lt;br /&gt;0x00, //damage received&lt;br /&gt;0x01, //still alive&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x02, //unknown&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_PLAYER_REPORT_SCORE_RECORDS&lt;br /&gt;0x041, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x10, // team_number &lt;&lt; 4 | player_number&lt;br /&gt;0xXX, //unknown&lt;br /&gt;0xXX, //unknown&lt;br /&gt;0xXX, //unknown, looks like hits from a certain player but unable to determine which&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;I also determined that 0x41 is actually sent by the gun.  I am pretty sure it contains the hit report but I have been unable to decode it.  With 3 guns it is sometimes 2 bytes of unknown data and sometimes 3.  Lastly the 'rank' announce that cycles through all the players.&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_GAME_OVER&lt;br /&gt;0x042, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x10, // team_number &lt;&lt; 4 | player_number&lt;br /&gt;0x00, //player rank&lt;br /&gt;0x01, //team rank&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x100, //checksum&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-5054184380646525227?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/5054184380646525227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=5054184380646525227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/5054184380646525227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/5054184380646525227'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/09/lazertag-team-ops-packet-part-3.html' title='LazerTag Team Ops Packet - Part 3'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2766284408087582127</id><published>2010-09-28T00:55:00.000-07:00</published><updated>2010-09-28T01:24:38.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>LazerTag Team Ops Packet - Part 2</title><content type='html'>Good progress with the LTTO hosting gun!&lt;br /&gt;&lt;br /&gt;The hosting packets are composed of:&lt;br /&gt;&lt;br /&gt;9 bit command packet&lt;br /&gt;[ 1 bit zero ] [ 8 bit command code]&lt;br /&gt;8 bit data packet * n&lt;br /&gt;9 bit crc packet&lt;br /&gt;[ 1 bit one ] [ 8 bit sum of previous bytes ]&lt;br /&gt;&lt;br /&gt;All of which use the 3000 ms mark, 6000 ms sleep, 3000 ms mark header.&lt;br /&gt;&lt;br /&gt;The command codes discovered so far are:&lt;br /&gt;COMMAND_CODE_CUSTOM_GAME_MODE_HOST = 0x02,&lt;br /&gt;COMMAND_CODE_PLAYER_JOIN_GAME_REQUEST = 0x10,&lt;br /&gt;COMMAND_CODE_ACK_PLAYER_JOIN_RESPONSE = 0x01,&lt;br /&gt;COMMAND_CODE_CONFIRM_PLAY_JOIN_GAME = 0x11,&lt;br /&gt;COMMAND_CODE_COUNTDOWN_TO_GAME_START = 0x00,&lt;br /&gt;COMMAND_CODE_SCORE_ANNOUNCEMENT = 0x31,&lt;br /&gt;COMMAND_CODE_PLAYER_REPORT_SCORE = 0x40,&lt;br /&gt;&lt;br /&gt;The packet groups look like:&lt;br /&gt;COMMAND_CODE_CUSTOM_GAME_MODE_HOST&lt;br /&gt;&lt;br /&gt;0x002, //command code&lt;br /&gt;0x00, //Game ID&lt;br /&gt;0x10, //game time minutes&lt;br /&gt;0x10, //tags&lt;br /&gt;0xFF, //reloads&lt;br /&gt;0x15, //sheild&lt;br /&gt;0x10, //mega&lt;br /&gt;0x20, //unknown&lt;br /&gt;0x01, //unknown&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;Where the first and last packets are 9 bits.  The known values are base 10 hex where 9=0x09 but 10=0x10 and 0xff is 'unlimited'.&lt;br /&gt;&lt;br /&gt;The join game request is sent by the joining gun on recv of the above advertisement.&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_PLAYER_JOIN_GAME_REQUEST&lt;br /&gt;0x010, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x00, //player id&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x100 //checksum&lt;br /&gt;&lt;br /&gt;The host then confirms the join by sending back the ids and team/player numbers&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_ACK_PLAYER_JOIN_RESPONSE&lt;br /&gt;0x001, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x00, //player id&lt;br /&gt;0x09, //some combination of team/player number&lt;br /&gt;0x100 //checksum&lt;br /&gt;&lt;br /&gt;The gun must then confirm this join to be part of the game by sending back both id's&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_CONFIRM_PLAY_JOIN_GAME&lt;br /&gt;0x011, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x00, //player id&lt;br /&gt;0x100 //checksum&lt;br /&gt;&lt;br /&gt;If the host goes 60 seconds without getting another player it starts the game countdown at 30 seconds and starts sending countdown announcements once a second.&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_COUNTDOWN_TO_GAME_START&lt;br /&gt;0x000, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x30, //seconds left in digit hex&lt;br /&gt;0x02, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;Once the game starts the LTTO gun sends the 5 bit, all zero, 3k,6k,6k pulse once a second but it is not required.  All guns will end the game after the timeout in the game announce.  Then the host gun starts the score announce beacon.&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_SCORE_ANNOUNCEMENT&lt;br /&gt;0x031, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x11, //unknown&lt;br /&gt;0x0F, //unknown&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;The player gun response is still a mystery but it looks like:&lt;br /&gt;&lt;br /&gt;COMMAND_CODE_PLAYER_REPORT_SCORE&lt;br /&gt;0x040, //command code&lt;br /&gt;0x00, //game id&lt;br /&gt;0x10, //unknown, &lt;br /&gt;0x00, //unknown, hits?&lt;br /&gt;0x01, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x00, //unknown&lt;br /&gt;0x100, //checksum&lt;br /&gt;&lt;br /&gt;More then one similar looking packet is exchanged.  Determining the meanings will require multi-gun controlled tests.  After the score is reported the host sends back command 0x41 which appears to report the hits per player.  When all players have checked in the host spits out command 0x32 periodically, with still contents of unknown meaning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2766284408087582127?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2766284408087582127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2766284408087582127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2766284408087582127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2766284408087582127'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/09/lazertag-team-ops-packet-part-2.html' title='LazerTag Team Ops Packet - Part 2'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-4184063626521931273</id><published>2010-09-26T16:29:00.000-07:00</published><updated>2010-09-26T16:46:06.032-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>LazerTag Team Ops Packet - Part 1</title><content type='html'>Phoenix LTX&lt;br /&gt;&lt;br /&gt;[ 3 bits - zero ] [ 2 bits - team ] [ 2 bits - damage ]&lt;br /&gt;&lt;br /&gt;Team:&lt;br /&gt;0x00 = Solo&lt;br /&gt;0x01-0x03 = Team 1-3&lt;br /&gt;&lt;br /&gt;Damage:&lt;br /&gt;0x00-0x03 = Damage 1-4 (3-4 are only usable by LTTO as Mega-Tag)&lt;br /&gt;&lt;br /&gt;LTTO&lt;br /&gt;&lt;br /&gt;[ 5 bits - zero (for solo at least) ]&lt;br /&gt;&lt;br /&gt;Location Pulse&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;#define LTTO_HDR_MARK_ONE 3000&lt;br /&gt;#define LTTO_HDR_MARK_TWO 6000&lt;br /&gt;#define LTTO_HDR_SPACE 6000&lt;br /&gt;#define LTTO_ONE_MARK 2000&lt;br /&gt;#define LTTO_ZERO_MARK 1000&lt;br /&gt;#define LTTO_SPACE 2000&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-4184063626521931273?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/4184063626521931273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=4184063626521931273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/4184063626521931273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/4184063626521931273'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/09/lazertag-team-ops-packet-part-1.html' title='LazerTag Team Ops Packet - Part 1'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-7827161981065581408</id><published>2010-09-02T20:09:00.000-07:00</published><updated>2010-09-02T20:13:01.142-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>Goal-Oriented Action Planning</title><content type='html'>I found a very good &lt;a href="http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf"&gt;paper&lt;/a&gt; on AI planning by the guy that did the F.E.A.R. AI architecture.&lt;br /&gt;&lt;br /&gt;Jeff Orkin's page on &lt;a href="http://web.media.mit.edu/~jorkin/goap.html"&gt;GOAP&lt;/a&gt; contains lots more links to even more details.&lt;br /&gt;&lt;br /&gt;Learn something!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-7827161981065581408?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/7827161981065581408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=7827161981065581408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7827161981065581408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7827161981065581408'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/09/goal-oriented-action-planning.html' title='Goal-Oriented Action Planning'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-1141107168941645980</id><published>2010-08-23T21:51:00.000-07:00</published><updated>2010-08-23T21:59:02.533-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='lazertag'/><title type='text'>Phoenix LTX</title><content type='html'>Hey look I made a lazer tag gun!  It runs on Arduino using the &lt;a href="http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html"&gt;IRremote&lt;/a&gt; library.&lt;br /&gt;&lt;br /&gt;Send:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;void IRsend::sendPHOENIX_LTX(unsigned long data, int nbits) {&lt;br /&gt;&lt;br /&gt;  enableIROut(36);&lt;br /&gt;  //HEAD&lt;br /&gt;  mark(PHOENIX_HDR_MARK);&lt;br /&gt;  space(PHOENIX_HDR_SPACE);&lt;br /&gt;  mark(PHOENIX_HDR_MARK);&lt;br /&gt;  int i = 0;&lt;br /&gt;  for (i = 0; i &amp;lt; 7; i++) {&lt;br /&gt;    if (i % 2 == 0) {&lt;br /&gt;      space(PHOENIX_LTX_SPACE);&lt;br /&gt;    } else {&lt;br /&gt;      mark(PHOENIX_LTX_ZERO_MARK);    &lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  //DATA&lt;br /&gt;  if ((data &amp;gt;&amp;gt; 2) &amp;amp; 1 == 1) {&lt;br /&gt;    mark(PHOENIX_LTX_ONE_MARK);    &lt;br /&gt;  } else {&lt;br /&gt;    mark(PHOENIX_LTX_ZERO_MARK);&lt;br /&gt;  }&lt;br /&gt;  space(PHOENIX_LTX_SPACE);&lt;br /&gt;  if ((data &amp;gt;&amp;gt; 0) &amp;amp; 1 == 1) {&lt;br /&gt;    mark(PHOENIX_LTX_ONE_MARK);    &lt;br /&gt;  } else {&lt;br /&gt;    mark(PHOENIX_LTX_ZERO_MARK);&lt;br /&gt;  }&lt;br /&gt;  //TAIL&lt;br /&gt;  for (i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;    if (i % 2 == 0) {&lt;br /&gt;      space(PHOENIX_LTX_SPACE);&lt;br /&gt;    } else {&lt;br /&gt;      mark(PHOENIX_LTX_ZERO_MARK);    &lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  space(PHOENIX_LTX_SPACE);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Receive:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;long IRrecv::decodePHOENIX_LTX(decode_results *results) {&lt;br /&gt;&lt;br /&gt;  long data = 0;&lt;br /&gt;&lt;br /&gt;  int offset = 1;&lt;br /&gt;&lt;br /&gt;  int i = 0;&lt;br /&gt;&lt;br /&gt;  //HEAD&lt;br /&gt;&lt;br /&gt;  if (results-&amp;gt;rawlen != 18) {&lt;br /&gt;&lt;br /&gt;    return ERR;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if (!MATCH_MARK(results-&amp;gt;rawbuf[offset], PHOENIX_HDR_MARK)) {&lt;br /&gt;&lt;br /&gt;    return ERR;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  offset++;&lt;br /&gt;&lt;br /&gt;  if (!MATCH_SPACE(results-&amp;gt;rawbuf[offset], PHOENIX_HDR_SPACE)) {&lt;br /&gt;&lt;br /&gt;    return ERR;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  offset++;&lt;br /&gt;&lt;br /&gt;  if (!MATCH_MARK(results-&amp;gt;rawbuf[offset], PHOENIX_HDR_MARK)) {&lt;br /&gt;&lt;br /&gt;    return ERR;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  offset++;&lt;br /&gt;&lt;br /&gt;  for (i = 0; i &amp;lt; 7; i++) {&lt;br /&gt;&lt;br /&gt;    if (i % 2 == 0) {&lt;br /&gt;&lt;br /&gt;      if (!MATCH_SPACE(results-&amp;gt;rawbuf[offset], 2000)) {&lt;br /&gt;&lt;br /&gt;        Serial.println(i, DEC);&lt;br /&gt;&lt;br /&gt;        return ERR;&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;br /&gt;&lt;br /&gt;    } else {&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;      if (!MATCH_MARK(results-&amp;gt;rawbuf[offset], 1000)) {&lt;br /&gt;&lt;br /&gt;        Serial.println(i, DEC);&lt;br /&gt;&lt;br /&gt;        return ERR;&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    offset++;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  Serial.println(&amp;quot;Data&amp;quot;);&lt;br /&gt;&lt;br /&gt;  //DATA&lt;br /&gt;&lt;br /&gt;  for (i = 0; i &amp;lt; 3; i++) {&lt;br /&gt;&lt;br /&gt;    if (MATCH_MARK(results-&amp;gt;rawbuf[offset], PHOENIX_LTX_ONE_MARK)) {&lt;br /&gt;&lt;br /&gt;    data &amp;lt;&amp;lt; 1;&lt;br /&gt;&lt;br /&gt;    data &amp;#124;= 1;&lt;br /&gt;&lt;br /&gt;    } else if (MATCH_MARK(results-&amp;gt;rawbuf[offset], PHOENIX_LTX_ZERO_MARK)) {&lt;br /&gt;&lt;br /&gt;    data &amp;lt;&amp;lt; 1;&lt;br /&gt;&lt;br /&gt;    data &amp;#124;= 0;&lt;br /&gt;&lt;br /&gt;    } else {&lt;br /&gt;&lt;br /&gt;      Serial.println(i, DEC);&lt;br /&gt;&lt;br /&gt;      return ERR;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    offset++;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  Serial.println(&amp;quot;Tail&amp;quot;);&lt;br /&gt;&lt;br /&gt;  //TAIL&lt;br /&gt;&lt;br /&gt;  for (i = 0; i &amp;lt; 2; i++) {&lt;br /&gt;&lt;br /&gt;   if (!MATCH_SPACE(results-&amp;gt;rawbuf[offset], 2000)) {&lt;br /&gt;&lt;br /&gt;    return ERR;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  offset++;&lt;br /&gt;&lt;br /&gt;  if (!MATCH_MARK(results-&amp;gt;rawbuf[offset], 1000)) {&lt;br /&gt;&lt;br /&gt;    return ERR;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  offset++;&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;  // Success&lt;br /&gt;&lt;br /&gt;  results-&amp;gt;bits = 3;&lt;br /&gt;&lt;br /&gt;  results-&amp;gt;value = data;&lt;br /&gt;&lt;br /&gt;  results-&amp;gt;decode_type = PHOENIX_LTX;&lt;br /&gt;&lt;br /&gt;  return DECODED;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Defines:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;#define PHOENIX_HDR_MARK 3000&lt;br /&gt;#define PHOENIX_HDR_SPACE 6000&lt;br /&gt;#define PHOENIX_LTX_ONE_MARK 2000&lt;br /&gt;#define PHOENIX_LTX_ZERO_MARK 1000&lt;br /&gt;#define PHOENIX_LTX_SPACE 2000&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-1141107168941645980?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/1141107168941645980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=1141107168941645980' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1141107168941645980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1141107168941645980'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/08/phoenix-ltx.html' title='Phoenix LTX'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2094884533595889622</id><published>2010-05-30T12:04:00.000-07:00</published><updated>2010-09-01T17:18:54.197-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><title type='text'>TankTank 0.3.1 (Experimental)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IllSYB7JwYI/TAK2-1rk8tI/AAAAAAAAAHw/4Q3swd5IACk/s1600/Lava_small.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_IllSYB7JwYI/TAK2-1rk8tI/AAAAAAAAAHw/4Q3swd5IACk/s200/Lava_small.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5477141287513944786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Less 'crashing into walls' Edition.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sites.google.com/site/alexanderfaucher/junk/tanktank-0.3.1.zip?attredirects=0&amp;d=1"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2094884533595889622?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2094884533595889622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2094884533595889622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2094884533595889622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2094884533595889622'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/05/tanktank-031.html' title='TankTank 0.3.1 (Experimental)'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IllSYB7JwYI/TAK2-1rk8tI/AAAAAAAAAHw/4Q3swd5IACk/s72-c/Lava_small.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2674082099640181493</id><published>2010-04-25T11:05:00.001-07:00</published><updated>2010-04-25T11:43:31.827-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><category scheme='http://www.blogger.com/atom/ns#' term='candy'/><title type='text'>Internet TankTank 0.3.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/S9SHVunhHjI/AAAAAAAAAHc/bHrzRLzt8GQ/s1600/Multi.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 175px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/S9SHVunhHjI/AAAAAAAAAHc/bHrzRLzt8GQ/s200/Multi.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5464141055268036146" /&gt;&lt;/a&gt;&lt;br /&gt;New version of tanktank with fewer unintended features and more candy!  Internet servers via the server browser appear to work.  You need to open port 18007 for TCP/UDP if you want it to work though.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;CTF was rebalanced.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Spawns were color coded&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Unused spawns were hidden&lt;/li&gt;&lt;br /&gt;&lt;li&gt;New teams arn't created after game start to keep it balanced&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Vastly improve push zone drawing&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Turn triangle around seems to help when people get stuck&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Fix some laser issues&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Drawing tweaks&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Fix for cwd issue and empty maps&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Draws properly on win7 now hopefully&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://sites.google.com/site/alexanderfaucher/junk/tanktank-0.3.0.zip?attredirects=0&amp;d=1"&gt;Download&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;O yah, Lava!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/S9SNNvCBw0I/AAAAAAAAAHk/ILiKDnPaO04/s1600/Lava.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 140px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/S9SNNvCBw0I/AAAAAAAAAHk/ILiKDnPaO04/s200/Lava.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5464147515010040642" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2674082099640181493?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2674082099640181493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2674082099640181493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2674082099640181493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2674082099640181493'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/04/internet-tanktank-030.html' title='Internet TankTank 0.3.0'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IllSYB7JwYI/S9SHVunhHjI/AAAAAAAAAHc/bHrzRLzt8GQ/s72-c/Multi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2013423980694172910</id><published>2010-04-05T21:03:00.000-07:00</published><updated>2010-04-05T21:08:54.852-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><title type='text'>SteamBirds</title><content type='html'>Quite fun fighter plane game!  If you are not playing it your are clearly the victim of &lt;a href="http://en.wikipedia.org/wiki/Lead_poisoning"&gt;lead poisoning&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/S7qzKq0Ho9I/AAAAAAAAAHU/HlVFlev27tM/s1600/SteamBirds.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 241px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/S7qzKq0Ho9I/AAAAAAAAAHU/HlVFlev27tM/s320/SteamBirds.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5456870894385734610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://armorgames.com/play/5426/steambirds"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2013423980694172910?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2013423980694172910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2013423980694172910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2013423980694172910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2013423980694172910'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/04/steambirds.html' title='SteamBirds'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IllSYB7JwYI/S7qzKq0Ho9I/AAAAAAAAAHU/HlVFlev27tM/s72-c/SteamBirds.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-3962944912543269518</id><published>2010-01-11T14:12:00.000-08:00</published><updated>2010-01-12T09:29:43.918-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><title type='text'>Capture TankTank Fish 0.2.8</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/S0uih_J1E2I/AAAAAAAAAHI/JHtqDhbmAOc/s1600-h/Screenshot.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 140px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/S0uih_J1E2I/AAAAAAAAAHI/JHtqDhbmAOc/s200/Screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425608880869938018" /&gt;&lt;/a&gt;&lt;br /&gt;Now with server browser and capture the flag support.  &lt;strike&gt;Also works better on vista/win7.&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;Also added an option to turn off UDP if your firewall explodes like mine does.&lt;br /&gt;&lt;br /&gt;Mongo says get it &lt;a href="http://sites.google.com/site/alexanderfaucher/tanktank-0.2.8.zip"&gt;now&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-3962944912543269518?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/3962944912543269518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=3962944912543269518' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/3962944912543269518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/3962944912543269518'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2010/01/capture-tanktank-fish-028.html' title='Capture TankTank Fish 0.2.8'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IllSYB7JwYI/S0uih_J1E2I/AAAAAAAAAHI/JHtqDhbmAOc/s72-c/Screenshot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-976795964414215991</id><published>2009-08-01T12:48:00.001-07:00</published><updated>2009-08-01T12:57:33.308-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><title type='text'>TankTank 0.2.5</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IllSYB7JwYI/SnSeJrFzzVI/AAAAAAAAAFg/-oA8i8LhWu0/s1600-h/Multi.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 350px;" src="http://4.bp.blogspot.com/_IllSYB7JwYI/SnSeJrFzzVI/AAAAAAAAAFg/-oA8i8LhWu0/s400/Multi.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5365086945128205650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Network Multiplayer!  Six game types!  New Maps!  Exclamation Points!  New Shotgun!  Pushy Zones!  Chile Rellenos!  Wait, that is lunch.  But the other things!  Some crashes!  Avoid Grue!&lt;br /&gt;&lt;br /&gt;Note: Join takes player to default server.  To specify use ./tanktank client &amp;lt;ip&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexanderfaucher.googlepages.com/tanktank-0.2.5.zip"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-976795964414215991?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/976795964414215991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=976795964414215991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/976795964414215991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/976795964414215991'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/08/tanktank-025.html' title='TankTank 0.2.5'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IllSYB7JwYI/SnSeJrFzzVI/AAAAAAAAAFg/-oA8i8LhWu0/s72-c/Multi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6646267324191195706</id><published>2009-04-18T20:38:00.000-07:00</published><updated>2009-04-18T20:54:21.216-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><title type='text'>TankTank 0.2.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IllSYB7JwYI/Seqff60RwFI/AAAAAAAAAFQ/yYgk1s50DLQ/s1600-h/tanktank-0.2.0.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 206px;" src="http://1.bp.blogspot.com/_IllSYB7JwYI/Seqff60RwFI/AAAAAAAAAFQ/yYgk1s50DLQ/s320/tanktank-0.2.0.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5326244880032317522" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;New version of tankttank.  Release includes x64,x86,win32.&lt;br /&gt;&lt;br /&gt;Supports &lt;span style="font-weight:bold;"&gt;six&lt;/span&gt; players on &lt;span style="font-weight:bold;"&gt;one&lt;/span&gt; keyboard.  Get cozy!  Although you can't change the number of players with recompiling.  Also supports king of the hill, and proper score keeping in single or multi-player mode.  Increased rotational damping and ground friction so people are actually capable of playing it.  Makes it a little harder to kill yourself on a wall.  Also added viewport sharing so you can see your screen with six players.  Stay close or you'll get stuck offscreen and eaten by a grue.&lt;br /&gt;&lt;br /&gt;O, there is sound now also!&lt;br /&gt;&lt;br /&gt;Try the new King of the Hill&lt;br /&gt;./tanktank ./levels/hill_eight.svg&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexanderfaucher.googlepages.com/tanktank-0.2.0.tar.gz"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6646267324191195706?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6646267324191195706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6646267324191195706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6646267324191195706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6646267324191195706'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/04/tanktank-020.html' title='TankTank 0.2.0'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IllSYB7JwYI/Seqff60RwFI/AAAAAAAAAFQ/yYgk1s50DLQ/s72-c/tanktank-0.2.0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6695050498301509125</id><published>2009-04-18T16:36:00.000-07:00</published><updated>2009-04-18T16:37:21.816-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sdl'/><category scheme='http://www.blogger.com/atom/ns#' term='mingw'/><title type='text'>Mingw</title><content type='html'>Maybe this is useful&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mingw-starter.blogspot.com/2008/02/mingw-sdl.html"&gt;Mingw + SDL&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6695050498301509125?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6695050498301509125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6695050498301509125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6695050498301509125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6695050498301509125'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/04/mingw.html' title='Mingw'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2000579084457224998</id><published>2009-03-12T19:58:00.000-07:00</published><updated>2009-03-13T15:28:10.193-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='disassembly'/><category scheme='http://www.blogger.com/atom/ns#' term='gdb'/><title type='text'>Catching data on the way out</title><content type='html'>So, pulling variable contents off the stack in the middle of a function and dumping to a file via the debugger is easier then it appears.  First, don't use ddd.  This process over a few hundred thousand iterations would have taken hours, except it kept crashing ddd in the middle.  Using gdb took mere minutes.&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;#For the dynamic case, stop where we can see what is going on&lt;br /&gt;break some_dynamicly_loaded_function&lt;br /&gt;run&lt;br /&gt;#Now we know our loaded offset&lt;br /&gt;break *some_dynamicly_loaded_function+length_of_said_dynamicly_loaded_function&lt;br /&gt;delete 1&lt;br /&gt;&lt;br /&gt;#Hook up commands to process data and continue&lt;br /&gt;commands 2&lt;br /&gt;#Get data from pointer argument&lt;br /&gt;set $start = (((unsigned long*)$esp)[arg_index_of_paramater_you_want])&lt;br /&gt;set $end = ($start + length_of_out_paramter)&lt;br /&gt;append binary memory test.bin $start $end&lt;br /&gt;cont&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#Fix gdb because it will print every time breakpoint hits, which triggers pagination&lt;br /&gt;set pagination off&lt;br /&gt;#Go&lt;br /&gt;cont&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2000579084457224998?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2000579084457224998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2000579084457224998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2000579084457224998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2000579084457224998'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/03/catching-data-on-way-out.html' title='Catching data on the way out'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8043973328420704308</id><published>2009-02-21T22:19:00.000-08:00</published><updated>2009-02-21T22:28:53.517-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mingw'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><category scheme='http://www.blogger.com/atom/ns#' term='cross compile'/><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><title type='text'>TankTank for Windows</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IllSYB7JwYI/SaDwlqnpchI/AAAAAAAAAE4/oxa9PnwF7sA/s1600-h/Screenshot-TankTank.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 146px;" src="http://2.bp.blogspot.com/_IllSYB7JwYI/SaDwlqnpchI/AAAAAAAAAE4/oxa9PnwF7sA/s200/Screenshot-TankTank.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305504890928853522" /&gt;&lt;/a&gt;&lt;br /&gt;Alright.  A few painful sessions with windows headers and piles of dlls and I've come up with a windows build of my game tank tank.&lt;br /&gt;&lt;br /&gt;The controls are still listed &lt;a href="http://executedata.blogspot.com/2008/07/tanktank-version-good-enough.html"&gt;here&lt;/a&gt;.  The game itself didn't change much from 0.1.7 except that I no longer link against ImageMagick++ or SDL_mixer as I couldn't either of them to link properly.  The latter was just crashing mingw's ld.  That breaks text, and I never hooked up sound.&lt;br /&gt;&lt;br /&gt;This release doesn't include source, I had to make a mess to cross compile and I don't want to clean it up.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexanderfaucher.googlepages.com/tanktank-8.tar.gz"&gt;tanktank-0.1.8.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O yah, it works in wine just fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8043973328420704308?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8043973328420704308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8043973328420704308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8043973328420704308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8043973328420704308'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/02/tanktank-for-windows.html' title='TankTank for Windows'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IllSYB7JwYI/SaDwlqnpchI/AAAAAAAAAE4/oxa9PnwF7sA/s72-c/Screenshot-TankTank.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8579824234963239503</id><published>2009-02-19T16:24:00.000-08:00</published><updated>2009-02-19T16:25:41.704-08:00</updated><title type='text'>Delicious Coffee</title><content type='html'>Ahh, getting no &lt;a href="http://www.samba.org/ftp/tridge/misc/french_cafe.txt"&gt;support&lt;/a&gt; is fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8579824234963239503?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8579824234963239503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8579824234963239503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8579824234963239503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8579824234963239503'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/02/delicious-coffee.html' title='Delicious Coffee'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2680636354746527080</id><published>2009-02-15T13:28:00.000-08:00</published><updated>2009-02-15T13:31:19.493-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='otters'/><category scheme='http://www.blogger.com/atom/ns#' term='64bit'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Delicious 32 libraries</title><content type='html'>Missing 32bit devel packages on your 64 bit system?&lt;br /&gt;&lt;br /&gt;Just &lt;a href="http://ubuntuforums.org/showthread.php?t=474790"&gt;install&lt;/a&gt; them apparently.  You just have to compose the repo url then walk dependencies manually from otter bones.  Or run that script.  Otter bones included.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2680636354746527080?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2680636354746527080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2680636354746527080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2680636354746527080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2680636354746527080'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/02/delicious-32-libraries.html' title='Delicious 32 libraries'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-7411470345184458340</id><published>2009-02-02T13:42:00.001-08:00</published><updated>2009-02-02T22:42:39.841-08:00</updated><title type='text'>Runtime Stacks</title><content type='html'>Mmm, &lt;a href="http://www.linuxjournal.com/article/6391"&gt;Stacks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It does not appear to make a difference in glibc malloc catches at least.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-7411470345184458340?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/7411470345184458340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=7411470345184458340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7411470345184458340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7411470345184458340'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/02/runtime-stacks.html' title='Runtime Stacks'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-1690623418009032784</id><published>2009-02-01T15:43:00.000-08:00</published><updated>2009-02-01T15:44:10.320-08:00</updated><title type='text'>Heisenbug</title><content type='html'>You might even find a &lt;a href="http://www.gamasutra.com/view/feature/1965/visualizing_floats.php"&gt;Heisenbug&lt;/a&gt;, which can be incredibly difficult to track down, since a) it surfaces very rarely, b) the conditions can be impossible to replicate, and c) introducing test code can "fix" the problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-1690623418009032784?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/1690623418009032784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=1690623418009032784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1690623418009032784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1690623418009032784'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2009/02/heisenbug.html' title='Heisenbug'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2823137323055136643</id><published>2008-12-03T00:26:00.000-08:00</published><updated>2008-12-03T00:28:39.532-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rsa'/><category scheme='http://www.blogger.com/atom/ns#' term='rfc'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><title type='text'>RFC2313</title><content type='html'>&lt;a href="http://www.ietf.org/rfc/rfc2313.txt"&gt;RFC2313&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The block type BT shall be a single octet indicating the structure of the encryption block. For this version of the document it shall have value 00, 01, or 02. For a private- key operation, the block type shall be 00 or 01. For a public-key operation, it shall be 02.&lt;br /&gt;&lt;br /&gt;Sigh, sometimes I should look up error messages the first time I get them&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2823137323055136643?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2823137323055136643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2823137323055136643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2823137323055136643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2823137323055136643'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/12/rfc2313-block-type-bt-shall-be-single.html' title='RFC2313'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-3541393273114962933</id><published>2008-11-08T13:17:00.000-08:00</published><updated>2008-11-08T13:20:13.751-08:00</updated><title type='text'>Wireshark</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IllSYB7JwYI/SRYCgehpv7I/AAAAAAAAAEY/wQWTcJNqPZY/s1600-h/wsbadgewiki64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 186px; height: 64px;" src="http://3.bp.blogspot.com/_IllSYB7JwYI/SRYCgehpv7I/AAAAAAAAAEY/wQWTcJNqPZY/s200/wsbadgewiki64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5266399571229654962" /&gt;&lt;/a&gt;&lt;br /&gt;I can never remember any of this so I find &lt;a href="http://packetlife.net/static/cheatsheets/wireshark-display-filters.pdf"&gt;cheating&lt;/a&gt; helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-3541393273114962933?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/3541393273114962933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=3541393273114962933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/3541393273114962933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/3541393273114962933'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/11/wireshark.html' title='Wireshark'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IllSYB7JwYI/SRYCgehpv7I/AAAAAAAAAEY/wQWTcJNqPZY/s72-c/wsbadgewiki64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2762478206534987272</id><published>2008-07-29T15:29:00.000-07:00</published><updated>2008-07-29T15:30:20.139-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='captions'/><category scheme='http://www.blogger.com/atom/ns#' term='scte'/><category scheme='http://www.blogger.com/atom/ns#' term='cea 608'/><title type='text'>Captioning Diskette</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Captioning Diskette:&lt;/span&gt; A computer diskette with a caption file written on it. This file has captioning data used by an encoder to insert captions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2762478206534987272?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2762478206534987272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2762478206534987272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2762478206534987272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2762478206534987272'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/07/captioning-diskette.html' title='Captioning Diskette'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6357490823781870133</id><published>2008-07-23T20:49:00.000-07:00</published><updated>2008-07-23T20:51:54.660-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='helicopter'/><category scheme='http://www.blogger.com/atom/ns#' term='RC'/><category scheme='http://www.blogger.com/atom/ns#' term='laser tag'/><title type='text'>Leg bone?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_IllSYB7JwYI/SIf8Vppk2YI/AAAAAAAAADs/yKZ-V9dw330/s1600-h/DSC00821-small.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_IllSYB7JwYI/SIf8Vppk2YI/AAAAAAAAADs/yKZ-V9dw330/s200/DSC00821-small.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5226423341474437506" /&gt;&lt;/a&gt;&lt;br /&gt;I have yet to massage the spleen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6357490823781870133?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6357490823781870133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6357490823781870133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6357490823781870133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6357490823781870133'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/07/leg-bone.html' title='Leg bone?'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_IllSYB7JwYI/SIf8Vppk2YI/AAAAAAAAADs/yKZ-V9dw330/s72-c/DSC00821-small.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-3054831063164533246</id><published>2008-07-19T22:30:00.001-07:00</published><updated>2008-07-19T22:41:54.215-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='tanktank'/><title type='text'>TankTank - Version Good Enough</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_IllSYB7JwYI/SILNmgcS3II/AAAAAAAAADc/4ijmf5HIvXI/s1600-h/Screenshot-TankTank2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_IllSYB7JwYI/SILNmgcS3II/AAAAAAAAADc/4ijmf5HIvXI/s400/Screenshot-TankTank2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5224964579130530946" /&gt;&lt;/a&gt;Another game.  The controls are a little jumpy, but real physics are not conducted in absolute impulses at 100 frames per second are they?  It will eventually be a little more balanced, until then I might be the only one that is not continuously slamming into a wall.&lt;br /&gt;&lt;br /&gt;Player 1&lt;br /&gt;Arrow Keys - Movement&lt;br /&gt;R-Ctrl - Grenade&lt;br /&gt;R-Alt - Reload&lt;br /&gt;R-Shift - Laser&lt;br /&gt;&lt;br /&gt;Player 2&lt;br /&gt;WSAD - Movement&lt;br /&gt;L-... ...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexanderfaucher.googlepages.com/tanktank-0.1.2.tar.gz"&gt;tanktank-0.1.2.tar.gz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-3054831063164533246?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/3054831063164533246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=3054831063164533246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/3054831063164533246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/3054831063164533246'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/07/tanktank-version-good-enough.html' title='TankTank - Version Good Enough'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_IllSYB7JwYI/SILNmgcS3II/AAAAAAAAADc/4ijmf5HIvXI/s72-c/Screenshot-TankTank2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8645317763929551281</id><published>2008-07-18T00:28:00.001-07:00</published><updated>2008-07-18T00:39:29.131-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='ghextris'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>ghextris</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_IllSYB7JwYI/SIBGQEP5p-I/AAAAAAAAADU/krrmejp2HlE/s1600-h/Screenshot-Ghextris.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_IllSYB7JwYI/SIBGQEP5p-I/AAAAAAAAADU/krrmejp2HlE/s200/Screenshot-Ghextris.png" alt="" id="BLOGGER_PHOTO_ID_5224252809582061538" border="0"&gt;&lt;/a&gt;Seeing as I haven't gotten this merged into official debian upstream I thought I would show it off here.  An expansion on the ghextris package that allows side-by-side two-player and a variety of color options.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexanderfaucher.googlepages.com/ghextris_0.9.2-0_all.deb"&gt;ghextris_0.9.2-0_all.deb&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8645317763929551281?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8645317763929551281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8645317763929551281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8645317763929551281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8645317763929551281'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/07/ghextris.html' title='ghextris'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_IllSYB7JwYI/SIBGQEP5p-I/AAAAAAAAADU/krrmejp2HlE/s72-c/Screenshot-Ghextris.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-749247316956422777</id><published>2008-04-29T16:30:00.000-07:00</published><updated>2008-04-29T16:38:10.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boolean'/><category scheme='http://www.blogger.com/atom/ns#' term='elf'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='difference'/><category scheme='http://www.blogger.com/atom/ns#' term='ranlib'/><category scheme='http://www.blogger.com/atom/ns#' term='ar'/><title type='text'>Boolean Difference with object files</title><content type='html'>&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;if [ -f $OUTPUT_FILE ]; then&lt;br /&gt;    rm -i $OUTPUT_FILE&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ -f $OUTPUT_FILE ]; then&lt;br /&gt;    echo &amp;quot;Must remove ${OUTPUT_FILE}&amp;quot;&lt;br /&gt;    exit&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;rm -rf ./$INPUT_LIB_DIR&lt;br /&gt;mkdir $INPUT_LIB_DIR&lt;br /&gt;cd $INPUT_LIB_DIR&lt;br /&gt;&lt;br /&gt;ar x $INPUT_LIB&lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;rm -rf ./$SUBTRACT_LIB_DIR&lt;br /&gt;mkdir $SUBTRACT_LIB_DIR&lt;br /&gt;cd $SUBTRACT_LIB_DIR&lt;br /&gt;&lt;br /&gt;ar x $SUBTRACT_LIB&lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;rm -rf ./$OUTPUT_DIR&lt;br /&gt;mkdir $OUTPUT_DIR&lt;br /&gt;&lt;br /&gt;cd $INPUT_LIB_DIR&lt;br /&gt;&lt;br /&gt;for a in ./*.o&lt;br /&gt;do&lt;br /&gt;    if [ -f ../$SUBTRACT_LIB_DIR/${a} ]; then&lt;br /&gt;        echo &amp;quot;Skipping &amp;quot; ${a} &amp;gt; /dev/null&lt;br /&gt;    else&lt;br /&gt;        echo &amp;quot;Including &amp;quot; ${a}&lt;br /&gt;        cp ${a} ../$OUTPUT_DIR&lt;br /&gt;    fi&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;for a in ./$OUTPUT_DIR/*.o&lt;br /&gt;do&lt;br /&gt;    ar r ./$OUTPUT_FILE $a &lt;br /&gt;done&lt;br /&gt;ranlib ./$OUTPUT_FILE&lt;br /&gt;&lt;br /&gt;rm -rf ./$INPUT_LIB_DIR&lt;br /&gt;rm -rf ./$SUBTRACT_LIB_DIR&lt;br /&gt;rm -rf ./$OUTPUT_DIR&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note: &lt;a href="http://formatmysourcecode.blogspot.com/"&gt;Code Formatting&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-749247316956422777?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/749247316956422777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=749247316956422777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/749247316956422777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/749247316956422777'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/boolean-difference-with-object-files.html' title='Boolean Difference with object files'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8887985015790444021</id><published>2008-04-26T13:49:00.000-07:00</published><updated>2008-07-19T22:48:45.189-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='captcha'/><title type='text'>Captcha</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_IllSYB7JwYI/SBOVhHB1ThI/AAAAAAAAAC0/e2efknkfG4Y/s1600-h/captcha.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_IllSYB7JwYI/SBOVhHB1ThI/AAAAAAAAAC0/e2efknkfG4Y/s200/captcha.jpeg" alt="" id="BLOGGER_PHOTO_ID_5193659191343271442" border="0" /&gt;&lt;/a&gt;Captchas have been in the news recently.  Apparently computers can do a reasonable job at guessing them.  I can't, thats for sure, but I can guess how I could write a program that could guess &lt;span style="font-style: italic;"&gt;better&lt;/span&gt; then me.&lt;br /&gt;&lt;br /&gt;Although, nobody is sure if it is computers or a room full of slave labour doing the guessing.  But somehow they get a success rate greater then 26^6.&lt;br /&gt;&lt;br /&gt;I am guessing the one here is &lt;span style="font-weight: bold;"&gt;xtuixj&lt;/span&gt;, but one can never be sure.  It took me three failures before I got though blogger's captcha today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8887985015790444021?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8887985015790444021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8887985015790444021' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8887985015790444021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8887985015790444021'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/captcha.html' title='Captcha'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_IllSYB7JwYI/SBOVhHB1ThI/AAAAAAAAAC0/e2efknkfG4Y/s72-c/captcha.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-2469717720210606936</id><published>2008-04-20T01:02:00.000-07:00</published><updated>2008-04-20T01:05:26.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delicious'/><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gdm'/><category scheme='http://www.blogger.com/atom/ns#' term='encfs'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='pam'/><title type='text'>Encrypt Your Encryptors</title><content type='html'>&lt;a href="https://help.ubuntu.com/community/FolderEncryption"&gt;EncFS + PAM&lt;/a&gt; = Delicious?  Maybe.  Don't change your password though, you will have to login until encfs stops letting you try login so your password will make it to GDM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-2469717720210606936?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/2469717720210606936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=2469717720210606936' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2469717720210606936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/2469717720210606936'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/encrypt-your-encryptors.html' title='Encrypt Your Encryptors'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-1004260373649754418</id><published>2008-04-19T15:23:00.000-07:00</published><updated>2008-04-19T15:35:58.690-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fish Tank'/><category scheme='http://www.blogger.com/atom/ns#' term='Snails'/><title type='text'>Brain Bug</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_IllSYB7JwYI/SApzuS3dCLI/AAAAAAAAACs/yc4jy_Q5KOA/s1600-h/DSC00797-2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_IllSYB7JwYI/SApzuS3dCLI/AAAAAAAAACs/yc4jy_Q5KOA/s200/DSC00797-2.png" alt="" id="BLOGGER_PHOTO_ID_5191088759673522354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, snails.  The other fish have not yet figured out they are not food so they might not last very long.  They haven't kicked it in a few hours, so, things are looking up.  One of them is having more&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.stampede-entertainment.com/monstermakers/a-bug-6-l.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.stampede-entertainment.com/monstermakers/a-bug-6-l.jpg" alt="" border="0" /&gt;&lt;/a&gt; trouble, maybe he tastes like delicious bugs.  If I tasted like delicious bugs, I would fear for my life.&lt;br /&gt;&lt;br /&gt;Their mouth reminds me of &lt;a href="http://www.imdb.com/title/tt0120201/"&gt;Starship Troopers&lt;/a&gt;.  The brain bug is coming for me and I don't know what to do.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-1004260373649754418?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/1004260373649754418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=1004260373649754418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1004260373649754418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1004260373649754418'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/brain-bug.html' title='Brain Bug'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_IllSYB7JwYI/SApzuS3dCLI/AAAAAAAAACs/yc4jy_Q5KOA/s72-c/DSC00797-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-724435598968730873</id><published>2008-04-15T12:37:00.000-07:00</published><updated>2008-04-15T12:43:45.366-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='chmod'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sticky'/><category scheme='http://www.blogger.com/atom/ns#' term='??'/><title type='text'>Execute Sticky</title><content type='html'>So,&lt;br /&gt;&lt;blockquote&gt;ls -l&lt;br /&gt;filename        size          date                       permissions&lt;br /&gt;hosed.dat     900MB  March 5, 2009       rwxrwxrwx&lt;br /&gt;chmod -x&lt;br /&gt;chmod +t&lt;br /&gt;ls -l&lt;br /&gt;filename        size       date                        permissions&lt;br /&gt;hosed.dat      ??           ??                            ??&lt;br /&gt;&lt;/blockquote&gt;I thought I was crazy, but you must execute your sticky.  'man chmod'&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;       RESTRICTED DELETION FLAG OR STICKY BIT&lt;br /&gt;      The restricted deletion flag or sticky  bit  is  a  single  bit,  whose interpretation  depends on the file type.  For directories, it prevents unprivileged users from removing or renaming a file  in  the  directory unless  they  own  the  file  or  the  directory;  this  is  called the restricted deletion flag for the directory, and is  commonly  found  on world-writable  directories like /tmp.  For regular files on some older systems, the bit saves the program’s text image on the swap  device  so it will load more quickly when run; this is called the sticky bit.&lt;/blockquote&gt;Yah, swap device.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-724435598968730873?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/724435598968730873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=724435598968730873' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/724435598968730873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/724435598968730873'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/execute-sticky.html' title='Execute Sticky'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-739050410571231484</id><published>2008-04-15T00:20:00.000-07:00</published><updated>2008-04-15T00:27:24.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='free'/><category scheme='http://www.blogger.com/atom/ns#' term='iplayer'/><category scheme='http://www.blogger.com/atom/ns#' term='bbc'/><title type='text'>I'll download your streams.</title><content type='html'>&lt;p&gt;So, there are these magic pipes with trucks that get clogged if you ram your trucks then the 'premium content' stops flowing.  Please, somebody think of the royalties.&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:180%;"&gt;"&lt;/span&gt;Streams mean not having to necessarily worry about copy protection - although the iPlayer team did have to make a few tweaks when some enterprising souls found a way to hack the streams.&lt;/p&gt;  &lt;p&gt;Downloads mean you do have to worry about copy protection.&lt;span style="font-size:180%;"&gt;"&lt;/span&gt;&lt;/p&gt;&lt;p&gt;-&lt;a href="http://www.bbc.co.uk/blogs/technology/2008/04/wii.html"&gt;Wii becomes home of online video&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;All of this means linux doesn't get content because the content might catch 'free'.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-739050410571231484?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/739050410571231484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=739050410571231484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/739050410571231484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/739050410571231484'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/ill-download-your-streams.html' title='I&apos;ll download your streams.'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-7999276157023270264</id><published>2008-04-05T23:03:00.000-07:00</published><updated>2008-04-05T23:10:09.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enconomics'/><category scheme='http://www.blogger.com/atom/ns#' term='green'/><title type='text'>Make Work Fallacy</title><content type='html'>Quite &lt;a href="http://www.theregister.co.uk/2008/04/04/gore_solveit_campaign/"&gt;convenient&lt;/a&gt;.  I've been wondering what to call my critique of the green movement for some time.  As I expected, the economists know what they are doing and knew about it all along.  You can't pay more for something and claim it is more efficient, it is inherently less.&lt;br /&gt;&lt;br /&gt;While it is true the open market defers many costs of good onto the public, toxic waste, deforestation, claiming that less of those at any cost is for the better is a fallacy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-7999276157023270264?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/7999276157023270264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=7999276157023270264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7999276157023270264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7999276157023270264'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/make-work-fallacy.html' title='Make Work Fallacy'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-9199890140068183430</id><published>2008-04-04T20:28:00.000-07:00</published><updated>2008-04-05T23:12:41.662-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IMDB'/><category scheme='http://www.blogger.com/atom/ns#' term='Leprechaun'/><category scheme='http://www.blogger.com/atom/ns#' term='Movie'/><category scheme='http://www.blogger.com/atom/ns#' term='Hood'/><title type='text'>Leprechauns</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_IllSYB7JwYI/R_hpuSeZRwI/AAAAAAAAACU/d_hQpkTvMDQ/s1600-h/Leprechaun:+Back+2+tha+hood.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_IllSYB7JwYI/R_hpuSeZRwI/AAAAAAAAACU/d_hQpkTvMDQ/s200/Leprechaun:+Back+2+tha+hood.jpg" alt="" id="BLOGGER_PHOTO_ID_5186011214871348994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am afraid I might have lied to some of you, I am sorry.  I will put that behind me today.  I might have confused &lt;a href="http://www.imdb.com/title/tt0209095/"&gt;Leprechaun: In The Hood (Leprechaun 5)&lt;/a&gt; with &lt;a href="http://www.imdb.com/title/tt0339294/"&gt;Leprechaun: Back 2 tha Hood&lt;/a&gt;.  I am sorry, I would claim ignorance but it is no excuse.  I can only hope you forgive me.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_IllSYB7JwYI/R_hpzCeZRxI/AAAAAAAAACc/A3MePA6vzCw/s1600-h/Leprechaun+in+the+hood.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_IllSYB7JwYI/R_hpzCeZRxI/AAAAAAAAACc/A3MePA6vzCw/s200/Leprechaun+in+the+hood.jpg" alt="" id="BLOGGER_PHOTO_ID_5186011296475727634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Maybe we can watch both of them together.  We will all feel better about putting this behind us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-9199890140068183430?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/9199890140068183430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=9199890140068183430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/9199890140068183430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/9199890140068183430'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/leprechauns.html' title='Leprechauns'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_IllSYB7JwYI/R_hpuSeZRwI/AAAAAAAAACU/d_hQpkTvMDQ/s72-c/Leprechaun:+Back+2+tha+hood.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-7205807865348831649</id><published>2008-04-04T13:26:00.000-07:00</published><updated>2008-04-04T14:44:10.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symbol'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='thread'/><category scheme='http://www.blogger.com/atom/ns#' term='elf'/><category scheme='http://www.blogger.com/atom/ns#' term='thread local storage'/><category scheme='http://www.blogger.com/atom/ns#' term='__thread'/><category scheme='http://www.blogger.com/atom/ns#' term='tls'/><category scheme='http://www.blogger.com/atom/ns#' term='dladdr'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Thread Local Storage</title><content type='html'>So, I've been wondering where exactly this magic thread storage comes from.  Apparently it is just a symbol type that the thread subsystem will utilize to alloc on thread creation.  That is super wacky, but is exactly what I wanted to know.  Now I can write my lockless lock contention detector no problem.&lt;br /&gt;&lt;pre&gt;__thread bool awesome = TRUE;&lt;/pre&gt;Using Thread Local Storage&lt;br /&gt;&lt;a href="http://docs.sun.com/app/docs/doc/817-1984/6mhm7pl2a?a=view"&gt;http://docs.sun.com/app/docs/doc/817-1984/6mhm7pl2a?a=view&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;STT_TLS in ELF files&lt;br /&gt;&lt;a href="http://blogs.sun.com/ali/entry/inside_elf_symbol_tables"&gt;http://blogs.sun.com/ali/entry/inside_elf_symbol_tables&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This could be complemented with symbol from pointer lookup via &lt;b&gt;dladdr&lt;/b&gt;()&lt;br /&gt;&lt;a href="http://linux.die.net/man/3/dlopen"&gt;http://linux.die.net/man/3/dlopen&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-7205807865348831649?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/7205807865348831649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=7205807865348831649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7205807865348831649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7205807865348831649'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/thread-local-storage.html' title='Thread Local Storage'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-8980624588034338922</id><published>2008-04-03T13:34:00.000-07:00</published><updated>2008-04-03T13:40:29.743-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delicious'/><category scheme='http://www.blogger.com/atom/ns#' term='sushi'/><category scheme='http://www.blogger.com/atom/ns#' term='food'/><title type='text'>Delicious</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_IllSYB7JwYI/R_U__yeZRvI/AAAAAAAAACM/r2X2P_FGH1g/s1600-h/DisplayImage.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_IllSYB7JwYI/R_U__yeZRvI/AAAAAAAAACM/r2X2P_FGH1g/s200/DisplayImage.jpg" alt="" id="BLOGGER_PHOTO_ID_5185120911100561138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.umisakehouse.com/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.umisakehouse.com/" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Delicious&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-8980624588034338922?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/8980624588034338922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=8980624588034338922' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8980624588034338922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/8980624588034338922'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/delicious.html' title='Delicious'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_IllSYB7JwYI/R_U__yeZRvI/AAAAAAAAACM/r2X2P_FGH1g/s72-c/DisplayImage.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-966467216222352747</id><published>2008-04-02T18:50:00.000-07:00</published><updated>2008-04-02T18:55:13.980-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='echo'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>It feels like scripting in windows</title><content type='html'>&lt;span style="font-family:courier new;"&gt;#/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;function echo_cmd {&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;    echo $*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    $*&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo_cmd cp /dev/urandom /dev/null&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-966467216222352747?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/966467216222352747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=966467216222352747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/966467216222352747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/966467216222352747'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/it-feels-like-scripting-in-windows.html' title='It feels like scripting in windows'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-1449883368855951306</id><published>2008-04-02T15:24:00.000-07:00</published><updated>2008-04-02T15:25:27.477-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='jeremy'/><category scheme='http://www.blogger.com/atom/ns#' term='jeremi'/><title type='text'>Spam or Engineer?</title><content type='html'>Ha, jeremi is a robot.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://multidimensionalbit.blogspot.com/"&gt;http://multidimensionalbit.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-1449883368855951306?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/1449883368855951306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=1449883368855951306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1449883368855951306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/1449883368855951306'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/04/spam-or-engineer.html' title='Spam or Engineer?'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-62707352341796855</id><published>2008-03-28T22:05:00.001-07:00</published><updated>2008-04-02T15:26:56.389-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delicious'/><category scheme='http://www.blogger.com/atom/ns#' term='mint'/><category scheme='http://www.blogger.com/atom/ns#' term='drink'/><category scheme='http://www.blogger.com/atom/ns#' term='recipe'/><title type='text'>Mint Sunshine</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_IllSYB7JwYI/R-3OKieZRtI/AAAAAAAAAB8/Z4V1F_tCsV8/s1600-h/Photo-0014.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_IllSYB7JwYI/R-3OKieZRtI/AAAAAAAAAB8/Z4V1F_tCsV8/s200/Photo-0014.jpg" alt="" id="BLOGGER_PHOTO_ID_5183025426621613778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;1 shot creme de menthe&lt;br /&gt;3 shots tequila&lt;br /&gt;orange juice to suit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-62707352341796855?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/62707352341796855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=62707352341796855' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/62707352341796855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/62707352341796855'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/03/mint-sunshine.html' title='Mint Sunshine'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_IllSYB7JwYI/R-3OKieZRtI/AAAAAAAAAB8/Z4V1F_tCsV8/s72-c/Photo-0014.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-723470288594687550</id><published>2008-03-25T16:47:00.000-07:00</published><updated>2008-03-25T18:12:32.262-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rfc'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='rfc 4'/><title type='text'>Network Timetable</title><content type='html'>RFC 4.  A little dusty, but has a nice picture of the internet.  4 computers.&lt;br /&gt;&lt;br /&gt;http://www.faqs.org/rfcs/rfc4.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-723470288594687550?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/723470288594687550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=723470288594687550' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/723470288594687550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/723470288594687550'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/03/network-timetable.html' title='Network Timetable'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-7360316514420534496</id><published>2008-03-25T12:36:00.001-07:00</published><updated>2008-03-25T12:36:45.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conf'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='cogito'/><category scheme='http://www.blogger.com/atom/ns#' term='config'/><title type='text'>.cgrc</title><content type='html'>~/.cgrc&lt;br /&gt;&lt;br /&gt;cg-help -c&lt;br /&gt;cg-log -c -f&lt;br /&gt;cg-diff -c --diffcore -b&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-7360316514420534496?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/7360316514420534496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=7360316514420534496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7360316514420534496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/7360316514420534496'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/03/cgrc.html' title='.cgrc'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-6693151716136815502</id><published>2008-03-24T19:03:00.000-07:00</published><updated>2008-03-24T19:46:58.896-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='valgrind'/><category scheme='http://www.blogger.com/atom/ns#' term='ascii'/><category scheme='http://www.blogger.com/atom/ns#' term='massif'/><category scheme='http://www.blogger.com/atom/ns#' term='heap'/><title type='text'>Heap Graph?</title><content type='html'>So, &lt;a href="http://valgrind.org/docs/manual/ms-manual.html"&gt;massif&lt;/a&gt; is the tool to use if you wonder about your heap.&lt;br /&gt;&lt;br /&gt;"valgrind --tool=massif --stacks=yes &lt;exec&gt;[exec]"&lt;br /&gt;&lt;br /&gt;You even get pretty graphs, although I won't attempt to replicate them here.  As there is no respect for ASCII art.&lt;br /&gt;&lt;br /&gt;Note: valgrind &gt; 1.3.2&lt;/exec&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-6693151716136815502?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/6693151716136815502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=6693151716136815502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6693151716136815502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/6693151716136815502'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/03/heap-graph.html' title='Heap Graph?'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-670107587798901944.post-5799242012749381464</id><published>2008-03-21T23:45:00.000-07:00</published><updated>2008-03-24T19:06:12.729-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fish'/><category scheme='http://www.blogger.com/atom/ns#' term='ascii'/><title type='text'>minty fresh filler</title><content type='html'>&lt;span style="font-family:courier new;"&gt;Someone doesn't respect ASCII&lt;br /&gt;&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         .               `         /&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                          .    ,../...       .&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          .                .  /       `\  /  .&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     \    .        o         &lt; '  )     =&lt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     /\  .                    \ \      /  \   .  __&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &gt;=)'&gt;                       `'\'"'"'         /o \/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     \/ .    /         o              /,        \__/\    .:/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     /   .  /--\ /         /         &lt;')=&lt;     .      ,,///;,   ,;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           &lt;o)&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            \__/ \       &lt;')_=&lt;                     &gt;::::::::;;\\\&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;             \            \_/            .            ''\\\\\'' ';\&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    (                      \              .   __&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     )                                       &lt;'_&gt;&lt;          (&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    (          (                ,/..          `              )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     )     (    )             &lt;')   `=&lt;                )    (&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    (       )  (               ``\```                 (      )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;_____)_____(____)______________________________________)____(___________&lt;/span&gt;&lt;/o)&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/670107587798901944-5799242012749381464?l=executedata.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://executedata.blogspot.com/feeds/5799242012749381464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=670107587798901944&amp;postID=5799242012749381464' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/5799242012749381464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/670107587798901944/posts/default/5799242012749381464'/><link rel='alternate' type='text/html' href='http://executedata.blogspot.com/2008/03/minty-fresh-filler.html' title='minty fresh filler'/><author><name>afaucher</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://bp2.blogger.com/_IllSYB7JwYI/R-SqMyeZRrI/AAAAAAAAABo/l3089p9G4LQ/S220/Firefox_wallpaper.png'/></author><thr:total>1</thr:total></entry></feed>
