<?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-5743645610653601748</id><updated>2012-05-20T23:15:23.188-07:00</updated><category term='ruby'/><category term='nio'/><category term='postgres'/><category term='gentoo'/><category term='vm'/><category term='ipv4'/><category term='BSD ports'/><category term='bootstrapping'/><category term='benchmark'/><category term='XBMC'/><category term='mobile software agents'/><category term='thumbdrive'/><category term='short-sighted executives'/><category term='BSD'/><category term='brainfuck'/><category term='pgsql'/><category term='c++ templates'/><category term='make'/><category term='filesystems'/><category term='python'/><category term='ez-install'/><category term='llvm'/><category term='livecd'/><category term='thermaltake'/><category term='Redcode'/><category term='JEE'/><category term='jit'/><category term='gentoo prefix'/><category term='hardware'/><category term='code generation'/><category term='bittorrent'/><category term='linux'/><category term='cooling'/><category term='portage'/><category term='d-link'/><category term='java'/><category term='intelligent agents'/><category term='wifi'/><category term='cpan'/><category term='mobile distributed agents'/><category term='Xbox'/><category term='shell scripts'/><category term='enterprise bus'/><category term='bash'/><category term='gems'/><category term='ggc'/><category term='ad-hoc wifi'/><category term='iPhone'/><category term='unadulterated binary indexing'/><category term='sql'/><category term='owch2'/><category term='microatx'/><category term='living room'/><category term='ddl'/><category term='nano software'/><category term='optimizers'/><category term='Seed technology'/><category term='zalman'/><title type='text'>Parsimony==Law</title><subtitle type='html'>Experience, test, imagine, execute,recurse--
Musings, Benchmarks, Damn Lies, Merciless Tangents, and the philosophy of &lt;i&gt;the Pointless Way of Building&lt;/i&gt; as it applies to &lt;i&gt; software languages and lore&lt;/i&gt;...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-7496952215524298553</id><published>2009-03-17T03:57:00.000-07:00</published><updated>2009-03-17T04:07:45.529-07:00</updated><title type='text'>astound.net trace route dump</title><content type='html'>I'm cancelling service, the shapers produce a nasty little lag effect by frequently shedding packets, though the speed tests to astound.net say the advertised 10megabits, the speedtests as close to me (Walnut crek CA) as texas and washington barely top 1-2 megabits.  looks like this is bargain basement backbone.&lt;br /&gt;&lt;br /&gt;traceroute to astound.net (64.79.201.139), 64 hops max, 40 byte packets&lt;br /&gt; 1  10.0.12.1 (10.0.12.1)  1.211 ms  0.925 ms  0.683 ms&lt;br /&gt; 2  astound-69-42-10-1.ca.astound.net (69.42.10.1)  21.377 ms  9.069 ms  12.245 ms&lt;br /&gt; 3  10.50.2.1 (10.50.2.1)  11.358 ms  8.369 ms  7.881 ms&lt;br /&gt; 4  66-162-144-9.static.twtelecom.net (66.162.144.9)  8.984 ms  8.853 ms  11.924 ms&lt;br /&gt; 5  66.162.128.22 (66.162.128.22)  30.957 ms  30.497 ms  27.770 ms&lt;br /&gt; 6  66.162.128.22 (66.162.128.22)  27.758 ms  28.606 ms  28.858 ms&lt;br /&gt; 7  po1-core1-tuk.wa.spry.com (64.79.223.10)  30.517 ms  29.560 ms  31.455 ms&lt;br /&gt; 8  v4-core0-tuk.wa.spry.com (64.79.223.30)  28.043 ms  30.867 ms  31.878 ms&lt;br /&gt; 9  64.79.201.139 (64.79.201.139)  31.647 ms  30.242 ms  27.496 ms&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-7496952215524298553?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/7496952215524298553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=7496952215524298553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/7496952215524298553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/7496952215524298553'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2009/03/astoundnet-trace-route-dump.html' title='astound.net trace route dump'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-687163534465626774</id><published>2008-11-06T01:40:00.000-08:00</published><updated>2008-11-06T03:25:34.438-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='shell scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='pgsql'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='ddl'/><category scheme='http://www.blogger.com/atom/ns#' term='postgres'/><category scheme='http://www.blogger.com/atom/ns#' term='code generation'/><title type='text'>seriously simplified postgresql relationship notations/generation</title><content type='html'>I wanted to blog this small hack while it was still fresh in my head.  I am using this to define and fine-tune a postgresql database prior to loading up the data (seperate scripts for another post perhaps)&lt;br /&gt;&lt;br /&gt;from a bash commandline paste in:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;br /&gt;function m2m () {&lt;br /&gt;for i in $@;&lt;br /&gt;do&lt;br /&gt;echo "create table $i (id bigserial primary key , meta xml );";&lt;br /&gt;done;&lt;br /&gt;echo "create table $1_$2 ($1 bigint references $1, $2 bigint references $2, primary key ($1,$2 )); "&lt;br /&gt;}&lt;br /&gt;function relate () {&lt;br /&gt;for i in $@;&lt;br /&gt;do&lt;br /&gt;IFS='+';&lt;br /&gt;eval c=(${i[*]});&lt;br /&gt;src=$c;&lt;br /&gt;unset c[0];&lt;br /&gt;for j in ${c[*]};&lt;br /&gt;do&lt;br /&gt;m2m $src $j;&lt;br /&gt;done;&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function bouncedb () {&lt;br /&gt;p=($@);&lt;br /&gt;db=$p;&lt;br /&gt;dropdb $db;&lt;br /&gt;createdb $db;&lt;br /&gt;unset p[0];&lt;br /&gt;relate ${p[*]}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;then :&lt;br /&gt;&lt;br /&gt;bouncedb jim artist+album album+song song+lyrics&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;span style="font-size:78%;"&gt;create table artist (id bigserial primary key , meta xml );&lt;br /&gt;create table album (id bigserial primary key , meta xml );&lt;br /&gt;create table artist_album (artist bigint references artist, album bigint references album, primary key (artist,album ));&lt;br /&gt;create table album (id bigserial primary key , meta xml );&lt;br /&gt;create table song (id bigserial primary key , meta xml );&lt;br /&gt;create table album_song (album bigint references album, song bigint references song, primary key (album,song ));&lt;br /&gt;create table song (id bigserial primary key , meta xml );&lt;br /&gt;create table lyrics (id bigserial primary key , meta xml );&lt;br /&gt;create table song_lyrics (song bigint references song, lyrics bigint references lyrics, primary key (song,lyrics ));&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-687163534465626774?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/687163534465626774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=687163534465626774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/687163534465626774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/687163534465626774'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/11/seriously-simplified-postgresql.html' title='seriously simplified postgresql relationship notations/generation'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-3723835229597828837</id><published>2008-10-01T21:49:00.000-07:00</published><updated>2008-10-01T21:53:54.848-07:00</updated><title type='text'>terraform java project to maven</title><content type='html'>&lt;div class="PubSectionHeader"&gt;&lt;br /&gt;This is a hack i put togetther to convert texai from netbeans to maven, with some success.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;a href="http://www.google.com/notebook/public/18239550943564485025/BDQ5wIgoQxbPnoIIj#SDQExDQoQ1ZPp3csj"&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;terraform java and netbeans project to maven&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;what it is:&lt;br /&gt;&lt;br /&gt;a shell script, which includes a few gnu-specific MacPorts shell env amenities to take advantage of gnu tools&lt;br /&gt;&lt;br /&gt;what it does:  converts multiple java projects to maven 'parent' and 'parent-child' directories&lt;br /&gt;&lt;br /&gt;syntax:&lt;br /&gt;&lt;br /&gt;$ cd projectRoot&lt;br /&gt;$ DEBUG=t terraform.sh subprj1 subprj2 ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Features:&lt;/span&gt;&lt;br /&gt;if present, this will read netbeans project info and add some metadata&lt;br /&gt;&lt;br /&gt;runs the basic archetype to create a relatively sane project.&lt;br /&gt;creates parent/module links&lt;br /&gt;this one is HUGE--&lt;br /&gt;*** converts lib/*.jar to &lt;span style="font-style: italic; font-weight: bold;"&gt;LOCAL MAVEN REPO &lt;/span&gt;entries in the poms ***&lt;br /&gt;tries to infer packages it can reuse from the default repos with a small set of presets (such as in texai)&lt;br /&gt;converts src/** to maven convention defaults of src/main/java&lt;br /&gt;converts **/test/** to maven convention defaults of src/test/java&lt;br /&gt;other stuff.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-3723835229597828837?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/3723835229597828837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=3723835229597828837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/3723835229597828837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/3723835229597828837'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/10/terraform-java-project-to-maven.html' title='terraform java project to maven'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-4256339824925963196</id><published>2008-09-22T20:47:00.000-07:00</published><updated>2008-09-23T13:35:12.471-07:00</updated><title type='text'>CRUD for a random pojo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_StL57G6Cx-w/SNiIpdwIDSI/AAAAAAAABKc/JAAsvqii27M/s1600-h/Picture+1.png"&gt;&lt;img style="text-align: right;float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px; cursor: pointer; " src="http://4.bp.blogspot.com/_StL57G6Cx-w/SNiIpdwIDSI/AAAAAAAABKc/JAAsvqii27M/s320/Picture+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5249095611642809634" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;many years ago i wrote the most minimal and barebones java bean CRUD form to do generic data entry in some distributed agent use cases.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I have more or less brushed this off and given it an autoboxing nudge.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;in the particular instance used for demonstration, XStream *can* be in the&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; class path for our test pojo "Subject", as shown in the debugger below.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;XStream is used opportunistically via reflection when found in the classpath, but is not an interruption otherwise.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_StL57G6Cx-w/SNiISUSL39I/AAAAAAAABKU/T5UU79nmqac/s320/Picture+2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5249095213964320722" /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The editor is pretty simple, it does its best effort to edit to and from strings.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;For this test case we use the swing JOptionPane to provide us with a dialog box using 1 line of code around the JPanel. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;the next slide shows a little bit of extra credit, putting the original values in the tooltips. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;next, the final result, hitting "Yes".  The Pojo "Subject class" has managed to do round trip editing of a primitive "int" as well as a string.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_StL57G6Cx-w/SNiH4MlLXcI/AAAAAAAABKM/qHUr-VrTpG4/s320/Picture+3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5249094765219896770" /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;source code is here: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.google.com/notebook/public/18239550943564485025/BDQ5wIgoQxbPnoIIj#SDSaoIgoQupju6sgj" style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); text-decoration: none;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.google.com/notebook/public/18239550943564485025/BDQ5wIgoQxbPnoIIj#SDSaoIgoQupju6sgj"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;the most generic possible CRUD in java&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-4256339824925963196?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/4256339824925963196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=4256339824925963196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/4256339824925963196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/4256339824925963196'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/09/dump-random-pojo.html' title='CRUD for a random pojo'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_StL57G6Cx-w/SNiIpdwIDSI/AAAAAAAABKc/JAAsvqii27M/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-1392318130227663515</id><published>2008-09-15T11:46:00.000-07:00</published><updated>2008-09-23T13:22:12.353-07:00</updated><title type='text'>java polymorphic functional metaprogramming</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Times"&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;I picked up an old project this weekend and knocked it into orbit along with most of the common assumptions I had about implementing languages in java. &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;What i had 6 months ago was an artificial heap tool to create cursors in a tract of RAM that act as structs, and the means to generate pojo facades, or visitors, very effective for mmap'd stuff.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;this weekend I added the concept of an execution environment to the heap metaprogramming.  I'm also working out the generator [re]- generating the successive generators (&lt;span class="Apple-style-span" style="font-size: medium;"&gt;a nod to &lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia; "&gt;&lt;a href="http://gentootweeker.blogspot.com/2008/02/diamond-age-by-neal-stephenson-reviewed.html"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The Diamond Age, Seed Technology :)&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: 'Lucida Grande'; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;I created a mmap'd abstraction of heap, a small cache-friendly register page, and a int[] stack abstraction to provide a context mechanism. &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;I decided upon predicate-subject execution pairing in order to provide an execution environment directly within a graph-store of triples, thus a large mmap'd extent of triples can themselves be executing their representative functions upon graphs so designed as programs, where function vectors assign meanings to triple predicates.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;the java binding of predicate-&gt;subject interaction to heap objects falls upon an invented vtable.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;the vtable uses enum (Enum extends VTable, actually) elements as methods.  vtable instances carry a  'traits' bitmap to facilitate 'state' transform 'views' of the byte-extents rather than java inherited type system. thus two objects with common traits or a path to common traits can 'view transform' their bytes of heap state to a LCD medium polymorphically.  additionally, traits path resolution can be transferred among vtables at runtime as a growing cache of type impedance resolutions.  &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;the vtable's functions, which are java's enum elements have symbolic names matching their predicates.  matching as many predicates as possible in fact, in an execution order. &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;to illustrate the simplest component, here's a genuine metaprogram java enum creating 3 concrete struct storage slots of int heap, and what happens at &lt;clinit&gt; time.&lt;/clinit&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Trebuchet MS'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;java syntax:&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Trebuchet MS'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;enum Triple&lt;/b&gt; implements VTable{&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 13px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;span style="font: normal normal normal 19px/normal Courier; "&gt;&lt;b&gt;subject(4),&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;/span&gt;//offset = 0; offset is a computed final value in the elements&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;predicate(4),&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;span style="font: normal normal normal 13px/normal Courier; "&gt;//offset += 4&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 13px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;span style="font: normal normal normal 19px/normal Courier; "&gt;&lt;b&gt;$as$Predicate&lt;/b&gt;(&lt;b&gt;predicate&lt;/b&gt;), &lt;/span&gt;//copy ctor 'predicate' element, size and offset are copied not computed&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 13px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;span style="font: normal normal normal 19px/normal Courier; "&gt;&lt;b&gt;object(4)&lt;/b&gt;,&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;/span&gt;//offset +=size==8 now, total final length of the bytes is 12 (8 offset +4 bytes data)&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 13px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;span style="font: normal normal normal 19px/normal Courier; "&gt;&lt;b&gt;$as$Uri(0,0)&lt;/b&gt;{[...]}   &lt;/span&gt;//size=offset=0, pointer to triple, has methods but no writable extent.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 13px/normal Courier; color: rgb(51, 51, 51); "&gt;;[...]&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;}&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;layout of heap bytes:&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;enum Triple{            0__________b &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;subject                 0__3 &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;predicate|&lt;b&gt;             &lt;/b&gt;     4__7 &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;         |&lt;b&gt;$as$Predicate&lt;/b&gt;     4__7 &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;object                          8__b&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 15px/normal 'Trebuchet MS'; color: rgb(51, 51, 51); "&gt;&lt;span style="font: normal normal normal 19px/normal Courier; "&gt;&lt;b&gt;$as$Uri&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;   &lt;/span&gt; &lt;/span&gt;&lt;span style="font: normal normal normal 18px/normal 'Trebuchet MS'; "&gt;&lt;b&gt;               &lt;/b&gt;0-- // &lt;/span&gt;as in just a pointer to the struct head&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;}&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;&lt;b&gt;narrative:&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Predicate&lt;/b&gt; is an enum element that looks and acts like "predicate" element, but differs in a few ways by very cheap arrangement of the java source code.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;1) the state of &lt;b&gt;$as$Predicate&lt;/b&gt; as it pertains to its artificial heap struct is identical.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;2) the name of &lt;b&gt;$as$Predicate&lt;/b&gt; itself contains a predicate, "as", allowing one to 'infer' that there is a triple "as" or providing a 'predicate' on its behalf, where a trait would specify Triple needs Predicate traits&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;3) predicate and &lt;b&gt;$as$Predicate &lt;/b&gt;java enum elements don't share methods, or names, but do share data.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Uri&lt;/b&gt; -- one of several ways to provide an enum element with struct pointer offset information and methods&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;the java enum elements provide a type inference hint as to what they intend to do.  they contain as many methods as required for the traits they start out with to make this happen, and it is hoped with as much type inference as can be achieved in java.. &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;thus 'predicate' seems a little less constricting than choosing either the term "function" or "method".&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;the java method's names within the java enum elements are short, and incidentally, as a type inference and polymorphic experiment, the attempt is that the &lt;b&gt;java$enum$element$Methods&lt;/b&gt; are all named '&lt;b&gt;$&lt;/b&gt;', or '&lt;b&gt;$$&lt;/b&gt;', and so on, exposing the outer most '&lt;b&gt;$&lt;/b&gt;' externally, and to use local methods '&lt;b&gt;$$&lt;/b&gt;' by type inference dispatch from within '&lt;b&gt;$&lt;/b&gt;' execution, and so forth choosing '&lt;b&gt;$$$&lt;/b&gt;' from there.. etc, via generics -- an experimental work in test to impose maximum type inference via javac and generics wildcard-capture.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;Figure-A ; Literate programming using symbol declarations as Predicate Assertions&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;a simple syntax to seed VTable definitions and typedefs: &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;enum Graph{&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Set$$Vertice(Set),&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Set$$Edge(false),;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;}&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; min-height: 23px; color: rgb(51, 51, 51); "&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;declarations representative of the semantic linkage produced at &lt;clinit&gt; and successive code generations:&lt;/clinit&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;enum Vertice{&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 16px/normal Courier; color: rgb(51, 51, 51); "&gt;/** a java enum slot before code-regen, runtime bound&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 16px/normal Courier; color: rgb(51, 51, 51); "&gt;    automatically in &lt;clinit&gt; time as $as$Point(Point) &lt;/clinit&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 16px/normal Courier; color: rgb(51, 51, 51); "&gt;*/&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Point,&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; min-height: 23px; color: rgb(51, 51, 51); "&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;/**&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;the same effect, after reflecting the previous generation.&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;*/&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Triple($as$Value$Type.){{$as$Value$Type=Triple.class;}},;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; min-height: 23px; color: rgb(51, 51, 51); "&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;}&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; min-height: 23px; color: rgb(51, 51, 51); "&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;enum Pair{&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$first(4),       &lt;/b&gt;&lt;span style="font: normal normal normal 16px/normal Courier; "&gt;//pointer -&gt; &lt;any&gt;&lt;/any&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$second(false),; &lt;/b&gt;&lt;span style="font: normal normal normal 16px/normal Courier; "&gt;//&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;}&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; min-height: 23px; color: rgb(51, 51, 51); "&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;enum Edge{&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;$as$Pair$$Vertice(Pair),;&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt;}&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; min-height: 23px; color: rgb(51, 51, 51); "&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;Triple t = (Triple) Triple.$(ByteBuffer heap, byte[] register, int[] stack)&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal Courier; color: rgb(51, 51, 51); "&gt;&lt;b&gt; //semantic typedef: (my) $ (slot within) as $ (my) Set $$ (Set having ) Vertice&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;as close to &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;&lt;b&gt;public final static  ((Vtable)MyType).java$enum$element$method.$(...)&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;as possible but no closer.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;...unifying java method names is hoped to reduce the complexity of n*m Functor*Methods combinatorial at runtime,  allowing the type specifications to be a hidden ugliness of java rather than a geometrically growing typecast typing practice exercise, or to toss out type introspective inference entirely by forcing method clients to call &lt;b&gt;(Object)foo&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;and finally, by (manually) naming the function symbols as closely descriptive of their intent as possible, need all simple functions be retained or executed once so declared?  this is a question for inference at a later juncture, but the hope is to produce a system of pure java compilation, and to aid in features which promote the greatest runtime entropy.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;there is an additional component to outwardly expressive symbol names -- semantic inference.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;I already produced a simple reflection based source code regenerator from the reflection artifacts of the objects at runtime.  a package's enums are regenerated.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;these enums, designed as stateless visitors prior to the vtable binding concepts, also semantically link to each other based on symbol names and predicate hints in the first edition.  they do this linking both at &lt;clinit&gt; time in java and at reflection/generation time in the tool, same outcome with slightly different implementations.&lt;/clinit&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;I have added &lt;b&gt;$as$comment$String&lt;/b&gt; and &lt;b&gt;$as$java$sourcecode$String&lt;/b&gt; attributes to generative elements, both enum classes and enum elements,  so that reflection can access these as &lt;span style="text-decoration: underline; "&gt;&lt;b&gt;String field.get()&lt;/b&gt;&lt;/span&gt;, put them into the source code being generated, and something ASM and BCEL cannot accomplish, display source code and comments at runtime.  &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;Using Annotations as a data fork on the reproductive elements of the source representation was considered, but as forks go, it makes more work for the reflection process of re-assembling source code, and increases dependancies. &lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;I'm interested in some amount of syntactical facilitation of other predicate logic representations and grammars, not opposed to a runtime regex thunk in the background if needed, to align the manual and syntactically facilitated tricks that are generator-refined over time.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; min-height: 22px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 19px/normal 'Lucida Grande'; color: rgb(51, 51, 51); "&gt;there is enough here to go forward writing a really, seriously twisted performance form of java triple store on shmem heap, aided as well by a second project of mine underway building a sparql query and caching relational mapper in c++.  Sparql queries in a JVM context is probably not an important  criterion, its more the bus throughput of working on the triples once they are in a common blob on disk (unified structurally to the c++ triple cache layout, and mmap'd).&lt;/p&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'Lucida Grande';font-size:19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-1392318130227663515?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/1392318130227663515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=1392318130227663515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/1392318130227663515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/1392318130227663515'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/09/java-polymorphic-functional.html' title='java polymorphic functional metaprogramming'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-1111546023828379431</id><published>2008-05-26T21:29:00.000-07:00</published><updated>2008-09-23T13:17:27.313-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zalman'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='thermaltake'/><category scheme='http://www.blogger.com/atom/ns#' term='microatx'/><category scheme='http://www.blogger.com/atom/ns#' term='living room'/><category scheme='http://www.blogger.com/atom/ns#' term='livecd'/><category scheme='http://www.blogger.com/atom/ns#' term='cooling'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='thumbdrive'/><title type='text'>The new hotness: My silent living room server hack.</title><content type='html'>&lt;table style="width: auto;"&gt;    &lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;&lt;a href="http://picasaweb.google.com/walnut.creek.gentoo.defiler/TheNewHotnessAmdHDMIBox/photo#5204920210702145618"&gt;&lt;img src="http://lh5.ggpht.com/walnut.creek.gentoo.defiler/SDuXWtMnGFI/AAAAAAAAAmI/q2POCkeynIU/s200/DSC03470.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;&lt;br /&gt;Inside of... &lt;a href="http://picasaweb.google.com/walnut.creek.gentoo.defiler/TheNewHotnessAmdHDMIBox"&gt;the new hotness...&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt; &lt;/table&gt; &lt;h2&gt;new toy...&lt;/h2&gt;I had a recent discovery... VMWARE CRUMBLES under situations where the shutdown is less than planned, I could reboot and fsck vista, however vmware would not sync up due to untold and countless numbers of sync, lock, and snapshot inconsistencies. after a dozen rescues and one nasty failure, this got old. It was time to move gentoo onto my former AMD dual core and reuse some DDR2 sticks which were mismatched with other sets of 4.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;now it's running (and building) &lt;a href="http://research.cyc.com/"&gt;ResearchCyc 1.0&lt;/a&gt; and performing filesystem experiments for the &lt;a href="http://challenge.semanticweb.org/"&gt;Billion Triples Challenge.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not bad for a silent living room box with a console on my hd-tv&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;/p&gt;&lt;table style="border-collapse: collapse; table-layout: fixed; width: 452pt;" border="0" cellpadding="0" cellspacing="0" width="602"&gt;   &lt;col style="width: 92pt;" width="122"&gt;&lt;col class="xl82" style="width: 58pt; text-align: center;" width="77"&gt;&lt;col style="width: 302pt;" width="403"&gt;&lt;tbody&gt;     &lt;tr style="height: 15.75pt;" height="21"&gt;       &lt;td class="xl65"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 1.5pt solid white; height: 15.75pt; width: 92pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; color: white; font-weight: 700; background-color: rgb(79, 129, 189);font-family:Calibri,sans-serif;" height="21" width="122"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Silent But gladly&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl81"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 1.5pt solid white; width: 58pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; color: white; font-weight: 700; text-align: center; background-color: rgb(79, 129, 189);font-family:Calibri,sans-serif;" width="77"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Setback&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl66"  style="border-style: none none solid; border-bottom: 1.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; font-style: normal; text-decoration: none; vertical-align: bottom; color: white; font-weight: 700; background-color: rgb(79, 129, 189); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;More….&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 15.75pt;" height="21"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 15.75pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="21"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;case&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$120.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Thermaltake Lanbox&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 45pt;" height="60"&gt;       &lt;td class="xl69"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 45pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;" height="60"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Motherboard&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl84"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$80.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl70" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;MSI K9AGM2-FIH Socket AM2 AMD 690G DDR2 mATX Motherboard w/ HDMI, FireWire, Radeon 1250 Video, 8ch Audio, and GigaBit LAN.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 15pt;" height="20"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 15pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;PSU&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$130.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Zalman ZM-600 HP Heatpipe Cooled PSU.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;blue internal light.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 60pt;" height="80"&gt;       &lt;td class="xl69"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 60pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;" height="80"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;CPU cooler&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl84"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$80.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl70" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;ZALMAN CNPS 9500 AM2 2 Ball CPU Cooling Fan/Heatsink-- squashed about 1.5 inches.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;fan bent 50 degrees aimed at chipset riser.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;flush to PSU intake fan above at about 1-2 cm apart.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 30pt;" height="40"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 30pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="40"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;System Media&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$50.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;(4gb) scsi 0:0:0:0: Direct-Access&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;LEXAR&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;JD LIGHTNING II&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1100 PQ: 0 ANSI: 0 CCS.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 30pt;" height="40"&gt;       &lt;td class="xl69"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 30pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;" height="40"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;CPU&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl84"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$240.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl70" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02 - 2.0 ghz&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 30pt;" height="40"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 30pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="40"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;RAM&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$130.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Patriot Viper 4GB (2 x 2GB) 240-Pin DDR2 SDRAM DDR2 1066 (PC2 8500) Dual Channel Kit Desktop Memory @ 800mhz&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 60pt;" height="80"&gt;       &lt;td class="xl69"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 60pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;" height="80"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;keyboard&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl84"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$20.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl70" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1998 M$ Internet Explorer Keyboard, usb+ps2+hub used for xbox, this machine, approx 30-40 machines before it, 100's of OS installs across 4 generations of CPU-- 300 bogomips up to 22000 OC q6600.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 45pt;" height="60"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 45pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="60"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;noise levels&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$0.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;PSU noise only, silent to within 1 foot of case.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;our flourescent bulbs make more noise than the box.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;qfan on max cooling 40 degree 5 degree&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 60pt;" height="80"&gt;       &lt;td class="xl69"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 60pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;" height="80"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;case fans&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl84"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$0.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl70" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;3, fixed-voltage, disconnected for noise and wear.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;2 on back deck above accessories panel. 1 blue lighted fan in front.&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The case fans were stock however the connectors are 2-pin and the fans make a lot more noise than the PSU.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 15pt;" height="20"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 15pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;video&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$0.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;hdmi over radeon 500/AMD/Ati 1250.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 30pt;" height="40"&gt;       &lt;td class="xl69"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 30pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;" height="40"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;System Media&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl84"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(219, 229, 241);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$0.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl70" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;(4gb) scsi 0:0:0:0: Direct-Access&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;LEXAR&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;JD LIGHTNING II&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1100 PQ: 0 ANSI: 0 CCS.&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 15pt;" height="20"&gt;       &lt;td class="xl67"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; height: 15pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Ethernet&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl83"  style="border-style: none solid solid none; border-right: 0.5pt solid white; border-bottom: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; text-align: center; background-color: rgb(184, 204, 228);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$0.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl68" dir="ltr"  style="border-style: none none solid; border-bottom: 0.5pt solid white; width: 302pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(184, 204, 228); white-space: normal;font-family:Calibri,sans-serif;" width="403"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;cat 5e tested good to 75% gig-e utilization&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;     &lt;tr style="height: 15pt;" height="20"&gt;       &lt;td class="xl71"  style="border-style: none solid none none; border-right: 0.5pt solid white; height: 15pt; padding-top: 1px; padding-right: 1px; padding-left: 1px; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; color: white; background-color: rgb(128, 100, 162);font-family:Calibri,sans-serif;" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Cha-Ching!!!&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl85"  style="border-style: none solid none none; border-right: 0.5pt solid white; padding-top: 1px; padding-right: 1px; padding-left: 1px; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: bottom; white-space: nowrap; color: white; text-align: center; background-color: rgb(128, 100, 162);font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;$850.00&lt;/span&gt;&lt;/td&gt;       &lt;td class="xl72"  style="border-style: none; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-weight: 400; font-style: normal; text-decoration: none; vertical-align: top; background-color: rgb(219, 229, 241); white-space: normal;font-family:Calibri,sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt; &lt;/table&gt; &lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;p&gt;&lt;/p&gt;  &lt;div id="lanbox silent pc_3712" publishsource="Excel" align="center"&gt; &lt;/div&gt;  &lt;span class="Apple-style-span"  style="font-size:medium;"&gt;First, the inspired record-setting non-trunked ethernet saturation that has heretofore never been witnessed on my personal hardware: &lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This was a mounted cifs volume to my quad-core vista with raid-0 across 3 drives (~170 M/s during the rare opportunity for non-interrupted linear IO under vista)&lt;/span&gt;&lt;/div&gt;  &lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;livecd slow # mount |grep slow &lt;/span&gt;&lt;/span&gt; &lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;//10.0.12.223/in on /mnt/slow type cifs (rw,user=guest)   &lt;/span&gt;&lt;/blockquote&gt;  &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;a write test, and speed-indicator prior to loop-mounting over cifs. &lt;/span&gt;&lt;/span&gt; &lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;livecd slow # dd &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;if=/dev/zero&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; of=ntfs.test &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;count=16 bs=256M&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; 16+0 records in 16+0 records out   &lt;/span&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;256+0 records in&lt;/blockquote&gt;  &lt;blockquote&gt;256+0 records out&lt;/blockquote&gt;  &lt;blockquote&gt;4294967296 bytes (4.3 GB) copied, 52.1532 s, 82.4 MB/s&lt;/blockquote&gt;  &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;the LEXAR media benchmark, &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;livecd slow # &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;hdparm --direct -t /dev/sda&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt; &lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/dev/sda: Timing O_DIRECT disk reads: 100 MB in 3.05 seconds = &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;32.79 MB/sec&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;   &lt;/span&gt;&lt;/blockquote&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;the general size of the running image with portage rsync'd, and kernel sources installed and built without clean.&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;livecd slow # du / -xs&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;3926493 /   &lt;/span&gt;&lt;/blockquote&gt;  &lt;span class="Apple-style-span"  style="font-size:medium;"&gt;livecd slow # &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;df -h &lt;/span&gt;&lt;/span&gt; &lt;blockquote&gt;   &lt;table style="table-layout: fixed; width: 346pt; border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="462"&gt;     &lt;colgroup&gt; &lt;col style="width: 95pt;" width="127"&gt; &lt;col style="width: 48pt;" span="4" width="64"&gt; &lt;col style="width: 59pt;" width="79"&gt; &lt;/colgroup&gt;&lt;tbody&gt;       &lt;tr style="height: 15pt;" height="20"&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 1.5pt medium; background: rgb(79, 129, 189) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 700; width: 95pt; height: 15pt; text-decoration: none;font-family:Calibri;color:white;" align="left" height="20" width="127"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Filesystem&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 1.5pt medium; background: rgb(79, 129, 189) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 700; width: 48pt; text-decoration: none;font-family:Calibri;color:white;" align="left" width="64"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Size&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 1.5pt medium; background: rgb(79, 129, 189) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 700; width: 48pt; text-decoration: none;font-family:Calibri;color:white;" align="left" width="64"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Used&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 1.5pt medium; background: rgb(79, 129, 189) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 700; width: 48pt; text-decoration: none;font-family:Calibri;color:white;" align="left" width="64"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Avail&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 1.5pt medium; background: rgb(79, 129, 189) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 700; width: 48pt; text-decoration: none;font-family:Calibri;color:white;" align="left" width="64"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Use%&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none none solid; border-width: medium medium 1.5pt; background: rgb(79, 129, 189) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 700; width: 59pt; text-decoration: none;font-family:Calibri;color:white;" align="left" width="79"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Mounted&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;       &lt;tr style="height: 15pt;" height="20"&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; height: 15pt; text-decoration: none;font-family:Calibri;color:black;" align="left" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/dev/sda1&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;3.8G&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;3.5G&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;262M&lt;/span&gt;&lt;/td&gt;         &lt;td class="xl68"   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="right"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;94.00%&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none none solid; border-width: medium medium 0.5pt; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;       &lt;tr style="height: 15pt;" height="20"&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; height: 15pt; text-decoration: none;font-family:Calibri;color:black;" align="left" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/tmp&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.9G&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;28K&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.9G&lt;/span&gt;&lt;/td&gt;         &lt;td class="xl68"   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="right"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.00%&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none none solid; border-width: medium medium 0.5pt; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/tmp&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;       &lt;tr style="height: 15pt;" height="20"&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; height: 15pt; text-decoration: none;font-family:Calibri;color:black;" align="left" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/vol/image.squashfs&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.6G&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.6G&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;0B&lt;/span&gt;&lt;/td&gt;         &lt;td class="xl68"   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="right"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;100.00%&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none none solid; border-width: medium medium 0.5pt; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/mnt/livecd&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;       &lt;tr style="height: 15pt;" height="20"&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; height: 15pt; text-decoration: none;font-family:Calibri;color:black;" align="left" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;udev&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;10M&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;112K&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;9.9M&lt;/span&gt;&lt;/td&gt;         &lt;td class="xl68"   style="border-style: none solid solid none; border-width: medium 0.5pt 0.5pt medium; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="right"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;2.00%&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none none solid; border-width: medium medium 0.5pt; background: rgb(219, 229, 241) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/dev&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;       &lt;tr style="height: 15pt;" height="20"&gt;         &lt;td   style="border-style: none solid none none; border-width: medium 0.5pt medium medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; height: 15pt; text-decoration: none;font-family:Calibri;color:black;" align="left" height="20"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;vartmp&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid none none; border-width: medium 0.5pt medium medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.9G&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid none none; border-width: medium 0.5pt medium medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;554M&lt;/span&gt;&lt;/td&gt;         &lt;td   style="border-style: none solid none none; border-width: medium 0.5pt medium medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1.4G&lt;/span&gt;&lt;/td&gt;         &lt;td class="xl68"   style="border-style: none solid none none; border-width: medium 0.5pt medium medium; background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="right"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;29.00%&lt;/span&gt;&lt;/td&gt;         &lt;td   style="background: rgb(184, 204, 228) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: 400; text-decoration: none;font-family:Calibri;color:black;" align="left"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;/var/tmp&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/blockquote&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;h2&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Other Features:&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;this working gentoo installation is a live-cd from thumb-drive -- the livecd squashfs image provides 1.6 gigs of AMD64 gentoo, which is about 4 gigs uncompressed even with reiserfs tails.&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Rather than run in a read-only FS the command:&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span" style=""&gt; &lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;cp -asx /mnt/livecd/{usr,opt,lib,dev} /mnt/gento&lt;/span&gt;&lt;/blockquote&gt; &lt;/span&gt;&lt;/div&gt;      &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;...provides the read-only but replaceable base filesystem (all directories full of symlinks pointing back to the read-only compressed volume), leaving the other dirs to exists as-first class persistent files. without /etc, /bin, /sbin, /lib, and /var using genuine files, the system doesn't bootstrap well.&lt;br /&gt;&lt;br /&gt;portage plays nicely with this configuration.  using the livecd (on USB dvd) seems to provide the grub package without forcing the emerge (of grub) step in stage 3. big time saver.&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div style="font-weight: bold;"&gt; &lt;h2&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Yet TODO:&lt;/span&gt;&lt;/h2&gt; &lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;my original hunch was to build a thumbdrive linux, and then transfer the filesystem to a flat image file with an nfs server boot and tftpd with pxegrub. &lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;benchmarking the network filesystem confirms this (gig-e link) as a valid route to performance. The vista (x64) server has 8 gigs which will help out with access turnaround, but building the userspace nfsd on vista might be a chore. cygwin nfsd will chew up an entire core on high speed transfers, that's not likely to help much.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;update: vista has been retired.  a new mac book pro has taken its place.  The quadcore and terabytes await razing some time soon with a gentoo clone of the living room machine (at 82M/s !!).&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-1111546023828379431?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/1111546023828379431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=1111546023828379431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/1111546023828379431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/1111546023828379431'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/05/new-hotness-my-silent-living-room.html' title='The new hotness: My silent living room server hack.'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/walnut.creek.gentoo.defiler/SDuXWtMnGFI/AAAAAAAAAmI/q2POCkeynIU/s72-c/DSC03470.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-4105254123762211129</id><published>2008-02-18T17:42:00.000-08:00</published><updated>2008-02-18T22:10:08.797-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='filesystems'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='benchmark'/><title type='text'>Another dusty benchmark: Filesystem Torque Curves, gentoo 2.4.18</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_StL57G6Cx-w/R7pNeneJPgI/AAAAAAAAATU/RQJ8bLJWJC4/s1600-h/throughput_k_s.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_StL57G6Cx-w/R7pNeneJPgI/AAAAAAAAATU/RQJ8bLJWJC4/s400/throughput_k_s.png" alt="" id="BLOGGER_PHOTO_ID_5168528710747897346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Filesystem Torque Curves, gentoo linux 2.4.18   5400rpm maxtor 80gig on athlon xp1700&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Doing more cleaning, and dusted off an old filesytem benchmark deserving of notice.&lt;br /&gt;&lt;br /&gt;This benchmark was built from a  bash script that formatted the same partition each time with different filesystems and the -o options shown on the legend.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://samba.org/ftp/tridge/dbench/README"&gt;dbench&lt;/a&gt; was run with x processes and then the filesystem was wiped and formatted as above and the buffers purged.  I ran this many times and got comfortable with the relative numbers being consistent, so this may represent only 1 test run but it was pretty stable at the time.&lt;br /&gt;&lt;br /&gt;dbench runs a recorded session of deliberate samba abuse * &lt;span style="font-style: italic;"&gt;n&lt;/span&gt; processes; A collection of large file operation and inode abuse.&lt;br /&gt;&lt;br /&gt;Presently this machine is an anonymous motherboard sitting on a shelf in a stack next to a collection of anonymous old hard drives these days.&lt;br /&gt;&lt;br /&gt;I wrote this benchmark to see if I was actually missing out on something that XFS brought to the table.  I tend to go with reiser3 (&lt;span style="font-weight: bold;"&gt;tails rock for all things portage&lt;/span&gt;) for general purpose filesystems and ext2 or huge swapfs for performance workloads such as processing multimedia or mythtv sandbox.&lt;br /&gt;&lt;br /&gt;XFS was touted as the coolest filesystem and supposedly excelled at all things for all needs according to several zealots I've run across.  I always thought that it looked a bit contrived compared to ext2 and had less thought to detail than reiserfs.  i had no idea those 2 filesystems would leave it in the dust until I ran the benchmark.&lt;br /&gt;&lt;br /&gt;I'm fascinated these days with  &lt;a href="http://www.complang.tuwien.ac.at/czezatke/lfs.html"&gt;LinLogFS -- A Log-Structured Filesystem For Linux&lt;/a&gt;        or &lt;a href="http://outflux.net/projects/lfs/"&gt;Linux Log-structured Filesystem Project&lt;/a&gt; but the applications haven't presented themselves frequently.&lt;br /&gt;&lt;br /&gt;Other items of note from this benchmark&lt;br /&gt;&lt;ul&gt;&lt;li&gt;dbench probably offers some opportune areas for inflated numbers corresponding to the force of numbers of developer man-years exposed to the linux driver module in question... where..&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ext2's  implementation is brutally terse with good results and lots of eyes and hands contributing vfs enhancements based on ext2 being the gold standard to cater around. (vfs doesn't seem so simple since this benchmark's kernel version)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Reiser shows the oddest process load harmonic.  there's some nitrous in concurrent power of 2 access there...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;JFS was having a really awful hair day at the time.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Minix crapped out on more than 2 processes effectively breaking the script and 0's were padded in.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;pagesize as blocksize makes all the difference on fsbench.&lt;/li&gt;&lt;li&gt;journaling overhead seems to be an option that's somewhat costly for general diversified workloads.  if you dont care about the data persistence, then you probably want the fast edition of the data, and won't need a &lt;span style="font-weight: bold;"&gt;fsck &lt;/span&gt;when a &lt;span style="font-weight: bold;"&gt;mkfs &lt;/span&gt;is plenty sufficient and takes a fraction of the time  (such as with high performance computing processing nodes and various web state).&lt;/li&gt;&lt;/ul&gt;PDF: &lt;a href="http://spreadsheets.google.com/ccc?key=p4yAoff8oYZI9XG6_LmqrYg&amp;amp;hl=en#"&gt;filesystem benchresults&lt;/a&gt;&lt;br /&gt;Google Doc:&lt;a href="http://spreadsheets.google.com/ccc?key=p4yAoff8oYZI9XG6_LmqrYg&amp;amp;hl=en"&gt; spreadsheet include interval timings &lt;/a&gt; &lt;a class="imSmallTxt" href="http://spreadsheets.google.com/ccc?key=p4yAoff8oYZI9XG6_LmqrYg&amp;amp;hl=en"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-4105254123762211129?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/4105254123762211129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=4105254123762211129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/4105254123762211129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/4105254123762211129'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/02/doing-more-cleaning-and-dusted-off-old.html' title='Another dusty benchmark: Filesystem Torque Curves, gentoo 2.4.18'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_StL57G6Cx-w/R7pNeneJPgI/AAAAAAAAATU/RQJ8bLJWJC4/s72-c/throughput_k_s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-8853267495664174828</id><published>2008-02-18T05:08:00.000-08:00</published><updated>2008-02-18T21:48:09.478-08:00</updated><title type='text'>System.Nanotimer benchmarks</title><content type='html'>&lt;a href="http://www.google.com/notebook/public/18239550943564485025/BDQ5wIgoQxbPnoIIj#SDR5nIgoQlITsoIIj"&gt;&lt;span&gt;i wrote a small &lt;wbr&gt;java benchmark to see &lt;wbr&gt;grab the System.nanoTimer value.  On this machine there'&lt;wbr&gt;s like a hard 558 &lt;wbr&gt;ns limit on the &lt;wbr&gt;x64 jdk 1.6._10 &lt;wbr&gt;and 698 lower limit &lt;wbr&gt;on the 32 bit jre.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;In this test I also tested out &lt;wbr&gt;the atomics and &lt;wbr&gt;the difference between &lt;wbr&gt;capture times of &lt;wbr&gt;buffer and arrays.&lt;wbr&gt;  buffers and arrays &lt;wbr&gt;are virtually identical &lt;wbr&gt;performance surrounding &lt;wbr&gt;the nanotime pull&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Directbuffer storage access seems to be the consistent lagger, as is expected.  The atomics in the java.utils.concurrent.atomic.LongArray class is not so fast ... Boxing also has a lower average than norm.&lt;br /&gt;&lt;br /&gt;of note: the jit works well, they all tend to share the lowest access times(hard limit mentioned above)&lt;br /&gt;&lt;br /&gt;it looks like factoring out the call to System.nanoTimer will shave perhaps 500 or so nanoseconds from each loop iteration.&lt;br /&gt;&lt;br /&gt;edit:&lt;br /&gt;it was noted from others that variance was pretty high here... the goal of the effort was partially exploring JIT local mediums as well.&lt;br /&gt;&lt;br /&gt;Further bench results will probably have some cool visualizations to check out.&lt;br /&gt;&lt;br /&gt;see here for source: &lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;a target="_content" class="chatzilla-link" href="http://www.google.com/notebook/public/18239550943564485025/BDQ5wIgoQxbPnoIIj#SDR5nIgoQlITsoIIj"&gt;http://www.google.&lt;wbr&gt;com/notebook/public/&lt;wbr&gt;18239550943564485025/&lt;wbr&gt;BDQ5wIgoQxbPnoIIj#&lt;wbr&gt;SDR5nIgoQlITsoIIj &lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;O:\opt\java\jdk1.6.0_10\bin\java -Didea.launcher.port=7536 -Didea.launcher.bin.path=M:\opt\JetBrains\intellij-702\bin -Dfile.encoding=windows-1252 -classpath O:\opt\java\jdk1.6.0_10\jre\lib\charsets.jar;O:\opt\java\jdk1.6.0_10\jre\lib\jce.jar;O:\opt\java\jdk1.6.0_10\jre\lib\jsse.jar;O:\opt\java\jdk1.6.0_10\jre\lib\management-agent.jar;O:\opt\java\jdk1.6.0_10\jre\lib\resources.jar;O:\opt\java\jdk1.6.0_10\jre\lib\rt.jar;O:\opt\java\jdk1.6.0_10\jre\lib\ext\dnsns.jar;O:\opt\java\jdk1.6.0_10\jre\lib\ext\localedata.jar;O:\opt\java\jdk1.6.0_10\jre\lib\ext\sunjce_provider.jar;M:\work\enigmatrie\target\production\enigmatrie;M:\opt\JetBrains\intellij-702\lib\junit.jar;M:\opt\JetBrains\intellij-702\lib\idea_rt.jar com.intellij.rt.execution.application.AppMain com.glamdringinc.benchmark.SystemNanotimerCapture&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;[{{tester;  stat_arr}    {avg;     663}    {low;     558}    {mid;     629}    {hi;      13969}    {variance;6705}&lt;br /&gt;, {{tester;  stat_fin_arr}    {avg;     664}    {low;     558}    {mid;     629}    {hi;      22419}    {variance;10930}&lt;br /&gt;, {{tester;  arr}    {avg;     667}    {low;     558}    {mid;     629}    {hi;      31499}    {variance;15470}&lt;br /&gt;, {{tester;  vol_arr}    {avg;     676}    {low;     558}    {mid;     629}    {hi;      38482}    {variance;18962}&lt;br /&gt;, {{tester;  fin_arr}    {avg;     677}    {low;     558}    {mid;     629}    {hi;      48610}    {variance;24026}&lt;br /&gt;, {{tester;  heap_buff_absolute}    {avg;     683}    {low;     558}    {mid;     629}    {hi;      33314}    {variance;16378}&lt;br /&gt;, {{tester;  array_backed_buf_absolute}    {avg;     689}    {low;     558}    {mid;     629}    {hi;      33594}    {variance;16518}&lt;br /&gt;, {{tester;  atom_arr_lazyset}    {avg;     697}    {low;     558}    {mid;     629}    {hi;      39739}    {variance;19590}&lt;br /&gt;, {{tester;  array_backed_buffer}    {avg;     698}    {low;     558}    {mid;     698}    {hi;      38203}    {variance;18822}&lt;br /&gt;, {{tester;  vol_val}    {avg;     710}    {low;     558}    {mid;     698}    {hi;      42952}    {variance;21197}&lt;br /&gt;, {{tester;  atomic_arr_cmp_set}    {avg;     714}    {low;     558}    {mid;     698}    {hi;      39739}    {variance;19590}&lt;br /&gt;, {{tester;  atomic_arr_set}    {avg;     719}    {low;     558}    {mid;     698}    {hi;      87022}    {variance;43232}&lt;br /&gt;, {{tester;  heap_buf_unbox}    {avg;     723}    {low;     558}    {mid;     698}    {hi;      65302}    {variance;32372}&lt;br /&gt;, {{tester;  mmap_buf_get_prv}    {avg;     725}    {low;     558}    {mid;     698}    {hi;      65790}    {variance;32616}&lt;br /&gt;, {{tester;  atomic_arr_getset}    {avg;     728}    {low;     558}    {mid;     698}    {hi;      35479}    {variance;17460}&lt;br /&gt;, {{tester;  dir_buf_get}    {avg;     742}    {low;     558}    {mid;     698}    {hi;      41765}    {variance;20603}&lt;br /&gt;, {{tester;  mmap_buf_get_rw}    {avg;     751}    {low;     558}    {mid;     698}    {hi;      65721}    {variance;32581}&lt;br /&gt;]&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Process finished with exit code 0&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-8853267495664174828?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/8853267495664174828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=8853267495664174828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/8853267495664174828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/8853267495664174828'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/02/systemnanotimer-benchmarks.html' title='System.Nanotimer benchmarks'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-9190081794008385690</id><published>2008-02-17T05:14:00.000-08:00</published><updated>2008-02-17T05:28:04.365-08:00</updated><title type='text'>What happened here?</title><content type='html'>&lt;img style="cursor: -moz-zoom-in; width: 375px; height: 466px;" alt="http://apod.nasa.gov/apod/image/0802/crabmosaic_hst_big.jpg" src="http://apod.nasa.gov/apod/image/0802/crabmosaic_hst_big.jpg" /&gt;&lt;h2&gt;&lt;span class="mw-headline"&gt;Origins&lt;/span&gt;&lt;/h2&gt; &lt;dl&gt;&lt;dd&gt; &lt;div class="noprint relarticle mainarticle"&gt;&lt;i&gt;Main article: &lt;a href="http://en.wikipedia.org/wiki/SN_1054" title="SN 1054"&gt;SN 1054&lt;/a&gt;&lt;/i&gt;&lt;/div&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt;First observed in 1731 by &lt;a href="http://en.wikipedia.org/wiki/John_Bevis" title="John Bevis"&gt;John Bevis&lt;/a&gt;, the nebula was independently rediscovered in 1758 by &lt;a href="http://en.wikipedia.org/wiki/Charles_Messier" title="Charles Messier"&gt;Charles Messier&lt;/a&gt; as he was observing a bright &lt;a href="http://en.wikipedia.org/wiki/Comet" title="Comet"&gt;comet&lt;/a&gt;. Messier catalogued it as the first entry in his &lt;a href="http://en.wikipedia.org/wiki/Messier_Catalogue" class="mw-redirect" title="Messier Catalogue"&gt;catalogue&lt;/a&gt; of comet-like objects. The &lt;a href="http://en.wikipedia.org/wiki/William_Parsons%2C_3rd_Earl_of_Rosse" title="William Parsons, 3rd Earl of Rosse"&gt;Earl of Rosse&lt;/a&gt; observed the nebula at &lt;a href="http://en.wikipedia.org/wiki/Birr_Castle" title="Birr Castle"&gt;Birr Castle&lt;/a&gt; in the 1840s, and referred to the object as the Crab Nebula because a drawing he made of it looked like a &lt;a href="http://en.wikipedia.org/wiki/Crab" title="Crab"&gt;crab&lt;/a&gt;.&lt;sup id="_ref-0" class="reference"&gt;&lt;a href="http://en.wikipedia.org/wiki/Crab_Nebula#_note-0" title=""&gt;[4]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt; &lt;p&gt;In the early 20th century, the analysis of early &lt;a href="http://en.wikipedia.org/wiki/Astrophotography" title="Astrophotography"&gt;photographs&lt;/a&gt; of the nebula taken several years apart revealed that it was expanding. Tracing the expansion back revealed that the nebula must have formed about 900 years ago. Historical records revealed that a new star bright enough to be seen in the daytime had been recorded in the same part of the sky by Chinese and Arab astronomers in 1054&lt;sup id="_ref-Lundmark_0" class="reference"&gt;&lt;a href="http://en.wikipedia.org/wiki/Crab_Nebula#_note-Lundmark" title=""&gt;[5]&lt;/a&gt;&lt;/sup&gt;&lt;sup id="_ref-Mayall_0" class="reference"&gt;&lt;a href="http://en.wikipedia.org/wiki/Crab_Nebula#_note-Mayall" title=""&gt;[6]&lt;/a&gt;&lt;/sup&gt; Given its great distance, the daytime "guest star" observed by the Chinese and Arabs could only have been a &lt;a href="http://en.wikipedia.org/wiki/Supernova" title="Supernova"&gt;supernova&lt;/a&gt;—a massive, exploding star, having exhausted its supply of energy from &lt;a href="http://en.wikipedia.org/wiki/Nuclear_fusion" title="Nuclear fusion"&gt;nuclear fusion&lt;/a&gt; and collapsed in on itself.&lt;/p&gt; &lt;p&gt;Recent analyses of historical records have found that the supernova that created the Crab Nebula probably occurred in April or early May, rising to its maximum brightness of between &lt;a href="http://en.wikipedia.org/wiki/Apparent_magnitude" title="Apparent magnitude"&gt;apparent magnitude&lt;/a&gt; −7 and −4.5 (brighter than everything in the night sky except the &lt;a href="http://en.wikipedia.org/wiki/Moon" title="Moon"&gt;Moon&lt;/a&gt;) by July. The supernova was visible to the &lt;a href="http://en.wikipedia.org/wiki/Naked_eye" title="Naked eye"&gt;naked eye&lt;/a&gt; for about two years after its first observation.&lt;sup id="_ref-Collinsetal1999_0" class="reference"&gt;&lt;a href="http://en.wikipedia.org/wiki/Crab_Nebula#_note-Collinsetal1999" title=""&gt;[7]&lt;/a&gt;&lt;/sup&gt; Thanks to the recorded observations of Far Eastern and Middle Eastern astronomers of 1054, Crab Nebula became the first astronomical object recognized as being connected to a supernova explosion.&lt;sup id="_ref-Mayall_1" class="reference"&gt;&lt;a href="http://en.wikipedia.org/wiki/Crab_Nebula#_note-Mayall" title=""&gt;[6]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-9190081794008385690?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://apod.nasa.gov/apod/image/0802/crabmosaic_hst_big.jpg' title='What happened here?'/><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/9190081794008385690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=9190081794008385690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/9190081794008385690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/9190081794008385690'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/02/what-happened-here.html' title='What happened here?'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-9023846705234287069</id><published>2008-02-13T21:25:00.000-08:00</published><updated>2008-09-23T13:25:58.425-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='d-link'/><category scheme='http://www.blogger.com/atom/ns#' term='XBMC'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='Xbox'/><category scheme='http://www.blogger.com/atom/ns#' term='ad-hoc wifi'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='wifi'/><category scheme='http://www.blogger.com/atom/ns#' term='benchmark'/><title type='text'>iPhone wifi timetrials -- netcat over wifi</title><content type='html'>I've been doing some housecleaning in my dev-notes and came upon something worthy of a quick paste.&lt;br /&gt;A while back I had noted the performance of the iPhone wifi sitting directly on top of the powerbook-17 1.2ghz running Leopard which was acting as the dedicated AP.  I did my best to aim the iPhone at the antenna of the Powerbook on several trial runs to move the speed up or down by a margin of 10-20% by swiveling, rotating, propping,  and relocating the iPhone.&lt;br /&gt;&lt;br /&gt;Both of the nodes had each other's /etc/hosts sync'd up with the localnetwork default address.  There was no default route, nothing but .75 duplex 2.6 ghz and .12 inches between them.  (+ a USB cable for sleep prevention)&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_StL57G6Cx-w/SMQG1PJFGvI/AAAAAAAABJA/cPqDYBa4Eyg/s400/iphone_exploded.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5243323377833548530" /&gt;Netcat is as IO-bound as  any program gets, so I am pretty sure this represents the iPhone and powerbook's 802.11g default configuration throughputs.&lt;br /&gt;Scientifically speaking, this is one console-capture, but I ran a dozen partial and full trial runs tests with nearly identical K/s numbers and that was good enough for me.&lt;br /&gt;&lt;p&gt;currently, my iPhone is bone-stock 1.1.3 by accident, awaiting the iPhone SDK. This benchmark took place in December '07.&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;Setup:&lt;/h2&gt;&lt;br /&gt;&lt;h3&gt;On the iPhone:: socket-connect&lt;/h3&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# time  nc &lt; /dev/disk0  -vvv   169.254.19.49 9999 &lt;/pre&gt;&lt;pre&gt;Foehammer.local &lt;/pre&gt;&lt;pre&gt;[169.254.19.49] 9999 (distinct) &lt;/pre&gt;&lt;pre&gt;open  sent 220610560, rcvd 0  &lt;/pre&gt;&lt;pre&gt;nc -vvv 169.254.19.49 9999 &lt; /dev/disk0   &lt;/pre&gt;&lt;pre&gt;0.64s user 56.12s system 35% cpu  2:41.41 total    &lt;/pre&gt;&lt;/blockquote&gt;&lt;h3&gt;On the Powerbook::&lt;/h3&gt;&lt;blockquote&gt;&lt;pre&gt;jim@Foehammer ~/ipod $ time nc -vvv  -w30 -l  -p 9999  &gt;iphone.disk0.dmg&lt;br /&gt;listening on [any] 9999 ...&lt;br /&gt;connect to [169.254.19.49]&lt;br /&gt;from iPhone-001CB36763B2.local [169.254.222.51] 49519&lt;br /&gt;sent 0, rcvd 220546904&lt;br /&gt;&lt;br /&gt;real    2m43.590s&lt;br /&gt;user    0m0.638s&lt;br /&gt;sys    0m9.693s&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;h2&gt;Google's math of the outcome&lt;/h2&gt;((220546904 bytes) / (((120 seconds)) + (43.59000 seconds))) / Mbps = 10.2857103 Mbps&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 300px;" src="http://eirikso.com/images/HTPC/XBMC.jpg" alt="" border="0" /&gt;&lt;h2&gt;The take-home&lt;br /&gt;&lt;/h2&gt;The end-goal was determining if Xbox &lt;a href="http://xbmc.org/"&gt;XBMC&lt;/a&gt; could hook up to iPhone ftp/samba/upnp shares and play videos without preloading the Xbox hard drive.  the answer is most MP4 which fall under 4Mbit, but due to CPU requirements, only "iPod" (768Kb/s) h.264 would be feasable (due to the Xbox's meager 733 MegaHamsterZ).&lt;br /&gt;&lt;br /&gt;Higher media throughputs might work if the Xbox sits on the wifi AP connected by cat3 wire or better, and the compression is nil, but in reality mine sits usb-powering its portable d-link  &lt;a href="http://www.dlink.com/products/?model=DWL-G730AP"&gt;DWL-G730AP&lt;/a&gt;, and it bogs mightily under the dlink bargain wifi hardware curse.&lt;br /&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold; font-size:19px;"&gt;post-script&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;The follow-on project to this experiment was to facilitate a python or ruby torrent client intermittently droning along on EDGE bandwidth, staging various file acquisition activities. &lt;img style="  float: right; cursor: pointer;  " src="http://images.dlink.com/products/DWL-G730AP/DWL-G730AP_main.jpg" /&gt;That particular notion was not a success.&lt;br /&gt;xvid-avis, wmv, etc under 4Mbits would likely work rock steady as well, but chances are they would only be there in the first place in the bittorrent completed files zone, since porting mplayer, vlc, or ffplay was not on any of my iPhone todo's (not prior to a Gentoo install).&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-9023846705234287069?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/9023846705234287069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=9023846705234287069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/9023846705234287069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/9023846705234287069'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/02/iphone-wifi-timetrials-netcat-over-wifi.html' title='iPhone wifi timetrials -- netcat over wifi'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_StL57G6Cx-w/SMQG1PJFGvI/AAAAAAAABJA/cPqDYBa4Eyg/s72-c/iphone_exploded.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-1750772459584209459</id><published>2008-02-13T09:37:00.000-08:00</published><updated>2008-09-23T13:23:34.676-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Redcode'/><category scheme='http://www.blogger.com/atom/ns#' term='ggc'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='BSD ports'/><category scheme='http://www.blogger.com/atom/ns#' term='gems'/><category scheme='http://www.blogger.com/atom/ns#' term='nano software'/><category scheme='http://www.blogger.com/atom/ns#' term='ez-install'/><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo prefix'/><category scheme='http://www.blogger.com/atom/ns#' term='optimizers'/><category scheme='http://www.blogger.com/atom/ns#' term='vm'/><category scheme='http://www.blogger.com/atom/ns#' term='cpan'/><category scheme='http://www.blogger.com/atom/ns#' term='BSD'/><category scheme='http://www.blogger.com/atom/ns#' term='bootstrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='portage'/><category scheme='http://www.blogger.com/atom/ns#' term='jit'/><category scheme='http://www.blogger.com/atom/ns#' term='llvm'/><category scheme='http://www.blogger.com/atom/ns#' term='Seed technology'/><category scheme='http://www.blogger.com/atom/ns#' term='make'/><category scheme='http://www.blogger.com/atom/ns#' term='brainfuck'/><title type='text'>The Diamond Age By Neal Stephenson</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/en/4/40/Diamond_Age_Penguin_1998.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px;" src="http://upload.wikimedia.org/wikipedia/en/4/40/Diamond_Age_Penguin_1998.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;... and where are we today?&lt;br /&gt;&lt;br /&gt;Man I have loved this book since the moment I read it on an 8 hour flight across the country.   Any dedicated hacker that catches wind of the prevailing programming concepts[of self-seeding matter and molecules] can't help but begin to consider adopting the perspective that enables self-expanding works from recursive generative algorithms.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thememoirs.org/2007/04/02/the-diamond-age-by-neal-stephenson-reviewed/"&gt;The Diamond Age By Neal Stephenson Reviewed at memoirs on a rainy day&lt;/a&gt;: "to put together something they call the Seed, a way of being independent of the Feed and liberating his society.&lt;br /&gt;&lt;br /&gt;The Seed, an advanced technology that would allow decentralized compilation of matter (as opposed to the centralized pipelines that currently supply basic molecules through the “Feed”). The “Seed” technology would be advantageous for Chinese culture, which is grounded in peasant labor destroyed by Western industrial society..."&lt;br /&gt;&lt;br /&gt;Competitive and self-expanding code Seed strategies prevail in &lt;a href="http://en.wikipedia.org/wiki/Redcode"&gt;Redcode&lt;/a&gt; like nowhere else.&lt;br /&gt;&lt;br /&gt;In the world of software languages, &lt;a href="http://en.wikipedia.org/wiki/Brainfuck"&gt;brainfuck&lt;/a&gt; right up there with a potential to first define the primitives and then define the side effects from seed values plugged in to the primitives.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-1750772459584209459?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/1750772459584209459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=1750772459584209459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/1750772459584209459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/1750772459584209459'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/02/diamond-age-by-neal-stephenson-reviewed.html' title='The Diamond Age By Neal Stephenson'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-219809507461465064</id><published>2008-02-05T23:32:00.000-08:00</published><updated>2008-09-23T13:04:07.935-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++ templates'/><category scheme='http://www.blogger.com/atom/ns#' term='unadulterated binary indexing'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile distributed agents'/><category scheme='http://www.blogger.com/atom/ns#' term='short-sighted executives'/><category scheme='http://www.blogger.com/atom/ns#' term='ipv4'/><category scheme='http://www.blogger.com/atom/ns#' term='enterprise bus'/><title type='text'>Distilled Network Mobility -- Patterns in Network Architecture: A Return to Fundamentals</title><content type='html'>I was browsing through a network mobility resource in oreilly safari ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://safari.oreilly.com/9780132252423" onclick="" title="Patterns in Network Architecture: A Return to Fundamentals"&gt;&lt;img alt="Patterns in Network Architecture: A Return to Fundamentals" title="Patterns in Network Architecture: A Return to Fundamentals" src="http://safari.oreilly.com/images/9780132252423/9780132252423_cs.jpg" height="56" width="42" /&gt;&lt;/a&gt;&lt;table cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td valign="top"&gt;&lt;span class="tenpxBold"&gt;BOOK&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td valign="top"&gt;&lt;a class="tenpxBold" href="http://safari.oreilly.com/9780132252423" title="Patterns in Network Architecture: A Return to Fundamentals"&gt;Patterns in Network Architecture: A Return to Fundamentals&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td valign="top"&gt;&lt;table cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td&gt;By &lt;/td&gt;&lt;td&gt;&lt;a href="http://www.informit.com/authors/author_bio.aspx?ISBN=9780132252423"&gt;John Day&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td class="tenpxNormal" valign="top"&gt;&lt;a href="http://safari.oreilly.com/9780132252423?tocview=true" title="Table of Contents"&gt;Table of Contents&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;... this book describes to a T the fundamentals of a distributed and mobile object namespace though tends to get irate about certain EITF shortcomings...&lt;br /&gt;&lt;br /&gt;but the fact is that an IPv4 address with or without the euphamism of DNS is about as mobile as a tree-root.  IPV4 traps the essence of distributed and mobile agent systems from all but the very highest layers of abstractions.  I'm not sure I ever counted the number of abstractions rolled into one dissertation of a fused enterprise bus/mobile-distributed agent and namespace/high performance supercomputing swarm platform...&lt;br /&gt;&lt;br /&gt;...the world of standards operates in concrete and encapsulated terms that number in the dozens when considering the challenges faced to mobilize code (web isn't even in the same ballpark, or more than a transient conduit) on an ipv4 baseline network... over the years I've seen language developing around concepts far too vastly compounded and complex to iterate when i first started employing these concepts.  The language I've used to date is typically as terse as is necessary to pitch products with the benefits built in from patterning after the idealized distributed agent models, however only 1 in 1000's of software professionals or funding sources i've met has voiced or acted on any significant understandings and championing of mobile software agents.&lt;br /&gt;&lt;br /&gt;...I found an interesting excerpt that describes the engineering process in general, and very strongly describes nearly every project I've contributed innovations into...  I'd liken these analogous to metaphors of &lt;span style="font-style: italic;"&gt;hunters and farmers&lt;/span&gt;.. or perhaps the &lt;span style="font-style: italic;"&gt;options seekers vs. the procedural mindsets.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;from John Day's book...&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'If one looks carefully over this chronology, one is inexorably drawn to the conclusion that the Internet did not begin to stagnate at the turn of the century, but in the late 1970s. It is here that conservative behavior begins to take hold. It is here that each juncture is not seen as an opportunity to fulfill the earlier vision or to synthesize new insights with previous achievements to create a new innovative direction, but more the minimal change is made to solve the immediate problem and go no further. It begins to seem that people are the keepers of some flame and dare not tamper with what has been entrusted to them, the classic behavior of a "second generation" i.e., not the founding generation. Some will &lt;/span&gt;&lt;a style="font-weight: bold;" name="iddle1667"&gt;&lt;/a&gt;&lt;a style="font-weight: bold;" name="iddle1737"&gt;&lt;/a&gt;&lt;a style="font-weight: bold;" name="iddle2455"&gt;&lt;/a&gt;&lt;a style="font-weight: bold;" name="iddle2618"&gt;&lt;/a&gt;&lt;a style="font-weight: bold;" name="iddle2791"&gt;&lt;/a&gt;&lt;a style="font-weight: bold;" name="iddle2853"&gt;&lt;/a&gt;&lt;a style="font-weight: bold;" name="that this"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;argue that this was the policy of small incremental change that has been a stalwart of Internet development. And they are right; caution in maintaining a production system is a necessity but a slow death for research and the research was far from done. But isn't that just what one would expect from the inheritors of the flame? Is that just a rationalization of a much deeper malaise?'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;while I'm not really as incensed as John Day about the challenges of ipv4 or the common theme that those who seek job security often shy from loving their work, I do like the blunt picture of futility vetted succinctly and concisely in one chapter of a book underscoring the challenges of building 'timeless' software agent designs in a stunted and self-afflicted problem domain.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Stateless infrastructure stands a better chance of being flawless software foundation than API counterparts which exist as islands of similar base classes.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Databases are the doorstep of an enterprise, hardly the foundation, and boy can Oracle screw up a simple socket data delivery design...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The business plan is in the hands of its engineers.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-219809507461465064?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/219809507461465064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=219809507461465064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/219809507461465064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/219809507461465064'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/02/why-would-mobile-software-agents-be-so.html' title='Distilled Network Mobility -- Patterns in Network Architecture: A Return to Fundamentals'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5743645610653601748.post-7568819508564949295</id><published>2008-01-29T00:48:00.000-08:00</published><updated>2008-09-23T14:33:51.349-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='owch2'/><category scheme='http://www.blogger.com/atom/ns#' term='intelligent agents'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile software agents'/><category scheme='http://www.blogger.com/atom/ns#' term='nio'/><title type='text'>Portable Resource Control in Java: Application to Mobile Agent Security</title><content type='html'>I work on an agent mobility platform also designed as an ESB.   it is called owch2 on sourceforge.&lt;br /&gt;&lt;br /&gt;while coding up a convention of bounded direct IO constant footprint i inadvertently came upon this reference, which is somehow uncannily relevant to the semantics of what I'm implementing, and has some relevant slides on transaction and security quota logic.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jraf2.org/publications/SEMAS01-slides.pdf"&gt;SEMAS01-slides.pdf (application/pdf Object)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Without being there with the lecture, much of it is a ambiguous without the  &lt;a href="http://www.jseal2.com/"&gt;J2SEAL  &lt;/a&gt;codebase  being cited until very late in the slide order.&lt;br /&gt;&lt;br /&gt;Nonetheless slide shows are the right way to deliver any sort of mobile object discussion, due to the mind-bending nature of building mobile agents and thinking in terms of what can be accomplished by collective and adaptive computing and resource migration.&lt;br /&gt;&lt;br /&gt;This as one of a handful of search results for memory quotas in java, 2 of which seem to be agent systems, illustrates the rarity of conservative and/or realtime java consideratins in the wild.  a durn shame.&lt;br /&gt;&lt;br /&gt;nice going guys!&lt;br /&gt;&lt;br /&gt;props to &lt;img src="file:///m:/tmp/jimtmp/moz-screenshot.jpg" alt="" /&gt;the authors!&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/gentootweekerblogspotcom/feeds/posts/defaultaltrss?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5743645610653601748-7568819508564949295?l=gentootweeker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gentootweeker.blogspot.com/feeds/7568819508564949295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5743645610653601748&amp;postID=7568819508564949295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/7568819508564949295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5743645610653601748/posts/default/7568819508564949295'/><link rel='alternate' type='text/html' href='http://gentootweeker.blogspot.com/2008/01/portable-resource-control-in-java.html' title='Portable Resource Control in Java: Application to Mobile Agent Security'/><author><name>James Northrup</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-SSDTPc1I4mY/AAAAAAAAAAI/AAAAAAAAAAA/KwbInWLH3ls/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
