<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>NYC Resistor</title>
	
	<link>http://www.nycresistor.com</link>
	<description>We learn, share, and make things</description>
	<lastBuildDate>Sat, 25 May 2013 01:08:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/NycResistor" /><feedburner:info uri="nycresistor" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>NycResistor</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Minitel/Tumblr Time Tunnel</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/41khg3en_Ow/</link>
		<comments>http://www.nycresistor.com/2013/05/24/miniteltumblr-time-tunnel/#comments</comments>
		<pubDate>Sat, 25 May 2013 01:08:30 +0000</pubDate>
		<dc:creator>phooky</dc:creator>
		
		<guid isPermaLink="false">http://www.nycresistor.com/?p=6176</guid>
		<description><![CDATA[Some technologies are so direct and intuitive that they feel classic even when they&#8217;re new. Some technologies are so ahead of their time that they only find their true purpose years after they&#8217;ve been put out to pasture. In the early 80&#8242;s, France Telecom rolled out the Minitel, a videotex system offering various online services <a href='http://www.nycresistor.com/2013/05/24/miniteltumblr-time-tunnel/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p>Some technologies are so direct and intuitive that they feel classic even when they&#8217;re new. Some technologies are so ahead of their time that they only find their true purpose years after they&#8217;ve been put out to pasture.<br />
<a href="http://www.nycresistor.com/wp-content/uploads/2013/05/2013-05-06-21.59.30.jpg"><img class="alignnone size-large wp-image-6179" alt="Minitel 1B US" src="http://www.nycresistor.com/wp-content/uploads/2013/05/2013-05-06-21.59.30-1024x768.jpg" width="695" height="521" /></a><br />
In the early 80&#8242;s, France Telecom rolled out the <a href="http://en.wikipedia.org/wiki/Minitel">Minitel</a>, a videotex system offering various online services to users across France. Subscribers were given small, semi-portable CRT-based terminals. The service was a success, and at its peak boasted 25 million users. But eventually, well, you know. The internet. In June 2012, France Telecom finally pulled the plug on the Minitel. Screens across the country went dark. Millions of little, boxy terminals, suddenly cast adrift. Widespread technology, lost and alone, in search of <i>purpose</i>. Purpose now, suddenly, found.<br />
<a href="http://www.nycresistor.com/wp-content/uploads/2013/05/welcome_to_tumblr_com.jpg"><img src="http://www.nycresistor.com/wp-content/uploads/2013/05/welcome_to_tumblr_com-1024x284.jpg" alt="welcome_to_tumblr_com" width="695" height="192" class="alignnone size-large wp-image-6178" /></a><br />
The Minitel/Tumblr Time Tunnel is a Minitel 1B US (yes, there was a QWERTY version) backed by a Raspberry Pi. Enter a few tags at the prompt, and the mighty firehose of Tumblr will be unleashed upon your tiny, 3-bit<super>*</super>, 80&#215;72 pixel black and white CRT display. By cranking the serial port up to 4800 blazin&#8217; bits per second and reducing the number of color swaps, you can view the genius of the internet at such blinding speeds that you&#8217;ll think that you&#8217;ve suddenly been transported to a Jetsonian future of videophones and cars that collapse into briefcases. <i>It&#8217;s just that advanced.</i> See for yourself:<br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/I9mlXatkItE?rel=0" frameborder="0" allowfullscreen></iframe><br />
(The asterisk after &#8220;3-bit&#8221; is due to the fact that each 2&#215;3 block of &#8220;pixels&#8221; is actually a single character with foreground and background color attributes, so each 2&#215;3 block only has one bit of color data, selected from a palette of 8 colors.)</p>
<p>As is de rigueur, <a href="https://github.com/phooky/Minitel">all the code is available on github</a>.</p>
<p>The Minitel/Tumblr Time Tunnels will be on display at this year&#8217;s <a href="http://interactiveshow2013.eventbrite.com/">NYCR Interactive Party</a>. Be sure to come by and see the internet the way it <i>positively demands</i> to be seen!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=41khg3en_Ow:gtpus3pH6_k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=41khg3en_Ow:gtpus3pH6_k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=41khg3en_Ow:gtpus3pH6_k:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/41khg3en_Ow" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/24/miniteltumblr-time-tunnel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/24/miniteltumblr-time-tunnel/</feedburner:origLink></item>
		<item>
		<title>Introducing “Future Crew”</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/zQzgj3bW_pQ/</link>
		<comments>http://www.nycresistor.com/2013/05/23/introducing-future-crew/#comments</comments>
		<pubDate>Fri, 24 May 2013 00:12:11 +0000</pubDate>
		<dc:creator>hudson</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[futurecrew]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[teensy]]></category>

		<guid isPermaLink="false">http://www.nycresistor.com/?p=6163</guid>
		<description><![CDATA[Do you enjoy playing Space Team, but find that you want tactile controls? Or like the Artemis Bridge Simulator, but think it is too serious? Do you love pushing buttons, turning knobs and shouting at each other? Then you&#8217;ll really have fun playing Future Crew at the NYCR Interactive Party! Since the theme of the <a href='http://www.nycresistor.com/2013/05/23/introducing-future-crew/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><a title="Building &quot;Future Crew&quot; console #1 by hudson, on Flickr" href="http://www.flickr.com/photos/osr/8623530170/"><img alt="Building &quot;Future Crew&quot; console #1" src="http://farm9.staticflickr.com/8532/8623530170_a4f82396ab_z.jpg" width="640" height="480" /></a><br />
Do you enjoy playing <a href="http://www.sleepingbeastgames.com/spaceteam/">Space Team</a>, but find that you want tactile controls? Or like the <a href="http://www.artemis.eochu.com/">Artemis Bridge Simulator</a>, but think it is too serious? Do you love pushing buttons, turning knobs and shouting at each other? Then you&#8217;ll really have fun playing <b>Future Crew</b> at the <a href="http://interactiveshow2013.eventbrite.com/">NYCR Interactive Party</a>!</p>
<p><a title="Future Crew push button panel construction by hudson, on Flickr" href="http://www.flickr.com/photos/osr/8626252120/"><img alt="Future Crew push button panel construction" src="http://farm9.staticflickr.com/8544/8626252120_69496ce393_z.jpg" width="640" height="480" /></a><br />
Since the theme of the party is &#8220;Digital Archeology&#8221;, all of the control stations are being built from repurposed dead hardware. There&#8217;s a patch panel, push buttons, strobe lights, more push buttons, quadrature knobs, oscilloscopes, and maybe even <a href="http://www.flickr.com/photos/osr/8687598306/">a teletype</a> to keep score.</p>
<p><a title="Future Crew display console by hudson, on Flickr" href="http://www.flickr.com/photos/osr/8623942294/"><img alt="Future Crew display console" src="http://farm9.staticflickr.com/8111/8623942294_e4b87ee2c6_z.jpg" width="640" height="480" /></a><br />
Each console will have a Raspberry Pi with Wifi to talk to the other consoles, some number of Teensys to talk to the real world, and some sort of glitchy way to communicate to the operator (like an <a href="http://www.flickr.com/photos/osr/8626089584/">NTSC TV</a> or a <a href="http://www.flickr.com/photos/phooky/8679228174/">Minitel</a>). If things don&#8217;t work right, that&#8217;s part of the fun. And, of course the source code will be available for you to build your own <b>Future Crew Consoles</b>.</p>
<p><a href="http://interactiveshow2013.eventbrite.com/">Tickets for the party are on sale now!</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=zQzgj3bW_pQ:1wL9hokFOa4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=zQzgj3bW_pQ:1wL9hokFOa4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=zQzgj3bW_pQ:1wL9hokFOa4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/zQzgj3bW_pQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/23/introducing-future-crew/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/23/introducing-future-crew/</feedburner:origLink></item>
		<item>
		<title>TICKETS on SALE for our 2013 Interactive Show</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/0kWAit8c3m8/</link>
		<comments>http://www.nycresistor.com/2013/05/18/tickets-on-sale-for-our-2013-interactive-show/#comments</comments>
		<pubDate>Sat, 18 May 2013 15:58:58 +0000</pubDate>
		<dc:creator>astrida</dc:creator>
		
		<guid isPermaLink="false">http://www.nycresistor.com/?p=6149</guid>
		<description><![CDATA[Coming June 15th to NYC Resistor, the 2013 Interactive Show.  We&#8217;re still soliciting for a few more projects, but we&#8217;ve already got a great menagerie of really interesting &#38; fun work lined up.  This year&#8217;s theme is Digital Archeology.  Expect to see the old, and the old hacked into new&#8230; Our show usually sells out <a href='http://www.nycresistor.com/2013/05/18/tickets-on-sale-for-our-2013-interactive-show/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://interactiveshow2013.eventbrite.com/"><img class="wp-image-6150 alignleft" alt="Digital-Archaeology2" src="http://www.nycresistor.com/wp-content/uploads/2013/05/Digital-Archaeology2.jpg" width="626" height="432" /></a><br clear="all" />Coming June 15th to NYC Resistor, the 2013 Interactive Show.  We&#8217;re still soliciting for a few more projects, but we&#8217;ve already got a great menagerie of really interesting &amp; fun work lined up.  This year&#8217;s theme is Digital Archeology.  Expect to see the old, and the old hacked into new&#8230; Our show usually sells out far in advance, so don&#8217;t dawdle. Get your tickets here: <a title="NYCR 2013 Interactive Show" href="http://interactiveshow2013.eventbrite.com/">http://<wbr />interactiveshow2013.eventbrite.<wbr />com/</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=0kWAit8c3m8:-xiaV8ZnEcs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=0kWAit8c3m8:-xiaV8ZnEcs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=0kWAit8c3m8:-xiaV8ZnEcs:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/0kWAit8c3m8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/18/tickets-on-sale-for-our-2013-interactive-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/18/tickets-on-sale-for-our-2013-interactive-show/</feedburner:origLink></item>
		<item>
		<title>Robot arms: now with inverse kinematics</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/pIjoUemoEfY/</link>
		<comments>http://www.nycresistor.com/2013/05/12/inverse-kinematics/#comments</comments>
		<pubDate>Sun, 12 May 2013 18:21:43 +0000</pubDate>
		<dc:creator>hudson</dc:creator>
				<category><![CDATA[arm]]></category>
		<category><![CDATA[closedloop]]></category>
		<category><![CDATA[kinematics]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[puma]]></category>
		<category><![CDATA[servo]]></category>

		<guid isPermaLink="false">http://www.nycresistor.com/?p=6130</guid>
		<description><![CDATA[As a followup to our reverse engineering and configuration of 6DOF PUMA robot arms, we&#8217;ve updated our controller source code to have full closed form inverse kinematics support. The math is based on A Geometric Approach in Solving the Inverse Kinematics of PUMA Robots, by Lee and Ziegler (1983). Due to the configuration of prismatic <a href='http://www.nycresistor.com/2013/05/12/inverse-kinematics/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/osr/8685180913/" title="Robot sunbeam by hudson, on Flickr"><img src="http://farm9.staticflickr.com/8545/8685180913_c83746f4a2_z.jpg" width="640" height="480" alt="Robot sunbeam"></a><br />
As a followup to our reverse engineering and configuration of <a href="/2012/11/13/robot-army/">6DOF PUMA robot arms</a>, we&#8217;ve updated our <a href="https://bitbucket.org/hudson/puma">controller source code</a> to have full closed form inverse kinematics support.  The math is based on <a href="http://deepblue.lib.umich.edu/bitstream/handle/2027.42/6192/bac6709.0001.001.pdf">A Geometric Approach in Solving the Inverse Kinematics of PUMA Robots</a>, by Lee and Ziegler (1983).  Due to the configuration of prismatic and rotational joints in the PUMA arms, it is possible to derive a two part direct trigonometric solutions to the IK problem for this type of arm.</p>
<p><a href="http://www.flickr.com/photos/osr/8730678024/" title="PUMA 560 joint diagram by hudson, on Flickr"><img src="http://farm8.staticflickr.com/7374/8730678024_a95970b268_z.jpg" width="640" height="405" alt="PUMA 560 joint diagram"></a><br />
The IK solution uses the <a href="http://en.wikipedia.org/wiki/Denavit%E2%80%93Hartenberg_parameters">DH Parameters</a> to compute the three joint angles for the major axes (the rotation around the stalk, the upper-arm angle, and the fore-arm angle) such that the center of the spherical joint will be placed at a given XYZ position.  There are two binary additional binary parameters for this configuration: RIGHT/LEFT controls the orientation of the arm on the right or left side of the stalk, and OVER/UNDER for the configuration of the elbow pointing up or down.  See figure 5 in the paper for a diagram of the four possible combinations of these two parameters.</p>
<p><a href="http://www.flickr.com/photos/osr/8729558017/" title="PUMA wrist diagram by hudson, on Flickr"><img src="http://farm8.staticflickr.com/7420/8729558017_3d5208a035_z.jpg" width="640" height="412" alt="PUMA wrist diagram"></a><br />
Once the first three theta angles are known, the second phase of the IK solution computes the last three wrist joint angles given the third binary parameter UP/DOWN, and three vectors: the &#8220;approach vector&#8221; <tt>a[]</tt> that points in the direction of the tool, the &#8220;sliding vector&#8221; <tt>s[]</tt> that points in the direction of the grasping joint, and the &#8220;normal vector&#8221; <tt>n[]</tt>  that points towards the top of the tool.  Figure 4 from the paper shows the relationship of these three vectors in the hand coordinate system.</p>
<p><object type="application/x-shockwave-flash" width="640" height="361" data="http://www.flickr.com/apps/video/stewart.swf?v=1.161" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <param name="flashvars" value="photo_id=8729292383&amp;photo_secret=0&amp;flickr_show_info_box=true"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=1.161"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><param name="wmode" value="opaque"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=1.161" bgcolor="#000000" allowfullscreen="true" flashvars="photo_id=8729292383&amp;photo_secret=0&amp;flickr_show_info_box=true" wmode="opaque" height="361" width="640"></embed></object><br />
This video shows the IK iterating between two points (in RIGHT and OVER mode) and generating a piecewise linear path that holds the tool (a cheap pen) mostly level on a constant heading aligned with the X axis.  It is a little jerky since the motor controllers don&#8217;t have a way to chain commands between points and my calibration on the joint lengths and angles isn&#8217;t perfect.  Also note that the wrist joints are cross-coupled and require proportional adjustments based on the other joints positions, so the code has some fudge factors to try to account for this behaviour.  There are also some corner cases to be sorted out when the &#8220;best&#8221; joint angles switch quadrants, which will swing the tool around in a circle.</p>
<p>The code isn&#8217;t super clean and can use some refactoring to move the DH parameters into a config file, but hopefully you&#8217;ll enjoy the human readable code compared to the machine generated <a href="http://openrave.org/docs/latest_stable/_downloads/ikfast60.Transform6D.0_1_2_3_4_54.cpp">ikfast output</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=pIjoUemoEfY:felasTj-ez4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=pIjoUemoEfY:felasTj-ez4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=pIjoUemoEfY:felasTj-ez4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/pIjoUemoEfY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/12/inverse-kinematics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/12/inverse-kinematics/</feedburner:origLink></item>
		<item>
		<title>Go back and do it right: a better punched tape reader</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/5gWYtP3gqDQ/</link>
		<comments>http://www.nycresistor.com/2013/05/11/go-back-and-do-it-right-a-better-punched-tape-reader/#comments</comments>
		<pubDate>Sat, 11 May 2013 22:17:06 +0000</pubDate>
		<dc:creator>phooky</dc:creator>
		
		<guid isPermaLink="false">http://www.nycresistor.com/?p=6116</guid>
		<description><![CDATA[Rapid prototyping tools are great for quick hacks, but their real power lies in their ability to allow you to quickly iterate and refine a design. Earlier this week I hacked together a primitive nine-channel punched paper tape reader, but it had a number of limitations: the LEDs that I was using to read the <a href='http://www.nycresistor.com/2013/05/11/go-back-and-do-it-right-a-better-punched-tape-reader/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.nycresistor.com/wp-content/uploads/2013/05/IMG_4903.jpg"><img class="alignnone size-large wp-image-6119" alt="Reading punched tape" src="http://www.nycresistor.com/wp-content/uploads/2013/05/IMG_4903-1024x768.jpg" width="695" height="521" /></a></p>
<p>Rapid prototyping tools are great for quick hacks, but their real power lies in their ability to allow you to quickly iterate and refine a design. Earlier this week I <a href="http://www.nycresistor.com/2013/05/09/a-minimal-punched-tape-reader/">hacked together a primitive nine-channel punched paper tape reader</a>, but it had a number of limitations: the LEDs that I was using to read the bits were noisy and slow, the materials used didn&#8217;t mask the light well enough, the tape wasn&#8217;t mechanically aligned well, the electronics were a mess and the entire mechanism was difficult to use. This Friday, I decided to do what my third-grade teacher would tell me to do every time I half-assed something: go back and do it right.</p>
<p><a href="http://www.nycresistor.com/wp-content/uploads/2013/05/IMG_4891.jpg"><img class="alignnone size-large wp-image-6122" alt="Tape reader parts" src="http://www.nycresistor.com/wp-content/uploads/2013/05/IMG_4891-1024x768.jpg" width="695" height="521" /></a></p>
<p>This time I used proper phototransistors and IR LEDs I scrounged up around the space (thanks, Miria and Raphael!). Because they&#8217;re 5mm in diameter (and the spacing between channels is only 2.54mm), I had to come up with a new sensor packing. This one reads bits from four separate columns over a space of five columns, requiring an internal buffer of five columns to reconstruct a single column of data. Even so, the spacing was tight, and I had to sand down the flanges of the phototransistors and LEDs to make everything fit. I milled simple PCBs for both sides to keep things nice and neat, and used a small surface-mount potentiometer to limit the current to the LEDs in case the paper wasn&#8217;t thick enough to block enough light. The light mask is made of black acetal this time, and the spacers include runners to help keep the tape straight. There&#8217;s still no automatic feed mechanism, but we now have a reader that&#8217;s fast and reliable enough to read tapes in earnest.</p>
<p><iframe width="640" height="360" src="http://www.youtube.com/embed/BYjc9NWmX98?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>The updated code, mechanical drawings, and PCB designs are all <a href="https://github.com/nycresistor/punchtape-reader">up on Github</a>. There are still a few tweaks we&#8217;d want if we were going to scan more tapes, but this version works very well. Now we just have to figure out what to do with all these PDP-8 binaries. Any ideas?</p>
<p><a href="http://www.nycresistor.com/wp-content/uploads/2013/05/IMG_4912.jpg"><img src="http://www.nycresistor.com/wp-content/uploads/2013/05/IMG_4912-1024x768.jpg" alt="IMG_4912" width="695" height="521" class="alignnone size-large wp-image-6123" /></a></p>
<p><small>(Note to time-travelling computer conservators: in the past/future, please do not store your paper tapes in damp basements. These programs are <i>stinky</i>. The Fortran compiler, in particular, is exceptionally foul. Yours truly, phooky.)</small></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=5gWYtP3gqDQ:Odg8BlNCr6g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=5gWYtP3gqDQ:Odg8BlNCr6g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=5gWYtP3gqDQ:Odg8BlNCr6g:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/5gWYtP3gqDQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/11/go-back-and-do-it-right-a-better-punched-tape-reader/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/11/go-back-and-do-it-right-a-better-punched-tape-reader/</feedburner:origLink></item>
		<item>
		<title>Nail Art Make-A-Long this Saturday!</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/3r_PqNSsMkU/</link>
		<comments>http://www.nycresistor.com/2013/05/10/nail-art-make-a-long-this-saturday/#comments</comments>
		<pubDate>Fri, 10 May 2013 15:56:53 +0000</pubDate>
		<dc:creator>astrida</dc:creator>
		
		<guid isPermaLink="false">http://www.nycresistor.com/?p=6108</guid>
		<description><![CDATA[Ever wanted to trick your nails out with a paint-job worthy of notice?  This is how&#8230; and no need to pay a salon $50 for the glory.  We&#8217;ll teach you how on Saturday (5:30-8:30pm) after our Laser Class, using templates stamps and other techniques.  We&#8217;ll have a small selection of polishes, so if you&#8217;re after <a href='http://www.nycresistor.com/2013/05/10/nail-art-make-a-long-this-saturday/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.nycresistor.com/wp-content/uploads/2013/05/SpaceInvaderNails-1.jpg"><img class="aligncenter size-full wp-image-6109" alt="SpaceInvaderNails-1" src="http://www.nycresistor.com/wp-content/uploads/2013/05/SpaceInvaderNails-1.jpg" width="600" height="600" /></a>Ever wanted to trick your nails out with a paint-job worthy of notice?  This is how&#8230; and no need to pay a salon $50 for the glory.  We&#8217;ll teach you how on Saturday (5:30-8:30pm) after our Laser Class, using templates stamps and other techniques.  We&#8217;ll have a small selection of polishes, so if you&#8217;re after a specific color combo you may want to bring your own. Tickets still available <a title="Tickets" href="http://www.eventbrite.com/event/6312951207/eorg">here</a>&#8211; be prepared to come with a base-coat or to add one while you&#8217;re there.  GUYS WELCOME! (Remember you can also paint your toes).<a href="http://www.nycresistor.com/wp-content/uploads/2013/05/SpaceInvaderNails-1.jpg"><br />
</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=3r_PqNSsMkU:MTcI39Kmqq8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=3r_PqNSsMkU:MTcI39Kmqq8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=3r_PqNSsMkU:MTcI39Kmqq8:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/3r_PqNSsMkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/10/nail-art-make-a-long-this-saturday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/10/nail-art-make-a-long-this-saturday/</feedburner:origLink></item>
		<item>
		<title>A minimal punched tape reader</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/xzWvchrdeWo/</link>
		<comments>http://www.nycresistor.com/2013/05/09/a-minimal-punched-tape-reader/#comments</comments>
		<pubDate>Fri, 10 May 2013 00:54:04 +0000</pubDate>
		<dc:creator>phooky</dc:creator>
		
		<guid isPermaLink="false">http://www.nycresistor.com/?p=6104</guid>
		<description><![CDATA[Trammell came across a cache of punched paper tape recently. My immediate impulse was to create the most primitive tape reader possible. Thusly: The rig is composed of a Teensy++ 2.0, eighteen red LEDs, eighteen resistors, and a few bits of laser-cut plastic. LEDs are used to both illuminate the paper and sense the holes. <a href='http://www.nycresistor.com/2013/05/09/a-minimal-punched-tape-reader/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p>Trammell came across a cache of punched paper tape recently. My immediate impulse was to create the most primitive tape reader possible. Thusly:</p>
<p><iframe src="http://www.youtube.com/embed/w7_9BmthB10?rel=0" height="360" width="640" allowfullscreen="" frameborder="0"></iframe></p>
<p>The rig is composed of a Teensy++ 2.0, eighteen red LEDs, eighteen resistors, and a few bits of laser-cut plastic. LEDs are used to both illuminate the paper and sense the holes. The sensor design is based on the classic <a href="http://playground.arduino.cc/Learning/LEDSensor">Arduino LED sensing code</a>. It&#8217;s not very reliable, but it&#8217;s a fun afternoon proof-of-concept.</p>
<p>If you&#8217;re interested, the code and design files are <a href="https://github.com/nycresistor/punchtape-reader">up on github</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=xzWvchrdeWo:eOKhKRIaqfo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=xzWvchrdeWo:eOKhKRIaqfo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=xzWvchrdeWo:eOKhKRIaqfo:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/xzWvchrdeWo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/09/a-minimal-punched-tape-reader/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/09/a-minimal-punched-tape-reader/</feedburner:origLink></item>
		<item>
		<title>Cray-zy progress! We have boot!</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/UqW1TpzDghI/</link>
		<comments>http://www.nycresistor.com/2013/05/02/cray-zy-progress-we-have-boot/#comments</comments>
		<pubDate>Fri, 03 May 2013 03:10:29 +0000</pubDate>
		<dc:creator>Chris Fenton</dc:creator>
		
		<guid isPermaLink="false">http://www.nycresistor.com/?p=6098</guid>
		<description><![CDATA[Some of you may remember the last installment in our on-going series on computational necromancy, where I made a call out to the internet to help revive my bit-rotted copy of the once-lost Cray Operating System. An amazing programmer named Andras has answered that call in a way I would have never thought possible &#8211; <a href='http://www.nycresistor.com/2013/05/02/cray-zy-progress-we-have-boot/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p>Some of you may remember the<a href="http://www.nycresistor.com/2012/01/09/help-bring-a-supercomputer-back-to-life/"> last installmen</a>t in our on-going series on <a href="http://www.nycresistor.com/2010/08/29/finally-finished/">computational necromancy</a>, where I made a call out to the internet to help revive my bit-rotted copy of the once-lost Cray Operating System. An amazing programmer named Andras has answered that call in a way I would have never thought possible &#8211; he not only used his kung-fu to recover an intact copy of COS from my disk image, he <a href="http://modularcircuits.tantosonline.com/blog/articles/the-cray-files/">wrote a simulator</a> for an <em>entire data center</em> worth of Cray X-MP equipment and got it to <em>boot</em>!</p>
<p><a href="http://www.nycresistor.com/wp-content/uploads/2013/05/cray_xmp.png"><img class="aligncenter size-medium wp-image-6099" alt="cray_xmp" src="http://www.nycresistor.com/wp-content/uploads/2013/05/cray_xmp-300x155.png" width="300" height="155" /></a></p>
<p>If anyone has been sitting on Cray-1 or Cray X-MP software (or you just have some idea of how to use COS!) for the last 30 or so years, now is the time to come out of the woodwork! Get in touch with <a href="http://www.chrisfenton.com">me</a> or <a href="http://modularcircuits.tantosonline.com/blog/articles/the-cray-files/">Andras</a> and we&#8217;ll make it happen.</p>
<p>Go, <a href="http://www.modularcircuits.com/download/cray_files/cray_xmp_sim-0.8.zip">download the simulator</a> and have your own simulated 1980&#8242;s data-center! Or just read his <a href="http://modularcircuits.tantosonline.com/blog/articles/the-cray-files/">incredible write-up</a> on his progress so far!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=UqW1TpzDghI:w-KTo1sroFM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=UqW1TpzDghI:w-KTo1sroFM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=UqW1TpzDghI:w-KTo1sroFM:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/UqW1TpzDghI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/05/02/cray-zy-progress-we-have-boot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/05/02/cray-zy-progress-we-have-boot/</feedburner:origLink></item>
		<item>
		<title>MarioChron ported to Pebble smartwatch</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/hnhYLoqBink/</link>
		<comments>http://www.nycresistor.com/2013/04/23/mariochron-pebble/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 00:46:48 +0000</pubDate>
		<dc:creator>hudson</dc:creator>
				<category><![CDATA[arm]]></category>
		<category><![CDATA[mario]]></category>
		<category><![CDATA[monochron]]></category>
		<category><![CDATA[pebble]]></category>
		<category><![CDATA[smartwatch]]></category>

		<guid isPermaLink="false">http://www.nycresistor.com/?p=6051</guid>
		<description><![CDATA[A year ago Super Awesome Sylvia demoed MarioChron for the Adafruit MonoChron dekstop clock kit. It&#8217;s really neat &#8212; once per minute Mario hits the box and receives a coin, so his score is equal to the time. Now thanks to the GPL license on the code, you can carry it on your wrist with <a href='http://www.nycresistor.com/2013/04/23/mariochron-pebble/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.adafruit.com/adablog/wp-content/uploads/2011/09/monochron6-600x450.jpg"/><br />
A year ago Super Awesome Sylvia demoed <a href="http://sylviashow.com/episodes/s2/e3/mini/monochron">MarioChron</a> for the <a href="http://www.adafruit.com/blog/2011/09/06/mariochron-monochron-clock-kit-with-customer-made-super-mario-clock-mod/">Adafruit MonoChron</a> dekstop clock kit.  It&#8217;s really neat &#8212; once per minute Mario hits the box and receives a coin, so his score is equal to the time.  Now thanks to the GPL license on the code, you can carry it on your wrist with the port of MarioChron to the <a href="http://getpebble.com">Pebble Smart Watch</a>:<br />
<a href="http://www.flickr.com/photos/osr/8526809778/" title="MarioChron, Pebble edition by hudson, on Flickr"><img src="http://farm9.staticflickr.com/8093/8526809778_05f2a238aa_z.jpg" width="640" height="427" alt="MarioChron, Pebble edition"></a><br />
You can install the <a href="https://bitbucket.org/hudson/pebble/downloads/mario.pbw">prebuilt mario.pbw binary</a> and the <a href="https://bitbucket.org/hudson/pebble/src/tip/mario/src?at=default">source is available</a> for further hacking.    Here&#8217;s a <a href="http://www.flickr.com/photos/osr/8525725229/">short video of Mario&#8217;s coin collecting action</a> (the jump height has since been fixed in the source code).</p>
<p>The code is a straightforward port that reuses almost all of the original logic.  The only change is to rearrange the screen slightly from the MonoChron&#8217;s 128&#215;64 LCD to the Pebble&#8217;s 168&#215;144.  This involved translating the <tt>glcdClearDot()</tt> and <tt>glcdSetDot()</tt> calls to 2&#215;2 rectangles using the Pebble&#8217;s <tt>graphics_fill_rect()</tt> functions.  Unfortunately the e-paper display on the Pebble is designed for mostly static images, and updating it at 10 Hz for the animation draws far more power than a once-per-minute clock face.  This means that this watch face consumes lots of power and the Pebble only lasts part of one day instead of an entire week.  Perhaps optimizing the redraws instead of redrawing the entire screen would let it last longer.</p>
<p>Want to learn how to write your own watches for the Pebble?  Sign up for the May 18 <a href="http://www.eventbrite.com/event/6296162993">Pebble programming class at NYCR</a> or come to the hackathon after!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=hnhYLoqBink:W7KCxYEzAH4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=hnhYLoqBink:W7KCxYEzAH4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=hnhYLoqBink:W7KCxYEzAH4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/hnhYLoqBink" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/04/23/mariochron-pebble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/04/23/mariochron-pebble/</feedburner:origLink></item>
		<item>
		<title>Pebble smart watch programming class and hackathon at NYC Resistor</title>
		<link>http://feedproxy.google.com/~r/NycResistor/~3/jn2ArD9dIJ0/</link>
		<comments>http://www.nycresistor.com/2013/04/16/pebble-hackathon/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 01:28:19 +0000</pubDate>
		<dc:creator>hudson</dc:creator>
				<category><![CDATA[classes]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[pebble]]></category>

		<guid isPermaLink="false">http://www.nycresistor.com/?p=6045</guid>
		<description><![CDATA[What time is it? It&#8217;s time to #MakeAwesomeHappen and learn to program the new Pebble Smart Watch! We&#8217;ll be teaching a three hour class on 18 May on how to write custom watch faces that work with the official Pebble SDK. The programming environment is low-level C, with no memory protection, and no emulator nor <a href='http://www.nycresistor.com/2013/04/16/pebble-hackathon/' class='excerpt-more'>[...]</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/osr/8566541785/" title="Pebble Polar Map by hudson, on Flickr"><img src="http://farm9.staticflickr.com/8236/8566541785_1852b26257_z.jpg" width="640" height="476" alt="Pebble Polar Map"></a><br />
What time is it?  It&#8217;s time to <a href="http://storify.com/Pebble/pebblers-makeawesomehappen">#MakeAwesomeHappen</a> and learn to program the new <a href="http://getpebble.com/">Pebble Smart Watch</a>!  We&#8217;ll be teaching a three hour class on 18 May on how to write custom watch faces that work with the <a href="http://developer.getpebble.com/">official Pebble SDK</a>.  The programming environment is low-level C, with no memory protection, and no emulator nor a debugger, so you&#8217;ll need to be fairly comfortable with writing embedded code or at least not afraid to debug with <tt>printf()</tt><abbr title="Only joking -- there is no printf()">*</abbr>.  If you&#8217;ve programmed a device like an Arduino you should be ok with the class.  Tickets for the class <a href="http://www.eventbrite.com/event/6296162993">are on sale for $125</a>.  The hackathon afterwards is free!</p>
<p><a href="http://www.flickr.com/photos/osr/8545889338/" title="Pebble wordsquare watch by hudson, on Flickr"><img src="http://farm9.staticflickr.com/8231/8545889338_145a0ca0aa_z.jpg" width="640" height="427" alt="Pebble wordsquare watch"></a><br />
If you haven&#8217;t heard of it, Pebble was the <a href="http://www.kickstarter.com/projects/597507018/pebble-e-paper-watch-for-iphone-and-android">wildly successfull kickstarter project</a> that pre-sold over 80,000 watches.  The watch has a 144&#215;168 transreflective e-paper display, an ARM M3, Bluetooth, an accelerometer and lots of potential.  <a href="http://www.mypebblefaces.com/concepts/?rated=top">MyPebbleFaces</a> has a few hundred ideas for fun projects and many people have already programmed their dream watch faces.</p>
<p><a href="http://www.flickr.com/photos/osr/5770886035/" title="NYCR Lan party by hudson, on Flickr"><img src="http://farm6.staticflickr.com/5310/5770886035_75906d2519_z.jpg" width="640" height="427" alt="NYCR Lan party"></a><br />
After the class, we&#8217;ll be holding an all-night hackathon to write some new watches.  Developers from Team Pebble will be here to hack with us and help answer any deep questions about the API.  The hackathon is open to everyone with a Pebble and is a great chance to meet other wearable wrist-watch computing enthusiasts in New York.  If you don&#8217;t have your Pebble yet or don&#8217;t want to risk your prized wristwatch, we&#8217;ll have a limited quantity of factory seconds that might not be waterproof, might have glue bubbles, or discoloured bezels or other QC issues available for $75. <a href="http://www.eventbrite.com/event/6296162993">Tickets for the class and hackable watches are available here!</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/NycResistor?a=jn2ArD9dIJ0:sE1YRUzTnWI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/NycResistor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/NycResistor?a=jn2ArD9dIJ0:sE1YRUzTnWI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/NycResistor?i=jn2ArD9dIJ0:sE1YRUzTnWI:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/NycResistor/~4/jn2ArD9dIJ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nycresistor.com/2013/04/16/pebble-hackathon/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.nycresistor.com/2013/04/16/pebble-hackathon/</feedburner:origLink></item>
	</channel>
</rss>
