<?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-5848842184429561</id><updated>2011-12-08T00:22:41.673-08:00</updated><title type='text'>Shadowflux</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-6038518928819774882</id><published>2011-01-21T13:43:00.000-08:00</published><updated>2011-01-22T12:19:13.115-08:00</updated><title type='text'>JavaScript (  (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )</title><content type='html'>First off credit where credit is due.&lt;br /&gt;&lt;br /&gt;Update 1: Well hello reddit and hackernews.&lt;br /&gt;&lt;br /&gt;1) I didn't write this JavaScript.&lt;br /&gt;2) I didn't find this JavaScript.&lt;br /&gt;&lt;br /&gt;I saw it in a slide deck from BlackHat DC 2011. Called XSS Street-Fight. Most of the presentation was dry JavaScript /mod_security, but this caught my eye.&lt;br /&gt;&lt;br /&gt;($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+&lt;br /&gt;($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__&lt;br /&gt;[_+~$]+$_[_]+$$](_/_)&lt;br /&gt;&lt;br /&gt;Care to guess what that does?&lt;br /&gt;&lt;br /&gt;How about if I type it like this.&lt;br /&gt;&lt;br /&gt;($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+&lt;br /&gt;($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__&lt;br /&gt;[_+~$]+$_[_]+$$](document.cookie)&lt;br /&gt;&lt;br /&gt;That's right this is an alert() if it lands anywhere in&lt;br /&gt;an executable section of JavaScript/dom it pops up the cookie.&lt;br /&gt;&lt;br /&gt;Go ahead and put it in a script  tag in your browser it will pop up a "1"&lt;br /&gt;&lt;br /&gt;That's when I couldn't put this down.&lt;br /&gt;&lt;br /&gt;First there are really two lines here.&lt;br /&gt;&lt;br /&gt;($ = [ $=[]] [ (__ = !$ + $ )[ _ = -~-~-~$] + ({} + $)[_/_] + ( $$ = (&lt;br /&gt;$_ = !'' + $)[_/_] + $_[+$] ) ] )()&lt;br /&gt;&lt;br /&gt;becomes sort()&lt;br /&gt;&lt;br /&gt;[__[_/_]+__[_+~$]+$_[_]+$$](_/_)&lt;br /&gt;&lt;br /&gt;becomes alert(1)&lt;br /&gt;&lt;br /&gt;Let's start to tear this apart.&lt;br /&gt;&lt;br /&gt;$=[] is a blank array&lt;br /&gt;&lt;br /&gt;$=[$=[]] is an array with a reference to an array.&lt;br /&gt;&lt;br /&gt;So $ derefs to the value 0.&lt;br /&gt;&lt;br /&gt;Now we have a 0 we can freely reference.&lt;br /&gt;&lt;br /&gt;__ = "false"via  (__ = !$ + $ )&lt;br /&gt;_ = -~-~-~$&lt;br /&gt;&lt;br /&gt;(The ~ operator in JavaScript means -(N+1) so -~ = +1&lt;br /&gt;if $ = 0 then -~-~-~$ = 3&lt;br /&gt;&lt;br /&gt;_ = 3&lt;br /&gt;&lt;br /&gt;thus _/_ = 3/3 = 1&lt;br /&gt;&lt;br /&gt;(__ = !$ + $ )[ _ = -~-~-~$]&lt;br /&gt;("false")[_]&lt;br /&gt;("false")[3]&lt;br /&gt;"false"[3]  = s&lt;br /&gt;&lt;br /&gt;({} + $)[_/_]&lt;br /&gt;(" object")[_/_]&lt;br /&gt;(" object")[1]&lt;br /&gt;" object"[1] = o&lt;br /&gt;&lt;br /&gt;$$ = ( $_ = !'' + $)[_/_]&lt;br /&gt;$$ = ( "true")[1]&lt;br /&gt;"true"[1] = r&lt;br /&gt;&lt;br /&gt;$_[+$] = "true"[0] = t&lt;br /&gt;&lt;br /&gt;$_ = "true"null&lt;br /&gt;$$ = rt  via&lt;br /&gt;&lt;br /&gt;($$ = ( $_ = !'' + $)[_/_] + $_[+$] ))&lt;br /&gt;&lt;br /&gt;!'' = "true"&lt;br /&gt;$_ = (true&lt;null&gt;)&lt;br /&gt;$_[1] = r&lt;br /&gt;$_[0] = t&lt;br /&gt;$$ = rt&lt;br /&gt;&lt;br /&gt;Thus the first line becomes sort()&lt;br /&gt;&lt;br /&gt;($ = [ $=[]] ["s" + "o"+ "r"+ "t" ] )()&lt;br /&gt;&lt;/null&gt;&lt;null&gt;&lt;br /&gt;Sort takes a function as it's parameter to&lt;br /&gt;execute thus firing the second line. It turns out this assumption was wrong on my first go. Scroll to the bottom for the updated explanation I quote from &lt;/null&gt;Benjaminsen &lt;null&gt;. &lt;/null&gt;&lt;br /&gt;&lt;null&gt;&lt;br /&gt;&lt;br /&gt;[__[_/_]+__[_+~$]+$_[_]+$$](_/_)&lt;br /&gt;&lt;br /&gt;&lt;/null&gt; $ = 0&lt;br /&gt;_ = 3&lt;br /&gt;__ = "false"&lt;br /&gt;$_ = "true"&lt;br /&gt;$$ = "rt"&lt;null&gt;&lt;br /&gt;&lt;br /&gt;[__[_/_]+__[_+~$]+$_[_]+$$](_/_)&lt;br /&gt;&lt;br /&gt;becomes&lt;br /&gt;[__[1] + __[3 + -1] + $_[3] + $$)(1);&lt;br /&gt;&lt;br /&gt;becomes&lt;br /&gt;["false"[1] + "false"[3  + -1 ] + "true"[3] + "rt"] (1)&lt;br /&gt;&lt;br /&gt;[ a + l + e + r + t ](1)&lt;br /&gt;&lt;br /&gt;alert(1)&lt;br /&gt;&lt;/null&gt;&lt;br /&gt;From Benjaminsen @ reddit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;code&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;($=[]["sort"])()["alert"](1)&lt;br /&gt;&lt;/code&gt;   &lt;p style="font-style: italic;"&gt;We can further break that into&lt;/p&gt;   &lt;pre style="font-style: italic;"&gt;&lt;code&gt;a = []          // Create array&lt;br /&gt;b = a["sort"]   // Get reference to sort method&lt;br /&gt;c = b()         // Execute sort outside the context of an array to return a reference to window&lt;br /&gt;d = c["alert"]  // Get reference to window.alert&lt;br /&gt;d(1)            // Execute window.alert with the argument 1&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;   &lt;p style="font-style: italic;"&gt;So what happens is&lt;/p&gt;   &lt;pre style="font-style: italic;"&gt;&lt;code&gt;window["alert"](1)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;   &lt;p style="font-style: italic;"&gt;not&lt;/p&gt;   &lt;pre style="font-style: italic;"&gt;&lt;code&gt;[1,2].sort(alert)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;null&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;/null&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-6038518928819774882?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/6038518928819774882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2011/01/javascript.html#comment-form' title='50 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/6038518928819774882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/6038518928819774882'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2011/01/javascript.html' title='JavaScript (  (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>50</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-663117520635014022</id><published>2009-07-19T10:16:00.000-07:00</published><updated>2009-10-12T10:32:14.872-07:00</updated><title type='text'>LolCat 5509 Part 1</title><content type='html'>About two years and a half ago I was looking for any type of high end Cisco equipment to learn on, fuzz, reverse, etc. As it turns out it isn't the easiest thing to get your hands on a piece of affordable top end gear. After spending a few months looking for some new equipment I called off the search and began to focus on other projects.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3736640355/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3459/3736640355_1368ae5e9b.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Not long after I quit looking I got a call from a friend that was at a computer recycling shop near where I lived. He had two Cisco 5509s for $80. Willing to take my chances that I'd be able to fix or part them back to health I had them purchased and he was kind enough to deliver them to my door the next week.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3737434224/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3425/3737434224_8eb517f502.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3736642439/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2502/3736642439_53b18ba716.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I cut a notch into a standard power cable and both booted right up! No fuss, no debugging, and no logic analyzer needed. I consoled into the device and our eyes both went wide at the same time. They still had their running configuration.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3737436450/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3480/3737436450_472f7755fc.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;We paged through line after line of config, kerb keys, password hashes, username -&amp;gt; port assignment, acls, it was all still intact.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3736644339/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3442/3736644339_41be8dba7d.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Dumbfounded we looked at each other and called our friends at the company domain that was listed.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3736646083/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2436/3736646083_636c4d577a.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;By dumb luck we both knew several of the individuals on their security team and emailed them pictures of what we had found.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3736648613/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3511/3736648613_a29bcb8934.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Apparently this caused a fire drill of which I am never allowed to speak. Much of the credential information we had gleaned was still valid on large parts of their network.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3737444822/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2643/3737444822_8ced07cbe3.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Having talked to them about the aftermath. Three different processes had failed. The company was supposed to wipe the gear before it was deracked. The reseller it was sold to promised to wipe the gear before it was sold. The recycler claimed they also wiped everything that came in the door. All three processes happily failed leaving me with two LolCat5509s.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="LolCat5509" href="http://www.flickr.com/photos/adamcecc/3736653309/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2496/3736653309_014f26ae88.jpg" alt="LolCat5509" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Two years later I have no need for 12u worth of switch anymore. I've decided to spiff up my remaining 5509 and return it to the company from once it came. Stay tuned for more updates of the Lolcat5509.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-663117520635014022?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/663117520635014022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/07/lolcat-5509-part-1.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/663117520635014022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/663117520635014022'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/07/lolcat-5509-part-1.html' title='LolCat 5509 Part 1'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3459/3736640355_1368ae5e9b_t.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-5981370637084098934</id><published>2009-07-06T17:57:00.000-07:00</published><updated>2009-10-12T10:32:14.872-07:00</updated><title type='text'>Ride the Pwnie Down the Rainbow</title><content type='html'>This last weekend at &lt;a href="http://toorcamp.org/"&gt;Toorcamp &lt;/a&gt;presented my current research on using CUDA to speed up more complex fuzzing operations like checksums and crypto algorithms. The slides are posted &lt;a href="http://www.shadowflux.com/Ride%20the%20Pwnie%20Down%20the%20Rainbow.pdf"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-5981370637084098934?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/5981370637084098934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/07/ride-pwnie-down-rainbow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/5981370637084098934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/5981370637084098934'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/07/ride-pwnie-down-rainbow.html' title='Ride the Pwnie Down the Rainbow'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-2139316441910431025</id><published>2009-07-01T20:52:00.000-07:00</published><updated>2009-10-12T10:32:14.872-07:00</updated><title type='text'>Makerbot Part 3</title><content type='html'>Bre crashed out at my place before ToorCamp and gave me a hand working some of the bugs out of my Makerbot. It turns out most of my problems came down to my surface mount soldering needing a bit of work. I didn't want to risk frying the ICs on the 11 makerbot boards so I did them by hand. Thus after hitting all of the pins again with a soldering iron all the electronics bugs went away.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Raven next to Goldie" href="http://www.flickr.com/photos/adamcecc/3677428091/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2474/3677428091_46458c6021.jpg" alt="Raven next to Goldie" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It makes me happy that I got one of the models that required building the boards by hand.  Seems the next models will be prefabbed.  Bre spents a while getting the tension out of the z stage in the machine it turns out my screws needed a bit of love and he did a few hacks he learned taking his on the road. I gave him some feedback on the build process and docs.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Reven Boards" href="http://www.flickr.com/photos/adamcecc/3678245518/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3604/3678245518_ebc3907fd9.jpg" alt="Reven Boards" width="332" height="500" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Weee into the morning we got our first extrusion out of Raven and success was ours!&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="First build extrusion" href="http://www.flickr.com/photos/adamcecc/3678246004/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2451/3678246004_02756b3c37.jpg" alt="First build extrusion" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;We both passed out for a few hours then the next morning Bre printed me a Makerbot Coin and I printed out a &lt;a href="http://www.thingiverse.com/thing:551"&gt;D20&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="I print 20s!" href="http://www.flickr.com/photos/adamcecc/3679008038/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2485/3679008038_f42d0d5f30.jpg" alt="I print 20s!" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This was an amazing amount of fun to get together, and I'm hoping to hack it up more soon stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-2139316441910431025?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/2139316441910431025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/07/makerbot-part-3.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/2139316441910431025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/2139316441910431025'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/07/makerbot-part-3.html' title='Makerbot Part 3'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2474/3677428091_46458c6021_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-1372861299973329490</id><published>2009-06-23T20:32:00.000-07:00</published><updated>2009-10-12T10:32:14.873-07:00</updated><title type='text'>Makerbot Part 2</title><content type='html'>The second Round of  making the um.. makerbot has been underway. I've been put at a stand still while I wait for the motor that feeds the plastic in the extruder.&lt;br/&gt;&lt;div&gt;&lt;dl style="width: 510px;"&gt; &lt;dt&gt;&lt;a title="Makerbot" href="http://www.flickr.com/photos/adamcecc/3656922500/"&gt;&lt;img src="http://farm3.static.flickr.com/2452/3656922500_6445cb8a33.jpg" alt="Makerbot" width="500" height="332" /&gt;&lt;/a&gt;&lt;/dt&gt; &lt;dd&gt;Small Dino: What relic is this? Big Dino: Relic?! Boy when I was your age this was top of the line plastic extruding nozzle. Relic HA Kids... &lt;/dd&gt; &lt;/dl&gt;&lt;/div&gt;&lt;br/&gt;In the mean time I've made some good progress towards my goal and can't wait to get this thing online.&lt;br/&gt;&lt;div&gt;&lt;dl style="width: 342px;"&gt; &lt;dt&gt;&lt;a title="Makerbot" href="http://www.flickr.com/photos/adamcecc/3656922808/"&gt;&lt;img src="http://farm4.static.flickr.com/3614/3656922808_29e8f569d7.jpg" alt="Makerbot" width="332" height="500" /&gt;&lt;/a&gt;&lt;/dt&gt; &lt;dd&gt;Big Dino: For behold little one THE MONOLITH!  Small Dino: *GASP* &lt;/dd&gt; &lt;/dl&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-1372861299973329490?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/1372861299973329490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/makerbot-part-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/1372861299973329490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/1372861299973329490'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/makerbot-part-2.html' title='Makerbot Part 2'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2452/3656922500_6445cb8a33_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-1902854916274839927</id><published>2009-06-23T08:11:00.000-07:00</published><updated>2009-10-12T10:32:14.873-07:00</updated><title type='text'>Telecom Museum</title><content type='html'>I finally made it out to the telecom museum this week after being on my todo list for nearly two years.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Telecom Museum" href="http://www.flickr.com/photos/adamcecc/3656928546/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3357/3656928546_ba156e319a.jpg" alt="Telecom Museum" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;We got the grand tour from a nice man who showed us some of the museums more creatively acquired pieces.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Telecom Museum" href="http://www.flickr.com/photos/adamcecc/3656133495/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3642/3656133495_c385b90857.jpg" alt="Telecom Museum" width="332" height="500" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Hearing the mechanical switches and relays clicking and clacking as a call was being routing was an amazing experience. I could have only wished there was more volume of calls to hear the machines at full tilt. It must have been deafening to work in those rooms.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Telecom Museum" href="http://www.flickr.com/photos/adamcecc/3656131879/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3537/3656131879_51749f8267.jpg" alt="Telecom Museum" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Amoung the dust I spotted a magnetic core memory module and our tour guide and I geeked out about early memory designs and weaving.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Telecom Museum" href="http://www.flickr.com/photos/adamcecc/3656930248/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2480/3656930248_860624359f.jpg" alt="Telecom Museum" width="500" height="332" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-1902854916274839927?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/1902854916274839927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/telecom-museum.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/1902854916274839927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/1902854916274839927'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/telecom-museum.html' title='Telecom Museum'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3357/3656928546_ba156e319a_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-5511942566355174370</id><published>2009-06-22T09:15:00.000-07:00</published><updated>2009-10-12T10:32:14.873-07:00</updated><title type='text'>A what?</title><content type='html'>adamcecc: bought a 2x teleconverter today&lt;br/&gt;person1: Yah?&lt;br/&gt;adamcecc: yeah&lt;br/&gt;person1: Has it arrived yet?&lt;br/&gt;adamcecc: bought a 2x teleconverter today&lt;br/&gt;adamcecc: so no&lt;br/&gt;person1: You could have gone to a store. :)&lt;br/&gt;adamcecc: a what?&lt;br/&gt;person1: Hah.&lt;br/&gt;person1: It's like someone used a 3d printer on a website.&lt;br/&gt;person1: Less selection, though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-5511942566355174370?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/5511942566355174370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/what.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/5511942566355174370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/5511942566355174370'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/what.html' title='A what?'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-2280191370185990562</id><published>2009-06-14T17:14:00.000-07:00</published><updated>2009-10-12T10:32:14.873-07:00</updated><title type='text'>Westward</title><content type='html'>JonM and I spent the better part of Saturday finishing up his house for sale. I haven't scrubbed that many floors since my days at Bob Evans.&lt;br/&gt;&lt;br/&gt;We headed west with the destination of Ruby Beach in mind for some pictures and to get out of Seattle for a while.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="JonM" href="http://www.flickr.com/photos/adamcecc/3627641957/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3306/3627641957_728f345d49.jpg" alt="JonM" width="332" height="500" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;We the took the edmonds ferry headed westward.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Sailboat" href="http://www.flickr.com/photos/adamcecc/3627631935/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3397/3627631935_e0c366462e.jpg" alt="Sailboat" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;After a short stop in Port Glen we moved onto Dungeness Spit.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Loggers" href="http://www.flickr.com/photos/adamcecc/3627635925/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3322/3627635925_90328c8bce.jpg" alt="Loggers" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Sadly like in many of my hobbies both Time and Euclid were against us and it appeared if we weren't going to make Ruby Beach before sundown. We pulled into the spit for some pictures.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Dungeness Spit" href="http://www.flickr.com/photos/adamcecc/3628450682/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3638/3628450682_9c643060c0.jpg" alt="Dungeness Spit" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This fellow kept an ever watchful eye while we took pictures of the sunset.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Bald Eagle" href="http://www.flickr.com/photos/adamcecc/3628451622/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3314/3628451622_62870fedf5.jpg" alt="Bald Eagle" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;As it turns out he wasn't alone.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Eagles" href="http://www.flickr.com/photos/adamcecc/3627640741/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3622/3627640741_2fa72e11e4.jpg" alt="Eagles" width="332" height="500" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Jon and I moved on to the larger spit and caught the sun as it was setting over Canada.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Sunset" href="http://www.flickr.com/photos/adamcecc/3627643573/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2431/3627643573_53fc1c390f.jpg" alt="Sunset" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;We stayed the night in Port Angelous and headed home way of this infernal machine.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="The Machine" href="http://www.flickr.com/photos/adamcecc/3627652875/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3659/3627652875_8d7b85ab9b.jpg" alt="The Machine" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It was an great way to chill out for a day and  geek out with our cameras. We plan to head west again in search of Ruby Beach and other destination with more time in tow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-2280191370185990562?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/2280191370185990562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/westward.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/2280191370185990562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/2280191370185990562'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/westward.html' title='Westward'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3306/3627641957_728f345d49_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-6678566044071346044</id><published>2009-06-12T20:44:00.000-07:00</published><updated>2009-10-12T10:32:14.873-07:00</updated><title type='text'>Makerbot Part 1</title><content type='html'>I've had a bit of spare time these last two days and decided to tackle the Makerbot I ordered back in April. The kit comes completely disassembled down to the parts on the circuit boards.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Makerbot" href="http://www.flickr.com/photos/adamcecc/3576714544/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3375/3576714544_61c5ab8da3.jpg" alt="Makerbot" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The first part was to spray paint the body of the bot black. I'm planning to do green accents before final assembly. I can't have my mini cnc looking like everyone elses now can I?&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Body" href="http://www.flickr.com/photos/adamcecc/3621204523/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3345/3621204523_2679092420.jpg" alt="Body" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Next was the large task of soldering together the 11 circuit boards.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Makerbot" href="http://www.flickr.com/photos/adamcecc/3576721390/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2447/3576721390_630a576c69.jpg" alt="Makerbot" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Here are the three stepper motor driver boards parts.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Makerbot" href="http://www.flickr.com/photos/adamcecc/3576723594/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3591/3576723594_d978558567.jpg" alt="Makerbot" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This was way more surface mount soldering than I was willing to do! The makerbot instructions page recommends using the "hotplate reflow technique". The short of it involves squirting paste onto the circuit board carefully placing the components and cooking the board until the paste lightly sizzles. I was skeptical at first but $25 worth of hot plate and solder paste later it would seem this was the way to go.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Reflow Soldering" href="http://www.flickr.com/photos/adamcecc/3621202231/"&gt;&lt;img class="alignnone" src="http://farm3.static.flickr.com/2434/3621202231_bfe61acb27.jpg" alt="Reflow Soldering" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The soldering went well until I lost a single surface mount capacitor which aren't things you can just run down to your local 5 and dime to pickup. I had some electronics laying around to gut looking for an identical one. In this case an XBox 360 HD-DVD drive was scalped for the replacement part. While I was there I pulled out a few limit switches and the laaaazor! I'll play with those another day.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Replacement Cap" href="http://www.flickr.com/photos/adamcecc/3621206131/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3330/3621206131_e46f7b12f0.jpg" alt="Replacement Cap" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Thus on I went with my reflowing. What happened late in the night I can't even begin to calculate the odds of. I lost this part&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Lost Cap" href="http://www.flickr.com/photos/adamcecc/3621203667/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3637/3621203667_43662a6e67.jpg" alt="Lost Cap" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;On this floor.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Rug" href="http://www.flickr.com/photos/adamcecc/3622021304/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3354/3622021304_6ff84156f8.jpg" alt="Rug" width="332" height="500" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;When I finally got all 11 boards assembled I dropped one on the floor. And the missing cap jumped up at me having been shaken loose by the gods!&lt;br/&gt;&lt;br/&gt;I quickly snatched up the cap and my board! I don't know how much karma I burned but I'll take my cap back!&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Boards" href="http://www.flickr.com/photos/adamcecc/3621204941/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3602/3621204941_9454c33629.jpg" alt="Boards" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;With all the boards ready to go I'm moving on to the software testing then assembling the main unit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-6678566044071346044?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/6678566044071346044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/makerbot-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/6678566044071346044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/6678566044071346044'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/makerbot-part-1.html' title='Makerbot Part 1'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3375/3576714544_61c5ab8da3_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-5685809117327843528</id><published>2009-06-06T17:48:00.000-07:00</published><updated>2009-10-12T10:32:14.873-07:00</updated><title type='text'>JRuby, RMI, and Turd Burritos</title><content type='html'>I'm pretty sure if I add up the "side projects" or the "can you look at this for a minute" time it is something close to 8x of my actual billing time. Not that I mind helping friends out. A fellow asked for some help on an application and these always tend to be a lot of fun. &lt;br/&gt;&lt;br/&gt;Leviathan had been contracted to look at an old as in "your mom" application build on infrastructure dating all the way back to before there were keyboards and code was hammered out with chisels on stone tables. This particular application designer decided that the simplest route was to create a set of RMI request and bundle them into a Desktop client. A Java desktop client.  &lt;br/&gt;&lt;br/&gt;For those of you playing at home RMI is Remote Method Invocation. Think of it like shouting across the internet and telling a server to do something. &lt;br/&gt;&lt;br/&gt;Java in all of its write once run anywhere glory has this funny way of being easily decompiled into source code. Thus once you distribute the client to a customer they basically can look at the internal guts of the application a lot easier than one would look at an application compiled in C or C++. Not that C/C++ can't be decompiled Java just makes it trivial to do. &lt;br/&gt;&lt;br/&gt;Now my coworker has the client, the source code, and a valid account on the server in question. The world is basically his oyster, right? Well as it turns out some oysters don't like being opened. &lt;br/&gt;&lt;br/&gt;Queue: The enterprise turd burrito. Turd Burrito or ETB for short. If you have a turd that you want your enterprise infrastructure to swallow than you just keep wrapping it in beans, rice and salsa until the IT guys that payed $9.50 don't realize "it's not meat". &lt;br/&gt;&lt;br/&gt;To make RMI easier to use and more firewall friendly many J2EE providers wrapped RMI in multiple transport layers. Most notably HTTP, SSL, and some special sauce we'll call "Voodoo magic" This makes the IT guy happy. "I only have to open one port", the security guy shrug, and the developer only marginally less happy. They have to make sure all of their objects really cleanly Serialize (get turned into one long string), but they were going to have to do that anyways. &lt;br/&gt;&lt;br/&gt;So just to make sure you've got all of the above in your head. &lt;br/&gt;&lt;br/&gt;Client &lt;br/&gt;     -&gt; Takes an object &lt;br/&gt;       -&gt; Makes it serialize &lt;br/&gt;         -&gt; Calls a method &lt;br/&gt;           -&gt; RMI voodoo magic happens&lt;br/&gt;            -&gt; Unknown Magic &lt;br/&gt;             -&gt; HTTP&lt;br/&gt;               -&gt; SSL&lt;br/&gt;               -&gt; Turd burrito is flung across the internet at whatever server is supposed to eat it. &lt;br/&gt;&lt;br/&gt;              &lt;br/&gt;The way RMI is built it is supposed to make everything past "calls a method" look like magic. You aren't supposed to know where or how your method is being called or passed. This could be on the box next to your feet or calling a method on the Mars Rover. As a developer you're just supposed to call a function and get a value back. This is great if you are a J2EE developer that wants to take out that hottie from accounting. Bad if want the control required to tinker with the thing. &lt;br/&gt;&lt;br/&gt;Proxying the RMI methods was not something I was willing to do. I wasn't peeling that many layers of beans and rice, then only to deal with serialization issues. I had the turd sitting right in front of me with the source and methods quietly mocking me. What I needed was a ETB eating machine. &lt;br/&gt;&lt;br/&gt;Enter JRuby. &lt;br/&gt;&lt;br/&gt;JRuby is the bastard child of a ruby interpreter written in Java and is my new very bestest friend. JRuby is the kind of friend that drools on you occasionally, has a gimp eye, but LOVES to chew up turd burritos. As a note Matasano wrote about using RMI via JRuby a while back. &lt;br/&gt;&lt;br/&gt;Now what used to look a task of proxying. &lt;br/&gt;&lt;br/&gt;Client &lt;br/&gt;     -&gt; Takes an object &lt;br/&gt;       -&gt; Makes it serialize &lt;br/&gt;         -&gt; Calls a method &lt;br/&gt;           -&gt; RMI&lt;br/&gt;              -&gt; Unknown Magic &lt;br/&gt;             -&gt; Http &lt;br/&gt;               -&gt; SSL &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Becomes one line of code. &lt;br/&gt;&lt;br/&gt;com.XXXX.XXX.ui.net.Request.new(com.XXXX.XXX.ui.user.gadgets, cd, com.XXXX.XXX.ui.Function.DOSOMETHING, new Object[] { com.XXXX.XX.Thing.new(1) }).send();&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Instead of unwrapping and rewrapping my ETB. I can inject my own chili peppers hoping the server can't handle the heat and pukes.&lt;br/&gt;&lt;br/&gt;Thus like magic my drooling friend JRuby has given me all the control of a hacker, but the comfort and "going home at 5pm on the dot" developers view. Now if I can just find someone to take out in accounting... &lt;br/&gt;&lt;br/&gt;So the lesson to be learned is. &lt;br/&gt;1. Less is often more. &lt;br/&gt;2. JRuby rocks my socks even if it does drool a bit. &lt;br/&gt;3.  Don't trust your users. &lt;br/&gt;4.  Yes someone will take the time to&lt;br/&gt;     Decompile the application. -&gt; Find the right remote request -&gt; Hook in with JRuby -&gt; Make fake objects -&gt; Send them off to the server -&gt;  Profit!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-5685809117327843528?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/5685809117327843528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/jruby-rmi-and-turd-burritos.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/5685809117327843528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/5685809117327843528'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/jruby-rmi-and-turd-burritos.html' title='JRuby, RMI, and Turd Burritos'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-3863372514671824388</id><published>2009-06-06T17:04:00.000-07:00</published><updated>2009-10-12T10:32:14.874-07:00</updated><title type='text'>EIP?</title><content type='html'>person1: "eip"?&lt;br/&gt;adamcecc: Extended Instruction Pointer&lt;br/&gt;adamcecc: It is the "next" instruction your computer is going to run &lt;br/&gt;adamcecc: once you take over EIP you own the computer&lt;br/&gt;adamcecc: It is basically what I do for a living &lt;br/&gt;adamcecc: I put a single value in a single register &lt;br/&gt;adamcecc: Sometimes this takes a ton of work&lt;br/&gt;person1: Small job&lt;br/&gt;adamcecc: but its a living&lt;br/&gt;adamcecc: thirsty work. &lt;br/&gt;person1: c'mon...I can think up single values all day&lt;br/&gt;person1: 4&lt;br/&gt;person1: There's one&lt;br/&gt;adamcecc: its $1 to know where to put the value and $9999 for which value to put there ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-3863372514671824388?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/3863372514671824388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/06/eip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/3863372514671824388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/3863372514671824388'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/06/eip.html' title='EIP?'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-8204640716407631316</id><published>2009-05-31T10:10:00.000-07:00</published><updated>2011-01-21T13:51:40.015-08:00</updated><title type='text'>A good weekend</title><content type='html'>I finally am recovering&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-8204640716407631316?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/8204640716407631316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/05/good-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/8204640716407631316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/8204640716407631316'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/05/good-weekend.html' title='A good weekend'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-3832048058163729716</id><published>2009-05-28T09:58:00.000-07:00</published><updated>2009-10-12T10:32:14.874-07:00</updated><title type='text'>Password Mashement</title><content type='html'>person1: So you work in security.&lt;br/&gt;X: Yes. &lt;br/&gt;person1: What do you do for password management? &lt;br/&gt;X: Me? For like logins or web or servers? &lt;br/&gt;person1: The web. &lt;br/&gt;X: I mash the keyboard a few times. &lt;br/&gt;person2: what? &lt;br/&gt;X: I mash the keyboard or play a tune a few times and let firefox and fs crypto take care of the passwords. &lt;br/&gt;person1: Really? &lt;br/&gt;X: Yeah if I'm at a computer that doesn't have my password I just have the site reset it and check my email. &lt;br/&gt;person2: wow. &lt;br/&gt;X: (shrug) everything else is client certs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-3832048058163729716?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/3832048058163729716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/05/password-mashement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/3832048058163729716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/3832048058163729716'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/05/password-mashement.html' title='Password Mashement'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-7952029125807647732</id><published>2009-05-22T02:29:00.000-07:00</published><updated>2009-10-12T10:32:14.874-07:00</updated><title type='text'>How it all began...</title><content type='html'>Yesterday I had a doctor visit and had to have blood drawn. It seems every time I go to a doctor these days they are taking more blood from my internal tubes and not giving me back any of the clones. I tweeted about this to which I received the replies &lt;br/&gt;&lt;br/&gt;@adamcecc: It's because you're the super soldier, and they are using your blood to make more serum?&lt;br/&gt;@adamcecc: Are you sure they're not just really good at destroying the originals?&lt;br/&gt;&lt;br/&gt;Personally I'd have to assume super soldiers are good enough at killing themselves, but I can't help think somewhere my blood is being used to give someone 30 extra lives at Contra. &lt;br/&gt;&lt;br/&gt;I have a small fear of needles. Mostly I just don't like getting jabbed or injected. Being stuck with a needle doesn't hurt, the whole experience of being drained is just unpleasant. It seems no matter the amount of blood taken I become light headed for a spell, which makes me wonder how fast my bleed out time really is.  On a lighter note the vampire who stole my life essence yesterday had a odd accent. Her accent was so off I inquired about where she was from, turns out she is an immigrant from Transylvania, Romania and has been taking blood for 9 years. &lt;br/&gt;&lt;br/&gt;And this my child is how the vampire war began....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-7952029125807647732?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/7952029125807647732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/05/how-it-all-began.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/7952029125807647732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/7952029125807647732'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/05/how-it-all-began.html' title='How it all began...'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-6042870241555516109</id><published>2009-05-21T03:33:00.000-07:00</published><updated>2009-10-12T10:32:14.874-07:00</updated><title type='text'>Super Hero Pattern</title><content type='html'>person1:  IIW would likely have been a waste for you&lt;br/&gt;X:  yeah? how was it otherwise?&lt;br/&gt;&lt;br/&gt;person1:  I can see more clearly why you despise the OpenId/OAuth crew&lt;br/&gt;X:  :)&lt;br/&gt;&lt;br/&gt;person1:  It was good to verify what I thought about the identity technologies and space and fun to be in mountain view,but all of the useful conversations were with other CEOs or startups the sessions were very underwhelming&lt;br/&gt;X:  yar that's sad to hear&lt;br/&gt;&lt;br/&gt;person1:  apparently OpenId is a constant headache for implementers&lt;br/&gt;X:  and anything doing anything security related&lt;br/&gt;&lt;br/&gt;person1:  apparently OAuth had a workflow issue and needed to be tweeked last week&lt;br/&gt;X:  HA! "workflow issue" it's prob better i wasn't at the conference I'd have decked one of them&lt;br/&gt;&lt;br/&gt;person1:  I just assumed that people putting together a distributed security spec would be hard core crypto or hackers its more open web evangelists with sessions like "authentication without boring crypto"&lt;br/&gt;&lt;br/&gt;X: So the crypto guys solved this problem in the 80s the hackers solved this problem in the 90s&lt;br/&gt;X: the only thing I see these guys doing well is "wrong"&lt;br/&gt;&lt;br/&gt;person1:  it is huge marketing buzz to support "open" but if the spec is more concerned about how to get an XRD xml file onto a hosted blog then accidentally allowing anyone to request you make claims for them it is an issue but don't worry, these guys will save the day just in time, so they say http://informationcard.net/&lt;br/&gt;&lt;br/&gt;X:  so we'll call this the super hero pattern? My design is so corrupt it requires Batman to save it...&lt;br/&gt;*X puts on a cape and cowl&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-6042870241555516109?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/6042870241555516109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/05/super-hero-pattern.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/6042870241555516109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/6042870241555516109'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/05/super-hero-pattern.html' title='Super Hero Pattern'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-3705161220908899900</id><published>2009-05-20T04:54:00.000-07:00</published><updated>2009-10-12T10:32:14.874-07:00</updated><title type='text'>I dare you...</title><content type='html'>adamcecc: I need to pop into town this summer see you folk &lt;br/&gt;person1: Come on July 4th. I sent U an invite.&lt;br/&gt;adamcecc: Going to a missle silo for the 4th&lt;br/&gt;adamcecc: http://toorcamp.org/&lt;br/&gt;person1: Naturally.&lt;br/&gt;person1: RME (Rolling My Eyes)&lt;br/&gt;adamcecc: ??&lt;br/&gt;person1: I say RME: Because its a weird thing to do on July 4th.&lt;br/&gt;adamcecc: I dare you find me one thing more American than a missile silo &lt;br/&gt;person1: Ah&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-3705161220908899900?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/3705161220908899900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/05/i-dare-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/3705161220908899900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/3705161220908899900'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/05/i-dare-you.html' title='I dare you...'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-2246407757455444924</id><published>2009-03-30T07:55:00.000-07:00</published><updated>2009-10-12T10:32:14.875-07:00</updated><title type='text'>Demands</title><content type='html'>[15:38] * X demands a bowl of green m&amp;ms&lt;br/&gt;[15:39] &lt; person1&gt; We don't negotiate with terrorists.&lt;br/&gt;[15:39] * X executes 2 of his 50 hostages&lt;br/&gt;[15:45] &lt; person2&gt; Only two?&lt;br/&gt;[15:45] &lt; X&gt; I have many demands&lt;br/&gt;[15:46] &lt; person2&gt; Soon to be outnumbered by corpses?&lt;br/&gt;[15:46] &lt; person1&gt; His demands could never be outnumberd by corpses.&lt;br/&gt;[15:47] &lt; person2&gt; It could be fun to watch him try.&lt;br/&gt;[15:47] &lt; person1&gt; From a remote location.&lt;br/&gt;[15:52] &lt; person3&gt; are these hostages me and person4? :[&lt;br/&gt;[15:52] &lt; X&gt; No I'm saving you two for a new laptop&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-2246407757455444924?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/2246407757455444924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/03/demands.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/2246407757455444924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/2246407757455444924'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/03/demands.html' title='Demands'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-9125652726925616988</id><published>2009-03-09T06:10:00.000-07:00</published><updated>2009-10-12T10:32:14.875-07:00</updated><title type='text'>*Think*</title><content type='html'>(12:56:47 PM) person1: You wanna dict brute the secret password for registration?&lt;br/&gt;(12:59:45 PM) adamcecc: it'll be easy to track who did it &lt;br/&gt;(1:26:03 PM) adamcecc: look 40 hackers registered after all this traffic...&lt;br/&gt;(1:26:05 PM) adamcecc: "hmm"&lt;br/&gt;(1:27:33 PM) person1: After what traffic? And which hackers?&lt;br/&gt;(1:27:46 PM) person1: Oohhh nvm&lt;br/&gt;(1:28:02 PM) adamcecc: hahah&lt;br/&gt;(1:28:05 PM) adamcecc: *think*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-9125652726925616988?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/9125652726925616988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/03/think.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/9125652726925616988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/9125652726925616988'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/03/think.html' title='*Think*'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-8531914433565309445</id><published>2009-02-27T01:24:00.000-08:00</published><updated>2009-10-12T10:32:14.875-07:00</updated><title type='text'>Sudo make me a sandwich robot (Brooklyn Part 2)</title><content type='html'>The better part of my trip to New York was spent at NYCR making the sudo make me a sandwich robot!&lt;br/&gt;&lt;br/&gt;Here is the video Bre made of our creation you should check out &lt;a href="http://www.brepettis.com/blog/"&gt;his blog&lt;/a&gt; for more incredible stuff!&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.brepettis.com/blog/2009/2/27/sudo-make-me-a-sandwich-robot.html"&gt;Bre&lt;/a&gt; and I inspired by our hunger and the &lt;a href="http://xkcd.com/149/"&gt;XKCD&lt;/a&gt; comic conceived the project on his last visit to Seattle.&lt;br/&gt;&lt;br/&gt;&lt;embed src="http://blip.tv/play/gfkN7+EvgTM" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Sudo Make Me a Sandwich Robot" href="http://www.flickr.com/photos/adamcecc/3314408660/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3020/3314408660_a6f8b9b919.jpg" alt="Sudo Make Me a Sandwich Robot" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The project used an Ardiuno board, two &lt;a href="http://reprap.org/bin/view/Main/DarwinStepperController_1_2"&gt;RepRap stepper motor controller boards&lt;/a&gt;, two random stepper motors,&lt;a href="http://www.dealextreme.com/details.dx/sku.20089"&gt; two servos&lt;/a&gt;, and &lt;a href="http://www.amazon.com/toast/dp/B0002CA3AI/"&gt;one sacrificial toaster over.&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Sudo Make Me a Sandwich Robot" href="http://www.flickr.com/photos/adamcecc/3314402306/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3546/3314402306_7f5fc624a2.jpg" alt="Sudo Make Me a Sandwich Robot" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This project was an amazing amount of fun.&lt;br/&gt;&lt;br/&gt;Check out more picture from the project and both &lt;a href="http://www.flickr.com/photos/bre/sets/72157614417997915/"&gt;Bre's&lt;/a&gt; and my&lt;a href="http://www.flickr.com/photos/adamcecc/"&gt; flickr&lt;/a&gt; streams.&lt;br/&gt;&lt;br/&gt;The arduino code for this project is &lt;a href="http://shadowflux.com/sammich.c"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-8531914433565309445?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/8531914433565309445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/02/sudo-make-me-sandwich-robot-brooklyn.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/8531914433565309445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/8531914433565309445'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/02/sudo-make-me-sandwich-robot-brooklyn.html' title='Sudo make me a sandwich robot (Brooklyn Part 2)'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3020/3314408660_a6f8b9b919_t.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5848842184429561.post-8884967079783813854</id><published>2009-02-24T02:43:00.000-08:00</published><updated>2009-10-12T10:32:14.875-07:00</updated><title type='text'>Brooklyn Part 1</title><content type='html'>I spent the weekend in Brooklyn hacking with &lt;a href="http://www.brepettis.com/blog/"&gt;Bre&lt;/a&gt;. (More on that soon)&lt;br/&gt;&lt;br/&gt;In between the robotic madness we ran around taking pictures.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Brooklyn W/Bre" href="http://www.flickr.com/photos/adamcecc/sets/72157614297670287/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3562/3305507665_6be35fd28c.jpg" alt="Brooklyn W/Bre" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Highlights included this man who was washing his rags from a fire hydrant.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Brooklyn W/Bre" href="http://www.flickr.com/photos/adamcecc/3306322856/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3438/3306322856_d413f5d984.jpg" alt="Brooklyn W/Bre" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The Park Slope CO-OP is the first and last of it's kind.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Brooklyn W/Bre" href="http://www.flickr.com/photos/adamcecc/3305506713/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3613/3305506713_c197b71bbb.jpg" alt="Brooklyn W/Bre" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Everyone that shops there is also required to work there 2.5 hours a month? (Don't recall the exact cycle) They manage 13,000 employees/customers/owners and the store is constantly busy. Bre signed me in as a guest the experience is quite interesting. The entire store literally crawls with such a high level of dedication and customer base the entire inventory turns over nearly daily.&lt;br/&gt;&lt;br/&gt;&lt;a class="tt-flickr tt-flickr-Medium" title="Brooklyn W/Bre" href="http://www.flickr.com/photos/adamcecc/3306335806/"&gt;&lt;img class="alignnone" src="http://farm4.static.flickr.com/3622/3306335806_578e7f0d64.jpg" alt="Brooklyn W/Bre" width="500" height="332" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Anyone can pickup the PA and ask for help or say pretty much whatever they want. As I found out later in the weekend one of my friend's mother was a founding member of the COOP.&lt;br/&gt;&lt;br/&gt;On Suday I jumped a train across the bridge and shared dinner with Pratik and Stephanie. Always good company and food I do so miss them since they've move to NYC. We discussed the finer points of the Oscars, scalability, why people love people that are like cats, and Steph got me hooked on the Facebook game Mob Wars.&lt;br/&gt;&lt;br/&gt;Cats shed, bite, scratch, purr, cuddle, and whine for food. (Very much like myself) However, the cat is such an independent creature that it really couldn't care whether you were alive or dead. Thus when a cat decides you are worth spending time, scratching, cuddling, whining to it reflects not on the cat, but how awesome you are.&lt;br/&gt;&lt;br/&gt;Purrr.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5848842184429561-8884967079783813854?l=adamcecc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adamcecc.blogspot.com/feeds/8884967079783813854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://adamcecc.blogspot.com/2009/02/brooklyn-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/8884967079783813854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5848842184429561/posts/default/8884967079783813854'/><link rel='alternate' type='text/html' href='http://adamcecc.blogspot.com/2009/02/brooklyn-part-1.html' title='Brooklyn Part 1'/><author><name>adamcecc</name><uri>http://www.blogger.com/profile/17344744956188231191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3562/3305507665_6be35fd28c_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
