<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Leah Shanker</title>
	<atom:link href="http://leahshanker.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://leahshanker.com</link>
	<description>Projects &#38; Ponderings</description>
	<lastBuildDate>Thu, 05 Jan 2012 07:48:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='leahshanker.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/479e82d0ebbf6ef47c74bda589da6c45?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Leah Shanker</title>
		<link>http://leahshanker.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://leahshanker.com/osd.xml" title="Leah Shanker" />
	<atom:link rel='hub' href='http://leahshanker.com/?pushpress=hub'/>
		<item>
		<title>Fun with Java Polymorphism (aka crazy break java ninja shit)</title>
		<link>http://leahshanker.com/2011/04/04/fun-with-java-polymorphism/</link>
		<comments>http://leahshanker.com/2011/04/04/fun-with-java-polymorphism/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 07:00:18 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Theory]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[discussions]]></category>
		<category><![CDATA[dynamic method binding]]></category>
		<category><![CDATA[introspection]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[object-oriented]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[polymorphism]]></category>

		<guid isPermaLink="false">http://leahshanker.com/?p=479</guid>
		<description><![CDATA[Given a base class with only static methods in Java, is there a way to determine the type of its subclasses? What is Polymorphism? Can I take programmatic control over Java's Introspection? <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=479&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So my hubby loves his job at Amazon, where he gets to spend all day geeking out and solving complex problems that haven&#8217;t ever been solved before. It&#8217;s made him a happier person and overall more attentive husband, which makes me a happier Leah! But like all big tech companies, Amazon requires a nondisclosure agreement (NDA) from all their employees so he can&#8217;t really talk about anything he&#8217;s working on (In fact, at this very moment he&#8217;s making me leave out certain pieces of this blog entry). I definitely understand why NDAs are necessary, but I&#8217;m also sad he can&#8217;t openly rave excitedly about the problems he solved during the day like he used to. So I was very happy today when he surprised me with a cryptic out-of-context Java question!</p>
<blockquote><p>Given a base class with a static method to be overridden by subclasses, is there a way to determine the type of its subclasses?</p></blockquote>
<p>Oh totally, right? Java objects have the ability to look inside themselves and perform introspection, so objects always know their own classes. Introspection and Dynamic Method Binding in Java allow us to have some seriously sexy polymorphism going on by default (without having to <a href="http://en.wikipedia.org/wiki/Virtual_function" target="_blank">declare any of our functions virtual</a>). Yay! Ok, now let&#8217;s go through a little mini-review of polymorphism in Java.</p>
<h2>Polymorphism</h2>
<p>Polymorphism really is a girl&#8217;s dream: it means you&#8217;ve got the magical ability to <a href="http://www.youtube.com/watch?v=3ttzWuaPGMo" target="_blank">know exactly what I want</a> even if I don&#8217;t tell you or maybe even if I lie about it.</p>
<p>Here are some Pokemon!</p>
<p><pre class="brush: java;">
// Pokemon is totally the hip/unhip thing to do right now.
public class Charmander
{
    public void whatsYourFavoriteJavaPrimitive()
    {
        System.out.println(&quot;char! char! (mander)&quot;);
    }
}
</pre></p>
<p><pre class="brush: java;">
public class Charmeleon extends Charmander
{
    public void whatsYourFavoriteJavaPrimitive()
    {
        System.out.println(&quot;Char! Char! (meleon)&quot;);
    }
}
</pre></p>
<p><pre class="brush: java;">
public class Charizard extends Charmeleon
{
    public void whatsYourFavoriteJavaPrimitive()
    {
        System.out.println(&quot;CHAR! CHAR! (izard)&quot;);
    }
}
</pre></p>
<p>So okay, now we&#8217;ve got our three levels of Pokemon and we&#8217;re ready to rock. Let&#8217;s code up a Driver class real quick to spawn a buncha Pokemon and see what happens when we ask them about which Java primitive is their favorite. Some of them will be shining examples of honest Pokemon and correctly declare their own object type, others will be lying little turds pretending to be their parents to get into the PokeBar.</p>
<p><pre class="brush: java;">
public class Driver
{
    public static void main(String[] args)
    {
        System.out.println(&quot;Normal Declaration&quot;);
        System.out.println(&quot;------------------&quot;);
        System.out.println(&quot;Charmander as itself:&quot;);
        Charmander mander1 = new Charmander();
        mander1.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charmeleon as itself:&quot;);
        Charmeleon meleon1 = new Charmeleon();
        meleon1.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard as itself:&quot;);
        Charizard izard1 = new Charizard();
        izard1.whatsYourFavoriteJavaPrimitive();

        System.out.println(&quot;Polymorphism&quot;);
        System.out.println(&quot;------------&quot;);
        System.out.println(&quot;Charmeleon pretending to be a Charmander:&quot;);
        Charmander meleon2 = new Charmeleon();
        meleon2.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard pretending to be a Charmander:&quot;);
        Charmander izard2 = new Charizard();
        izard2.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard pretending to be a Charmeleon:&quot;);
        Charmeleon izard3 = new Charizard();
        izard3.whatsYourFavoriteJavaPrimitive();
    }
}
</pre></p>
<p>And let&#8217;s take a close look at the output:</p>
<blockquote><p>leah$ java Driver<br />
Normal Declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Charmander as itself:<br />
char! char! (mander)<br />
Charmeleon as itself:<br />
Char! Char! (meleon)<br />
Charizard as itself:<br />
CHAR! CHAR! (izard)<br />
Polymorphism<br />
&#8212;&#8212;&#8212;&#8212;<br />
Charmeleon pretending to be a Charmander:<br />
Char! Char! (meleon)<br />
Charizard pretending to be a Charmander:<br />
CHAR! CHAR! (izard)<br />
Charizard pretending to be a Charmeleon:<br />
CHAR! CHAR! (izard)</p></blockquote>
<p>Polymorphism is indifferent to your sad attempt to confuse it by declaring an object as its parent&#8217;s type! <a href="http://www.collegehumor.com/video/6415230/the-crazy-nastyass-honey-badger" target="_blank">Polymorphism don&#8217;t care. Polymorphism don&#8217;t give a shit, it just takes what it wants</a>.<br />
Anyway, so that&#8217;s how polymorphism with method overriding normally works in Java. But what happens in the situation we talked about above with the superclass with static methods?</p>
<h2>When Polymorphism Goes Wrong</h2>
<p>You guessed it, something goes wrong. But let&#8217;s go ahead anyway with full knowledge and modify our Pokemon from before to make all our whatsYourFavoriteJavaPrimitive() methods static so we won&#8217;t have to instantiate an object every time we want to call their method.</p>
<p><pre class="brush: java;">
public class Charmander
{
    public static void whatsYourFavoriteJavaPrimitive()
    {
        System.out.println(&quot;char! char! (mander)&quot;);
    }
}
</pre></p>
<p><pre class="brush: java;">
public class Charmeleon extends Charmander
{
    public static void whatsYourFavoriteJavaPrimitive()
    {
        System.out.println(&quot;Char! Char! (meleon)&quot;);
    }
}
</pre></p>
<p><pre class="brush: java;">
public class Charizard extends Charmeleon
{
    public static void whatsYourFavoriteJavaPrimitive()
    {
        System.out.println(&quot;CHAR! CHAR! (izard)&quot;);
    }
}
</pre></p>
<p>And let&#8217;s go ahead and run the old Driver class and carefully examine our output:</p>
<blockquote><p>leah$ java Driver<br />
Normal Declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Charmeleon as itself:<br />
Char! Char! (meleon)<br />
Charizard as itself:<br />
CHAR! CHAR! (izard)<br />
Polymorphism<br />
&#8212;&#8212;&#8212;&#8212;<br />
Charmeleon pretending to be a Charmander:<br />
char! char! (mander)<br />
Charizard pretending to be a Charmander:<br />
char! char! (mander)<br />
Charizard pretending to be a Charmeleon:<br />
Char! Char! (meleon)</p></blockquote>
<p><a href="http://icanhascheezburger.com/2011/03/21/funny-pictures-hotdog-cat-eats-hotdog/" target="_blank">wat.</a></p>
<p>All we added was a &#8220;static&#8221; keyword to the methods! We&#8217;re still coding in Java and the output is listed under the Polymorphism heading so it must be true <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Why don&#8217;t we see polymorphic behavior here? Why is this any different than before?</p>
<p>Regular methods in Java use dynamic binding by default &#8211; it basically doesn&#8217;t make up it&#8217;s mind about the object type until runtime. Static methods in Java use early binding at compile time entirely based on the reference you set for the object (and technically can never be overridden). </p>
<p><strong>But I really really want polymorphism with static methods!</strong></p>
<h2>How can we make polymorphism happen anyway?</h2>
<p>Let&#8217;s poke around some more and see if we can&#8217;t come up with something.<br />
How does Java know what class an object belongs to? Well, in the <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html">Object class</a> there&#8217;s a method called <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass%28%29">getClass</a> which returns a <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html">Class object</a>. Inside the Class object, we&#8217;ve got a method called <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getMethod%28java.lang.String,%20java.lang.Class...%29">getMethod</a> which returns a <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Method.html">Method</a> object. Sheesh, Java really does have an object for everything.</p>
<p>Okay, so this Method class has a very interesting method called <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Method.html#invoke%28java.lang.Object,%20java.lang.Object...%29">invoke</a> which invokes a method (how meta).</p>
<p>Let&#8217;s take all this badass crazy break java ninja shit and drive it home!</p>
<p><pre class="brush: java;">
public class Driver
{
    public static void main(String[] args) throws Exception
    {
        System.out.println(&quot;Normal Declaration&quot;);
        System.out.println(&quot;------------------&quot;);
        System.out.println(&quot;Charmander as itself:&quot;);
        Charmander mander1 = new Charmander();
        mander1.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charmeleon as itself:&quot;);
        Charmeleon meleon1 = new Charmeleon();
        meleon1.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard as itself:&quot;);
        Charizard izard1 = new Charizard();
        izard1.whatsYourFavoriteJavaPrimitive();

        System.out.println(&quot;Broken Polymorphism&quot;);
        System.out.println(&quot;--------------------&quot;);
        System.out.println(&quot;Charmeleon pretending to be a Charmander:&quot;);
        Charmander meleon2 = new Charmeleon();
        meleon2.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard pretending to be a Charmander:&quot;);
        Charmander izard2 = new Charizard();
        izard2.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard pretending to be a Charmeleon:&quot;);
        Charmeleon izard3 = new Charizard();
        izard3.whatsYourFavoriteJavaPrimitive();

        System.out.println(&quot;Without Instantiation&quot;);
        System.out.println(&quot;---------------------&quot;);
        System.out.println(&quot;Charmander:&quot;);
        Charmander.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charmeleon:&quot;);
        Charmeleon.whatsYourFavoriteJavaPrimitive();
        System.out.println(&quot;Charizard&quot;);
        Charizard.whatsYourFavoriteJavaPrimitive();

        System.out.println(&quot;getClass.getMethod.invoke&quot;);
        System.out.println(&quot;-------------------------&quot;);
        System.out.println(&quot;Charmeleon pretending to be a Charmander:&quot;);
        meleon2.getClass().getMethod(&quot;whatsYourFavoriteJavaPrimitive&quot;, null).invoke(null, null);
        System.out.println(&quot;Charizard pretending to be a Charmander:&quot;);
        izard2.getClass().getMethod(&quot;whatsYourFavoriteJavaPrimitive&quot;, null).invoke(null, null);
        System.out.println(&quot;Charizard pretending to be a Charmeleon:&quot;);
        izard3.getClass().getMethod(&quot;whatsYourFavoriteJavaPrimitive&quot;, null).invoke(null, null);

    }
}
</pre></p>
<p>Ok, what does this give us?</p>
<blockquote><p>leah$ java Driver<br />
Normal Declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Charmander as itself:<br />
char! char! (mander)<br />
Charmeleon as itself:<br />
Char! Char! (meleon)<br />
Charizard as itself:<br />
CHAR! CHAR! (izard)<br />
Broken Polymorphism<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Charmeleon pretending to be a Charmander:<br />
char! char! (mander)<br />
Charizard pretending to be a Charmander:<br />
char! char! (mander)<br />
Charizard pretending to be a Charmeleon:<br />
Char! Char! (meleon)<br />
Without Instantiation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Charmander:<br />
char! char! (mander)<br />
Charmeleon:<br />
Char! Char! (meleon)<br />
Charizard<br />
CHAR! CHAR! (izard)<br />
getClass.getMethod.invoke<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Charmeleon pretending to be a Charmander:<br />
Char! Char! (meleon)<br />
Charizard pretending to be a Charmander:<br />
CHAR! CHAR! (izard)<br />
Charizard pretending to be a Charmeleon:<br />
CHAR! CHAR! (izard)</p></blockquote>
<p>OMFG Did we really just do that? I think we did! Even when Java didn&#8217;t want to dynamically bind our static methods, we made it happen anyway! Polymorphism &#8211; it&#8217;s super effective!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/479/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=479&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2011/04/04/fun-with-java-polymorphism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>
	</item>
		<item>
		<title>DEFCON 18 Ninja Badge</title>
		<link>http://leahshanker.com/2010/08/22/defcon-18-ninja-badge/</link>
		<comments>http://leahshanker.com/2010/08/22/defcon-18-ninja-badge/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 00:58:19 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[defcon]]></category>
		<category><![CDATA[defcon18]]></category>
		<category><![CDATA[ninja]]></category>
		<category><![CDATA[ninja badge]]></category>
		<category><![CDATA[ninja networks]]></category>
		<category><![CDATA[ninja party]]></category>
		<category><![CDATA[schematics]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://leahshanker.com/?p=461</guid>
		<description><![CDATA[The Ninja Badge was absolutely phenomenal this year at DEFCON 18. Each badge had a playable ninja character which could wirelessly battle other ninjas in a 10ft proximity. <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=461&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_464" class="wp-caption alignleft" style="width: 310px"><a href="http://leahshanker.files.wordpress.com/2010/08/img_1929.jpg"><img class="size-medium wp-image-464" title="Leah's Ninja Badge" src="http://leahshanker.files.wordpress.com/2010/08/img_1929.jpg?w=300&#038;h=225" alt="Leah's Ninja Badge" width="300" height="225" /></a><p class="wp-caption-text">Leah&#039;s Ninja Badge</p></div>
<p>The Ninja Badge was absolutely phenomenal this year at <a href="http://defcon.org/">DEFCON 18</a>. Each badge had a playable ninja character which could wirelessly battle other ninjas within a 10ft proximity. You could even complete quests and obtain items!</p>
<p>The quests ranged from simply visiting various vendor booths to defeating bosses walking around the conference.</p>
<p>There  was also the CAEZARS CHALLENGE mode unlocked by typing in the Konami  code (Up Up Down Down Left Right Left Right B A). A series of about 10  different challenges would appear for you to solve. I spent a few hours  working through them, fascinated.</p>
<p>The last Caezar&#8217;s Challenge asked you  to obtain the instruction pointer using 3 assembly opcodes. The accepted answer was actually a  flawed solution, so it took asking an organizer to actually solve the final challenge. I&#8217;ll just chalk that one up to social engineering <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The social dynamic between ninja badge holders was so incredible &#8211; I remember a few times being introduced to other ninja badge holders and mentioning that we&#8217;d already been ninja fighting that day during talks, lol.</p>
<p>The <a href="http://ninjas.org/badges/defcon18.html">Ninja Networks website</a> has in-depth details about this year&#8217;s badge. <a href="http://www.wired.com/threatlevel/2010/07/defcon-ninja-badge/">Wired</a> has the in-depth details about the badge specs if you&#8217;re interested in reading about the capabilities.</p>
<p>I hear they&#8217;re selling on eBay for around $500 or you could really just take the design files below to a manufacturer and have them make you one. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Oh, and if anyone has a scan of the badge instruction manual, I would greatly appreciate it as mine disappeared <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>My friend <a href="http://unstdio.org/">C4</a> gave me the <a href="http://captainflour.com/leah/ninjabadgedist-20100803220827.tar.gz">ninja badge source code</a> if you&#8217;re interested in hacking the badge or sending the design off to a manufacturer to obtain your own! I&#8217;m working with him right now to make it into a dev board among other things.</p>
<p>EDIT: Krux obtained the <a href="http://web.mit.edu/~awozniak/www/ninja/Filez.zip">design files</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/461/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=461&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2010/08/22/defcon-18-ninja-badge/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2010/08/img_1929.jpg?w=300" medium="image">
			<media:title type="html">Leah&#039;s Ninja Badge</media:title>
		</media:content>
	</item>
		<item>
		<title>TRON Costume Part 1: The Fedora</title>
		<link>http://leahshanker.com/2010/04/14/tron-costume-part-1-the-fedora/</link>
		<comments>http://leahshanker.com/2010/04/14/tron-costume-part-1-the-fedora/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 01:20:38 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[el wire]]></category>
		<category><![CDATA[electroluminescence]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[tron]]></category>
		<category><![CDATA[tron costume]]></category>
		<category><![CDATA[tron legacy]]></category>

		<guid isPermaLink="false">http://leahshanker.com/?p=437</guid>
		<description><![CDATA[With the recent exciting news of TRON: Legacy coming out this December in IMAX 3D, I went to go book my midnight showing tickets at our local IMAX3D theatre&#8230; but to my great despair they only take reservations three months in advance! So to kill some time until the big day, I decided to start [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=437&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With the recent exciting news of TRON: Legacy coming out this December in IMAX 3D, I went to go book my midnight showing tickets at our local IMAX3D theatre&#8230; but to my great despair they only take reservations three months in advance! So to kill some time until the big day, I decided to start working on my TRON costume.</p>
<p>I started by googling TRON Costume and found some excellent resources for building my own TRON Costume. But alas, I stumbled upon <a href="http://www.tronguy.net/">TRON Guy</a> and came to the sad realization that I would never be cool enough to top that. So instead of creating <em>yet another TRON Costume</em>, I decided I would find some of my favorite pieces of clothing and line them with electroluminescent wire to give the whole ensemble a more modern and unique feel.</p>
<div id="attachment_434" class="wp-caption alignleft" style="width: 235px"><a href="http://leahshanker.files.wordpress.com/2010/04/photo.jpg"><img class="size-medium wp-image-434" title="TRON Fedora Lit Up in the Dark" src="http://leahshanker.files.wordpress.com/2010/04/photo.jpg?w=225&#038;h=300" alt="TRON Fedora Lit Up in the Dark" width="225" height="300" /></a><p class="wp-caption-text">TRON Fedora Lit Up in the Dark</p></div>
<p>I scoured the house while my husband was out of town and found the <em>perfect</em> piece: <strong>his favorite fedora</strong>.</p>
<p>I thought I would surprise him with a sweet pimped-out EL TRON Fedora he can wear on the midnight showing of TRON&#8230;</p>
<p>I lined all the seams of the hat using bookbinder&#8217;s thread and needle because the fabric was actually quite tough and I couldn&#8217;t get a regular sewing needle through it without really hurting my fingers. As you can see from the pictures, I spaced the loops about 4-5 inches apart on the edges which end up being completely invisible in a dark room with the fedora lit up!</p>
<p>My aim was to not cross-over the same place twice with EL wire, so I switched to regular black stranded wire to link two different EL wire segments together.</p>
<p>My husband hasn&#8217;t seen it yet, so I hope he won&#8217;t be mad that I had to cut an itty bitty hole in the back of the hat to feed the connector through, lol.</p>
<div id="attachment_435" class="wp-caption alignright" style="width: 310px"><a href="http://leahshanker.files.wordpress.com/2010/04/fronthat.jpg"><img class="size-medium wp-image-435" title="Front of TRON Fedora" src="http://leahshanker.files.wordpress.com/2010/04/fronthat.jpg?w=300&#038;h=225" alt="Front of TRON Fedora" width="300" height="225" /></a><p class="wp-caption-text">Front of TRON Fedora</p></div>
<p>I&#8217;d never worked with electroluminescent wire before this project. It&#8217;s actually quite a pain in the arse to solder. If you don&#8217;t buy the silly EL-wire-stripper tool, it&#8217;s a delicate art to strip the wire coating without breaking the two tiny angelhair wires that run along the outside coating. Before working firsthand with the stuff, I audibly scoffed at the idea of buying a &#8220;wire stripper tool&#8221; specifically made for electroluminescent wire &#8211; why not just use a regular wire-stripper? Now I know.</p>
<div id="attachment_436" class="wp-caption alignleft" style="width: 310px"><a href="http://leahshanker.files.wordpress.com/2010/04/asshat.jpg"><img class="size-medium wp-image-436" title="Back of TRON Fedora" src="http://leahshanker.files.wordpress.com/2010/04/asshat.jpg?w=300&#038;h=225" alt="Back of the TRON Fedora" width="300" height="225" /></a><p class="wp-caption-text">Back of the TRON Fedora</p></div>
<p>The back of the hat didn&#8217;t turn out quite as beautiful as I&#8217;d imagined in my head, but not hideous either. I started by only lining the top and bottom of the hat with one long piece of EL wire. After deciding that didn&#8217;t have quite the wow-factor I was looking for, I added in two more pieces around the rim and middle portion of the fedora. I could have linked the wires together to end up with one very long strand connected with tiny black wire, but instead I decided to centralize the crazt mess of wires to the back of the hat where it would be the least noticeable.</p>
<div id="attachment_428" class="wp-caption alignright" style="width: 310px"><a href="http://leahshanker.files.wordpress.com/2010/04/uplook_hat.jpg"><img class="size-medium wp-image-428" title="Leah Sporting the Fashionable TRON Fedora" src="http://leahshanker.files.wordpress.com/2010/04/uplook_hat.jpg?w=300&#038;h=225" alt="Leah Sporting the Fashionable TRON Fedora" width="300" height="225" /></a><p class="wp-caption-text">Leah Sporting the Fashionable TRON Fedora</p></div>
<p>Anyway, that was part one of the TRON Costume ensemble! I&#8217;ve already got a dress picked out I&#8217;m going to line with another color (orange or pink, I haven&#8217;t decided yet).</p>
<p>I hear Daft Punk is doing the soundtrack for TRON: Legacy &#8211; maybe when I&#8217;m brave enough I&#8217;ll actually have some working Daft Punk Helmets. I&#8217;m SO EXCITED about this movie, I can&#8217;t wait!!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/437/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=437&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2010/04/14/tron-costume-part-1-the-fedora/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2010/04/photo.jpg?w=225" medium="image">
			<media:title type="html">TRON Fedora Lit Up in the Dark</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2010/04/fronthat.jpg?w=300" medium="image">
			<media:title type="html">Front of TRON Fedora</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2010/04/asshat.jpg?w=300" medium="image">
			<media:title type="html">Back of TRON Fedora</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2010/04/uplook_hat.jpg?w=300" medium="image">
			<media:title type="html">Leah Sporting the Fashionable TRON Fedora</media:title>
		</media:content>
	</item>
		<item>
		<title>Usability and User-Centric Design</title>
		<link>http://leahshanker.com/2010/01/16/usability-and-user-centric-design/</link>
		<comments>http://leahshanker.com/2010/01/16/usability-and-user-centric-design/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 10:48:22 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Ponderings]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Theory]]></category>
		<category><![CDATA[7 golden rules]]></category>
		<category><![CDATA[design plan]]></category>
		<category><![CDATA[hci]]></category>
		<category><![CDATA[human computer interaction]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[usability analysis]]></category>
		<category><![CDATA[user interfaces]]></category>
		<category><![CDATA[user-centric design]]></category>

		<guid isPermaLink="false">http://leahshanker.wordpress.com/?p=404</guid>
		<description><![CDATA[The world thinks of software developers as simple code monkeys. Why? Well, we act like it. We think we're the smart ones, with the pathetic human users idiotically fumbling around our systems (which of course, is always the perfect embodiment of what a system should be). We think to ourselves, "Why should we consult the users when we know all the technological possibilities better than they do?".<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=404&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The world thinks of software developers as simple code monkeys. Why? Well, we act like it. We think we&#8217;re the smart ones, with the pathetic human users idiotically fumbling around our systems (which of course, is always the perfect embodiment of what a system should be). We think to ourselves, &#8220;Why should we consult the users when we know all the technological possibilities better than they do?&#8221;.</p>
<p>Quite frankly, software development needs a makeover.</p>
<p>Office Space made light of the whole situation by poking fun at one of the employees. His job was solely a mediator between the users and the programmers, because &#8220;programmers can&#8217;t talk to people&#8221;. Sadly, this actually happens in the real world outside of comedy movies. Fellow programmers, this is not something to be proud of and should be treated as a weakness in your coding ability! Here&#8217;s a good place to start:</p>
<p>One of my favorite classes I&#8217;d ever taken in Computer Science was a course taught by Dr. Eck Doerry at Northern Arizona University entitled &#8220;Advanced User Interfaces&#8221;. I consider it life-altering because I felt like I stepped out of that course with a fresh new look at the software development cycle and how everyone currently operating in the industry has it all wrong and it&#8217;s my job to educate the world (Call me naïve).</p>
<h2>The 7 Golden Rules of Usability</h2>
<p>Here are the seven commandments to follow when actually laying out your user interface (this is ideally after you&#8217;ve completed initial user surveys):</p>
<ol>
<li><strong>Consistency: </strong>Your interface should follow a pattern of control structures in addition to a universal &#8220;look and feel&#8221;. Your system should also be consistent with the user&#8217;s mental model of the problem.</li>
<li><strong>Design for Evolving Expertise:</strong> Your system should have a very small learning curve for new users (perhaps include an introductory tutorial explaining how to use your system) and should also be capable enough for more advanced users to quickly perform actions without hassle (The infamous Microsoft Word Paperclip Helper should never appear for advanced users, for example).</li>
<li><strong>Feedback:</strong> Your system should always indicate the status state and progress for the user, using the appropriate conventions. A spinning indicator is an acceptable way to show the user the system is taking only a few moment to process a request, but any process taking longer should be given a full progress bar.</li>
<li><strong>Design for Error:</strong> Your system should disallow error wherever possible &#8211; grey out possible new actions during processing, use very strict input validation, etc. Additionally, your system should handle errors in the most prudent way possible &#8211; no cryptic error messages with application crashes. Exceptions should be thrown to an error-handling mechanism that determines the best course of action to take in the event of a failure at any step of the way.</li>
<li><strong>Reversal of Action:</strong> Humans make mistakes, every action taken by the user changing the system state should be completely reversible. Studies show that if users realize they&#8217;ve made a mistake, they tend to realize only a few seconds after taking the action (possibly by second-guessing themselves?). Even permanent delete functions should be stored in a temporary place to allow for reversal (much like the Recycle Bin).</li>
<li><strong>Sense of User Control:</strong> Users should always be the initiators, with the system passively receiving actions without any hidden automatic behavior behind the scenes. This isn&#8217;t always possible, however. In the event that your system is modeling real-time data, the user should always be given the control to halt or change the system at any time.</li>
<li><strong>No Rote Memorization: </strong>Users should not be expected to keep data in their short term memory to operate your system &#8211; for example, if data from three screens ago needs to be entered again: give all the information to the user on the same page (to be used as reference) rather than expecting him to recall it.</li>
</ol>
<p>And for funsies, here are some design documents our UI Team used for our Final Project in the class:</p>
<ul>
<li><a href="http://leahshanker.files.wordpress.com/2010/01/designplan.pdf">Design Plan</a></li>
<li><a href="http://leahshanker.files.wordpress.com/2010/01/usability-report.pdf">Usability Report</a></li>
<li><a href="http://leahshanker.files.wordpress.com/2010/01/finalpresentation.ppt">Final Results Presentation</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/404/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=404&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2010/01/16/usability-and-user-centric-design/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>
	</item>
		<item>
		<title>My Favorite Geek Music Tracks (Playlist)</title>
		<link>http://leahshanker.com/2009/08/18/my-favorite-geek-music-tracks-playlist/</link>
		<comments>http://leahshanker.com/2009/08/18/my-favorite-geek-music-tracks-playlist/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 23:46:01 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[beatles]]></category>
		<category><![CDATA[defcon]]></category>
		<category><![CDATA[eeprom]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[monzy]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[nerdcore]]></category>
		<category><![CDATA[osogato]]></category>
		<category><![CDATA[partytron]]></category>
		<category><![CDATA[playlist]]></category>
		<category><![CDATA[the brothers grimm]]></category>
		<category><![CDATA[the faint]]></category>

		<guid isPermaLink="false">http://leahshanker.wordpress.com/?p=335</guid>
		<description><![CDATA[Music emotionally engineers me to feel whatever it wants every time I listen to it. I really have no control over it, regardless of how intensely I'm into a project or consciously trying to ignore it. I suspect it comes from being an auditory learner - there's really no way to shut off your ears without earplugs! Anyway, I have a bunch of geek music I've collected over the years and I think it's time I share it with the world :)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=335&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Music emotionally engineers me to feel whatever it wants every time I listen to it. I really have no control over it, regardless of how intensely I&#8217;m into a project or consciously trying to ignore it. I suspect it comes from being an auditory learner &#8211; there&#8217;s really no way to shut off your ears without earplugs! Anyway, I have a bunch of geek music I&#8217;ve collected over the years and I think it&#8217;s time I share it with the world <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So everything I could find on the Amazon MP3 Store, I&#8217;ve linked to here in the playlist because the truth is: geeks are a very small clique that simply doesn&#8217;t generate as much income for the artists as your normal, run-of-the-mill boring pop culture radio blether. So please, support the artists &#8211; they really need your help!</p>
<h3>Geekster Rap</h3>
<p>Much of the great geek music collection here owes much to the underground Nerdcore subculture. But I&#8217;ve classified the music even further by distinguishing the vulgar, testosterone-infused vulgar Geekster Rap (which is almost a direct parody of classic Gangster Rap) from the rest of the Nerdcore scene.</p>
<h4>
<div id="attachment_343" class="wp-caption alignleft" style="width: 310px"><a href="http://www.monzy.com/index.php?s=phd"><img class="size-medium wp-image-343" title="Monzy" src="http://leahshanker.files.wordpress.com/2009/08/germantv_small.jpg?w=300&#038;h=251" alt="Monzy" width="300" height="251" /></a><p class="wp-caption-text">Monzy</p></div>
<p>Monzy: So Much Drama in the PhD [NSFW]</h4>
<p>This was a Stanford grad student&#8217;s masterpiece &#8211; it&#8217;s *FILLED* with algorithms and terminology we&#8217;re all so familiar with from CS core classes. NSFW! <a href="http://graphics.stanford.edu/~monzy/DramainthePhD.mp3">Download mp3 (Free)</a></p>
<h6>My flow is so intense that I will overflow your buffer,<br />
Corrupt your stack pointer makin&#8217; all your data suffer.<br />
I&#8217;ve got saturated edges but your flow is sparser,<br />
Real gangstas sip on Yacc; instead you generate a parser.<br />
While you&#8217;re busy poppin&#8217; stacks I&#8217;ll pop a cap in your skull,<br />
While you smoke your crack pipe I&#8217;m gonna pipe you to  <span style="font-family:Courier New;">/dev/null</span><span style="font-family:Arial,Helvetica,sans-serif;">.<br />
I may not have a label but I rap like a star;<br />
I&#8217;m an </span><span style="font-family:Courier New;">unsigned long int</span><span style="font-family:Arial,Helvetica,sans-serif;"> and you&#8217;re an 8-bit </span><span style="font-family:Courier New;">char</span><span style="font-family:Arial,Helvetica,sans-serif;">.</span></h6>
<h6>Your mom circulates like a public key,<br />
Servicing more requests than HTTP.<br />
She keeps all her ports open like Windows ME,<br />
Oh, there&#8217;s so much drama in the PhD.</h6>
<h6>I run gmake and gcc,<br />
And I ain&#8217;t never called <span style="font-family:Courier New;">malloc</span><span style="font-family:Arial,Helvetica,sans-serif;"> without calling </span><span style="font-family:Courier New;">free</span><span style="font-family:Arial,Helvetica,sans-serif;">.<br />
I&#8217;ll beat your ass until it&#8217;s colored like a red-black tree<br />
&#8216;Cause there&#8217;s so much drama in the PhD.</span></h6>
<h4>(Ode to the DEFCON) Badgez</h4>
<p>DEFCON 15&#8242;s Badgehacking Team Winner, Team Osogato, went all out on their badgehacking submission: they got a friend-of-a-friend (The Brothers Grimm) who was a Nerdcore rapper to create a rap from the poem Joe Grand wrote in the DEFCON schedule booklet that year. It sounds really great too! <a href="http://www.osogato.com/hacks/badgez.mp3">Download mp3 (Free)</a></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='480' height='300' src='http://www.youtube.com/embed/GniWtk2MER8?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<h4>
<div id="attachment_359" class="wp-caption alignleft" style="width: 170px"><a href="http://www.amazon.com/gp/product/B001BMQ9ZG?ie=UTF8&amp;tag=leashasblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001BMQ9ZG"><img class="size-full wp-image-359" title="Secrets From the Future Album" src="http://leahshanker.files.wordpress.com/2009/08/51dya1dduhl-_sl160_.jpg?w=480" alt="Secrets From the Future Album"   /></a><p class="wp-caption-text">Secrets From the Future Album</p></div>
<p>Secrets From the Future</h4>
<p>MC Frontalot is probably my all-time favorite Nerdcore Rapper. He&#8217;s got an exquisite sound and an intuitive sense of (geek) culture in his music. His track, &#8220;Secrets from the Future&#8221; has a god-like quality to it: I think it was even composed at DEFCON? Man I would have killed to see him at DEFCON. Anyway,<a href="http://frontalot.com/index.php/?page=lyrics&amp;lyricid=41"> lyrics are here</a>. And also, <a href="http://frontalot.com/media.php/325/MC_Frontalot_SFTF_%2801%29_Secrets_From_The_Future.mp3">Download the mp3 (Free) </a>from his website. Or, do the right thing and <a href="http://www.amazon.com/gp/product/B001BMQ9ZG?ie=UTF8&amp;tag=leashasblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001BMQ9ZG">buy the entire album</a>!</p>
<h4>
<div id="attachment_344" class="wp-caption alignleft" style="width: 160px"><a href="http://leahshanker.files.wordpress.com/2009/08/mpaastickersm.gif"><img class="size-full wp-image-344" title="Anti-MPAA Sticker of My Youth" src="http://leahshanker.files.wordpress.com/2009/08/mpaastickersm.gif?w=480" alt="Anti-MPAA Sticker of My Youth"   /></a><p class="wp-caption-text">Anti-MPAA Sticker of My Youth</p></div>
<p>Fuck the MPAA [NSFW]</h4>
<p>Oh yeah, back when I was in 6th grade the cool thing to do was post those bright yellow &#8220;STOP THE MPAA&#8221; bumper stickers all over town. Several of the payphones at school had those bumperstickers plastered all over them (I can neither confirm nor deny placing them there). The Futuristic Sex Robotz took it to a whole new level of cool with this song. Oh and pretty much anything by FSR is obscenely vulgar (but awesomely geeky), so obviously nowhere near safe for work: <a href="http://www.last.fm/music/Futuristic+Sex+Robotz/_/Fuck+The+MPAA">Download mp3 (Free)</a></p>
<h3>Partytron (Electronic)</h3>
<h4>The Geeks Were Right &amp; The Conductor</h4>
<p>The Faint has quickly become one of my favorite artists of all time. They&#8217;ve got this grungy, industrial sound plus kickin&#8217; bass beats: I dub this new genre&#8230; Partytron! &#8220;The Conductor&#8221; is about the conductor of an orchestra, stepping up to the stage and taking control of the music. &#8220;The Geeks Were Right&#8221; is all about the Sci-fi Prediction that we&#8217;ll all become robots someday actually comes true. The Faint gets a HUGE less-than-three from me <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="attachment_340" class="wp-caption aligncenter" style="width: 170px"><a href="http://www.amazon.com/gp/product/B001CN5O8W?ie=UTF8&amp;tag=leashasblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001CN5O8W"><img class="size-full wp-image-340" title="The Geeks Were Right by The Faint" src="http://leahshanker.files.wordpress.com/2009/08/61bao3kkjsl-_sl160_.jpg?w=480" alt="The Geeks Were Right by The Faint"   /></a><p class="wp-caption-text">The Geeks Were Right</p></div>
<div id="attachment_341" class="wp-caption aligncenter" style="width: 170px"><a href="http://www.amazon.com/gp/product/B000TD6WE6?ie=UTF8&amp;tag=leashasblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B000TD6WE6"><img class="size-full wp-image-341" title="The Conductor (Thin White Duke Remix) by The Faint" src="http://leahshanker.files.wordpress.com/2009/08/612btdn7izl-_sl160_.jpg?w=480" alt="The Conductor (Thin White Duke Remix) by The Faint"   /></a><p class="wp-caption-text">The Conductor (Thin White Duke Remix)</p></div>
<h3>8-bit Remixes</h3>
<p>So, this is probably the most represented genre of the geek music I listen to. Everyone and their mother has probably heard a video game theme remix somewhere along the lines. So I&#8217;ve decided to focus on only the *good* ones, lol.</p>
<h4>
<div id="attachment_356" class="wp-caption alignleft" style="width: 310px"><a href="http://remixartistcollective.com/releases/nintendovssegaep.zip"><img class="size-medium wp-image-356" title="RAC's Nintendo vs. Sega EP" src="http://leahshanker.files.wordpress.com/2009/08/nintendo_vs_sega_ep_500.jpg?w=300&#038;h=300" alt="RAC's Nintendo vs. Sega EP" width="300" height="300" /></a><p class="wp-caption-text">RAC&#39;s Nintendo vs. Sega EP</p></div>
<p>RAC&#8217;S Nintendo vs. Sega EP</h4>
<p>I can&#8217;t pick my favorite from this album: EVERYTHING is great. RAC is pretty much the crowned king of video game remixes in my world. Sonic and Mario getting together on the weekends for an 8-bit Party? Oh YEAH! The Remix Artist Collective Agency (RAC) is a group of artists that remix all kinds of popular music: I pretty much read (RAC Remix) next to any song as (Eff-YEAH Remix). <a href="http://remixartistcollective.com/releases/nintendovssegaep.zip">Download zip of entire album (Free)</a></p>
<h4>Anything by EEPROM</h4>
<p style="text-align:right;">EEPROM is pretty much the God of Leah&#8217;s Musical World. Everything he touches turns to gold &#8211; I honestly haven&#8217;t found any song that he&#8217;s created that my mind hasn&#8217;t been blown countless times over.</p>
<p style="text-align:right;">EEPROM Remix of Weezer&#8217;s Say It Ain&#8217;t So: <a href="http://mark.jworks.ca/eeprom/music/siasremix.mp3">mp3 Download (Free)</a></p>
<p style="text-align:right;">The Beatles&#8217;s Lonely People (EEPROM Rigby Remix): <a href="http://www.thesixtyone.com/#/eeprom/song/Lonely+People+(Eleanor+Rigby+Remix+by+EEPROM)/30480/">mp3 Download (80¢)</a></p>
<p style="text-align:right;">EEPROM Remix of the Safety Dance: <a href="http://www.thesixtyone.com/#/eeprom/song/Safety+Dance/58970/">mp3 Download (80¢)</a></p>
<p style="text-align:right;">EEPROM Remix of Human Robotics: <a href="http://www.thesixtyone.com/#/eeprom/song/Human+Robotics/43848/">mp3 Download (80¢)</a></p>
<p style="text-align:right;">EEPROM Remix of OneRepublic&#8217;s Apologize: <a href="http://www.thesixtyone.com/#/eeprom/song/Apologize/32854/">mp3 Download (80¢)</a></p>
<p style="text-align:right;">EEPROM Remix Rick Astley&#8217;s Never Gonna Give You Up (Rick Roll): <a href="http://www.thesixtyone.com/#/eeprom/song/Never+Gonna+Give+You+Up/34708/">mp3 Download</a><a href="http://www.thesixtyone.com/#/eeprom/song/Safety+Dance/58970/"> (80¢)</a></p>
<p style="text-align:right;">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/335/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=335&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2009/08/18/my-favorite-geek-music-tracks-playlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://graphics.stanford.edu/~monzy/DramainthePhD.mp3" length="2263168" type="audio/mpeg" />
<enclosure url="http://www.osogato.com/hacks/badgez.mp3" length="2333932" type="audio/mpeg" />
<enclosure url="http://frontalot.com/media.php/325/MC_Frontalot_SFTF_%2801%29_Secrets_From_The_Future.mp3" length="8689664" type="audio/mpeg3" />
<enclosure url="http://mark.jworks.ca/eeprom/music/siasremix.mp3" length="5353537" type="audio/mpeg" />
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/germantv_small.jpg?w=300" medium="image">
			<media:title type="html">Monzy</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/51dya1dduhl-_sl160_.jpg" medium="image">
			<media:title type="html">Secrets From the Future Album</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/mpaastickersm.gif" medium="image">
			<media:title type="html">Anti-MPAA Sticker of My Youth</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/61bao3kkjsl-_sl160_.jpg" medium="image">
			<media:title type="html">The Geeks Were Right by The Faint</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/612btdn7izl-_sl160_.jpg" medium="image">
			<media:title type="html">The Conductor (Thin White Duke Remix) by The Faint</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/nintendo_vs_sega_ep_500.jpg?w=300" medium="image">
			<media:title type="html">RAC&#039;s Nintendo vs. Sega EP</media:title>
		</media:content>
	</item>
		<item>
		<title>DEFCON 0&#215;11 Post-Mortem</title>
		<link>http://leahshanker.com/2009/08/05/defcon-0x11-post-mortem/</link>
		<comments>http://leahshanker.com/2009/08/05/defcon-0x11-post-mortem/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 18:33:32 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Embedded Systems]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Plugs]]></category>
		<category><![CDATA[Ponderings]]></category>
		<category><![CDATA[badgehacking]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[defcon]]></category>
		<category><![CDATA[defcon17]]></category>
		<category><![CDATA[electrical engineering]]></category>
		<category><![CDATA[joe grand]]></category>
		<category><![CDATA[NAU]]></category>
		<category><![CDATA[ninja party]]></category>
		<category><![CDATA[northern arizona university]]></category>

		<guid isPermaLink="false">http://leahshanker.wordpress.com/?p=318</guid>
		<description><![CDATA[After five consecutive years of watching cool people show off incredibly cool things, I decided to take a whole different approach to DEFCON this year. A number of my friends (including my wonderful husband Matt) took part in the Mystery Challenge this year after solving the initial registration puzzle a month before the conference started. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=318&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After five consecutive years of watching cool people show off incredibly cool things, I decided to take a whole different approach to DEFCON this year. A number of my friends (including my wonderful husband Matt) took part in the Mystery Challenge this year after solving the initial registration puzzle a month before the conference started. Ever since I was a little girl, I&#8217;ve always had a soft spot for pen-and-paper ciphers and I knew that I would have an absolute blast joining the Mystery Challenge team. So, in a strange effort to enhance my character &#8211; I joined a badgehacking team instead <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="attachment_328" class="wp-caption alignleft" style="width: 310px"><a href="http://leahshanker.files.wordpress.com/2009/08/kenjimattleah.jpg"><img class="size-medium wp-image-328" title="Our Badgehacking Team: Leah, Kenji &amp; Matt" src="http://leahshanker.files.wordpress.com/2009/08/kenjimattleah.jpg?w=300&#038;h=225" alt="Our Badgehacking Team: Leah, Kenji &amp; Matt" width="300" height="225" /></a><p class="wp-caption-text">Our Badgehacking Team: Leah, Kenji &amp; Matt</p></div>
<p>I had been preparing with Joe Davidson, <a href="http://www.blueplasma.org/">Kenji Yamamoto</a> and <a href="http://www.zanfar.com">Matt Wyant</a> for a number of months leading up to the badgehacking competition. To my great dismay, by the time I got to DEFCON (Thursday evening) &#8211; they were out of actual badges! I moped around, seriously considering joining the Mystery Challenge team and throwing up my hands in defeat at badgehacking.</p>
<p>But my faith in humanity was reaffirmed! A random friend from Twitter (<a href="http://twitter.com/ancients">@Ancients</a>) picked me out near the Skyboxes and traded his real badge for my paper badge, &#8220;I would rather someone who&#8217;s actually hacking the badge have it instead of me&#8221;. I was in heaven! What an incredibly nice thing to do!!! Later on during the conference, I added some cool blinky lights to his badge in thanks (he also had to wait in the enormous badge exchange line the next day).</p>
<p>Check out the <a href="http://www.wired.com/threatlevel/2009/08/hacking-the-defcon-17-badges/">Wired Article</a> for an in-depth look at the DEFCON badge!</p>
<p>After pouring over the source code and determining that the point of the badges was to get all the different badge types (&#8220;Contest&#8221;, &#8220;Speaker&#8221;, &#8220;Uber&#8221;, etc.) together to display a neat message &#8211; my eyes went to every badge that passed by me in the hallways. I was looking for someone who seemed friendly enough to let me borrow their non-human badge for I2C communication to test out the results. In my frantic searching, I found myself alone in an elevator with someone who seemed to have a cooler badge than I did &#8211; two rows of 17-segment LED displays that ate my little rainbow blinky LED for breakfast.</p>
<p>I asked him about his badge, &#8220;Is that the Blackhat Badge this year?&#8221; (Blackhat is the $2000/entry security conference you normally only attend if your employer pays for it)</p>
<p>&#8220;No, it&#8217;s the Ninja Party Pass.&#8221; I was stumped. My understanding was there was a &#8220;party badge&#8221; for $20-30 for anyone who only wanted to attend the DEFCON parties without paying the full entry into the conference. How could they possibly have received a cooler badge than mine?</p>
<p>He seemed to realize I was stumped. &#8220;It gets you into the most VIP party at DEFCON&#8221;. The elevator had arrived on his floor and he disappeared forever. Again I was stumped &#8211; to be honest, I never really had to worry about party entry at DEFCON (in fact, <a href="http://leahshanker.wordpress.com/2008/08/11/defcon-16-highlights/">I had to escort Jeff Moss / Dark Tangent into a party last year</a> because the bouncer didn&#8217;t know who he was). So I did a little bit of research and found out that the Ninja Party Pass was a required item for anyone entering in the Ceazar&#8217;s Challenge this year! NOW I wanted one! But by the time Friday night rolled around, everyone I asked about the Ninja Party Pass badges had said they&#8217;d all been distributed.</p>
<p>So I forgot about it for the time being and just hung out in the hardware hacking village &#8211; supposedly working on my badgehacking project. It was getting to be closing time for the HHV, and on my way out I notice a girl huddled over a complex-looking circuitboard, furiously soldering and muttering to herself. I was intruiged &#8211; I asked what she was working on and if there was anything I could do to help (being a newly appointed expert solderer). She mentioned her name was Amanda Wozniak from MIT and she designed the Ninja Party Pass Badge this year. They had apparently received a bunch of broken ninja badges that needed to be soldered up so she could give them out to her favorite people on Friday night.</p>
<p>&#8220;Maybe you should consider giving out the badge to someone who could fix it?&#8221; I suggested, merely in passing.</p>
<div class="wp-caption alignleft" style="width: 235px"><a href="http://leahshanker.files.wordpress.com/2009/08/ninjabadge.jpg"><img class="size-medium wp-image-319" title="Leah-Corrected Ninja Party Pass Badge" src="http://leahshanker.files.wordpress.com/2009/08/ninjabadge.jpg?w=225&#038;h=300" alt="Leah-Corrected Ninja Party Pass Badge" width="225" height="300" /></a><p class="wp-caption-text">Leah-Corrected Ninja Party Pass Badge</p></div>
<p>She shook her head and mentioned she hadn&#8217;t released the schematics yet, so fixing it would be pretty hard for anyone except her.</p>
<p>And then it dawned on her &#8211; she turned to me and asked &#8220;Hey, do you want to fix it? It would save me soldering time and picking someone at the party tonight!&#8221; I hugged her and happydanced all the way to the contest area to solder up the board.</p>
<p>At the actual ninja party, I met a few goons who were ecstatic that I carried around a butane-powered soldering iron to fix solder joints at the actual ninja party. Vodka-Red Bulls and Soldering: Best party evar!</p>
<p>After the Ninja Party, my focus went entirely to finishing the badge hacking project &#8211; a tamagotchi hooked up to a breathalyzer. The idea was that your digital badge-pet would get &#8220;thirsty&#8221; and you would need to immediately find the most drunk person in the room to blow into the breathalyzer to keep your pet happy.</p>
<p>See more about it on Forbes: <a href="http://www.forbes.com/2009/08/04/hackers-contest-defcon-technology-security-hackers_print.html">http://www.forbes.com/2009/08/04/hackers-contest-defcon-technology-security-hackers_print.html</a></p>
<p>So, although I&#8217;m a little bitter about Zoz, Joe Grand&#8217;s co-host on Prototype This, winning the badgehacking competition this year: I&#8217;m SUPER excited about going back to DEFCON next year!!!</p>
<p style="text-align:center;">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/318/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=318&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2009/08/05/defcon-0x11-post-mortem/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/kenjimattleah.jpg?w=300" medium="image">
			<media:title type="html">Our Badgehacking Team: Leah, Kenji &#38; Matt</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/08/ninjabadge.jpg?w=225" medium="image">
			<media:title type="html">Leah-Corrected Ninja Party Pass Badge</media:title>
		</media:content>
	</item>
		<item>
		<title>First NAU CS Department Newsletter Published</title>
		<link>http://leahshanker.com/2009/07/06/first-nau-cs-department-newsletter-published/</link>
		<comments>http://leahshanker.com/2009/07/06/first-nau-cs-department-newsletter-published/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 15:21:49 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Plugs]]></category>
		<category><![CDATA[abe pralle]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[cs]]></category>
		<category><![CDATA[cs department]]></category>
		<category><![CDATA[eck doerry]]></category>
		<category><![CDATA[NAU]]></category>
		<category><![CDATA[nau acm]]></category>
		<category><![CDATA[newsletter]]></category>
		<category><![CDATA[northern arizona university]]></category>

		<guid isPermaLink="false">http://leahshanker.wordpress.com/?p=304</guid>
		<description><![CDATA[From the time I started as a freshman (dual-majoring in Mathematics and Computer Science - I was such an idealist back then), I've watched the NAU CS Department blossom into a paragon of what a Computer Science Department should be. I was honored last semester when Professor Steven Jacobs asked me to write an article for the first issue of the NAU CS Department Newsletter because it felt like I would go down in history as having even a tiny part in the advent of its success.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=304&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Although I try to hide it nowadays, the original intent of this blog was largely self-serving: a professional portfolio to showcase my accomplishments for prospective clients and employers. Once I began actually writing, however, something stirred within me to breathe life to the internet with my helpful tutorials and unique viewpoints. What I&#8217;m trying to say is: Please forgive the occasional personal plug as my heart is mostly in the right place <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Ok, back to our regularly scheduled program!</p>
<p>From the time I started as a freshman (dual-majoring in Mathematics and Computer Science &#8211; I was such an idealist back then), I&#8217;ve watched the NAU CS Department blossom into a paragon of what a Computer Science Department should be. I was honored last semester when Professor Steven Jacobs asked me to write an article for the first issue of the NAU CS Department Newsletter because it felt like I would go down in history as having even a tiny part in the advent of its success.</p>
<p>Truth be told, the most influential event in the department change took place on the day when Dr. Eck Doerry assumed the CS Department Chair position two years ago. He&#8217;s famous amongst the students for his high expectations, awe-inspiring class lectures and fiery passion for ground-breaking positive change. I&#8217;ll now give him the floor in the first published issue of the NAU CS Department Newsletter:</p>
<p style="text-align:center;">
<div id="attachment_306" class="wp-caption aligncenter" style="width: 241px"><a href="http://leahshanker.files.wordpress.com/2009/07/nau-cs-department-newsletter-spring-2009.pdf"><img class="size-medium wp-image-306" title="First NAU CS Department Newsletter, Spring 2009 (Check out my article on Page 2!)" src="http://leahshanker.files.wordpress.com/2009/07/department.png?w=231&#038;h=300" alt="First NAU CS Department Newsletter, Spring 2009 (Check out my article on Page 2!)" width="231" height="300" /></a><p class="wp-caption-text">NAU Computer Science Department Newsletter, Spring 2009 (Check out my article on Page 2!)</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=304&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2009/07/06/first-nau-cs-department-newsletter-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/07/department.png?w=231" medium="image">
			<media:title type="html">First NAU CS Department Newsletter, Spring 2009 (Check out my article on Page 2!)</media:title>
		</media:content>
	</item>
		<item>
		<title>Pimp Your Gradcap Party</title>
		<link>http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/</link>
		<comments>http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 01:11:17 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[binary counter]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[electrical engineering]]></category>
		<category><![CDATA[electroluminescence]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[flagstaff]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[graduation caps]]></category>
		<category><![CDATA[hardware hacking]]></category>
		<category><![CDATA[NAU]]></category>

		<guid isPermaLink="false">http://leahshanker.wordpress.com/?p=277</guid>
		<description><![CDATA[With all our favorite Computer Science and Electrical Engineering students graduating last month, Joe Davidson and I organized a joint IEEE / ACM event with the intent of "tricking out" the classic graduate caps with a geek-chic flair! Ever year, the Construction Management graduates show up to the ceremony in yellow hardhats like Bob the Builder, so naturally we wanted to one-up them with something way cooler.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=277&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With all our favorite Computer Science and Electrical Engineering students graduating last month, Joe Davidson and I organized a joint IEEE / ACM event with the intent of &#8220;tricking out&#8221; the classic graduate caps with a geek-chic flair! Ever year, the Construction Management graduates show up to the ceremony in yellow hardhats like Bob the Builder, so naturally we wanted to one-up them with something way cooler:</p>

<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0333/' title='IMG_0333'><img data-attachment-id='283' data-orig-size='1600,1200' data-liked='0'width="150" height="112" src="http://leahshanker.files.wordpress.com/2009/06/img_0333.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="IMG_0333" title="IMG_0333" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0334/' title='IMG_0334'><img data-attachment-id='284' data-orig-size='1600,1200' data-liked='0'width="150" height="112" src="http://leahshanker.files.wordpress.com/2009/06/img_0334.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="IMG_0334" title="IMG_0334" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0337/' title='IMG_0337'><img data-attachment-id='287' data-orig-size='1200,1600' data-liked='0'width="112" height="150" src="http://leahshanker.files.wordpress.com/2009/06/img_0337.jpg?w=112&#038;h=150" class="attachment-thumbnail" alt="IMG_0337" title="IMG_0337" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0339/' title='IMG_0339'><img data-attachment-id='289' data-orig-size='1200,1600' data-liked='0'width="112" height="150" src="http://leahshanker.files.wordpress.com/2009/06/img_0339.jpg?w=112&#038;h=150" class="attachment-thumbnail" alt="IMG_0339" title="IMG_0339" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0342/' title='IMG_0342'><img data-attachment-id='292' data-orig-size='1600,1200' data-liked='0'width="150" height="112" src="http://leahshanker.files.wordpress.com/2009/06/img_0342.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="IMG_0342" title="IMG_0342" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0344/' title='IMG_0344'><img data-attachment-id='294' data-orig-size='1600,1200' data-liked='0'width="150" height="112" src="http://leahshanker.files.wordpress.com/2009/06/img_0344.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="IMG_0344" title="IMG_0344" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0345/' title='IMG_0345'><img data-attachment-id='295' data-orig-size='1200,1600' data-liked='0'width="112" height="150" src="http://leahshanker.files.wordpress.com/2009/06/img_0345.jpg?w=112&#038;h=150" class="attachment-thumbnail" alt="IMG_0345" title="IMG_0345" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0349/' title='IMG_0349'><img data-attachment-id='298' data-orig-size='1200,1600' data-liked='0'width="112" height="150" src="http://leahshanker.files.wordpress.com/2009/06/img_0349.jpg?w=112&#038;h=150" class="attachment-thumbnail" alt="IMG_0349" title="IMG_0349" /></a>
<a href='http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/img_0350/' title='IMG_0350'><img data-attachment-id='299' data-orig-size='1200,1600' data-liked='0'width="112" height="150" src="http://leahshanker.files.wordpress.com/2009/06/img_0350.jpg?w=112&#038;h=150" class="attachment-thumbnail" alt="IMG_0350" title="IMG_0350" /></a>

<p>Overall, the event was a success! We stayed until the wee hours of the morning of the graduation ceremony to actually complete the projects, but MAN did those graduates look cool! When I graduate next year, I&#8217;m thinking of using something even cooler like the <a href="http://revision3.com/systm/kiki/">electroluminescent sheets</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=277&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2009/06/07/pimp-your-gradcap-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0333.jpg?w=150" medium="image">
			<media:title type="html">IMG_0333</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0334.jpg?w=150" medium="image">
			<media:title type="html">IMG_0334</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0337.jpg?w=112" medium="image">
			<media:title type="html">IMG_0337</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0339.jpg?w=112" medium="image">
			<media:title type="html">IMG_0339</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0342.jpg?w=150" medium="image">
			<media:title type="html">IMG_0342</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0344.jpg?w=150" medium="image">
			<media:title type="html">IMG_0344</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0345.jpg?w=112" medium="image">
			<media:title type="html">IMG_0345</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0349.jpg?w=112" medium="image">
			<media:title type="html">IMG_0349</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/06/img_0350.jpg?w=112" medium="image">
			<media:title type="html">IMG_0350</media:title>
		</media:content>
	</item>
		<item>
		<title>If Martha Stewart were an Electrical Engineer&#8230;</title>
		<link>http://leahshanker.com/2009/05/18/if-martha-stewart-were-an-electrical-engineer/</link>
		<comments>http://leahshanker.com/2009/05/18/if-martha-stewart-were-an-electrical-engineer/#comments</comments>
		<pubDate>Mon, 18 May 2009 15:00:24 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Embedded Systems]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Ponderings]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[crafts]]></category>
		<category><![CDATA[electrical engineering]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[martha stewart]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[Theory]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://leahshanker.com/?p=227</guid>
		<description><![CDATA[I've been dubbed the "Martha Stewart" of Electrical Engineering / Embedded Systems<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=227&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_228" class="wp-caption alignleft" style="width: 410px"><a href="http://leahshanker.files.wordpress.com/2009/05/martha.jpg"><img class="size-full wp-image-228" title="Martha Stewart's Engineering Handbook" src="http://leahshanker.files.wordpress.com/2009/05/martha.jpg?w=480" alt="Martha Stewart's Engineering Handbook"   /></a><p class="wp-caption-text">Martha Stewart&#39;s Engineering Handbook</p></div>
<p>Lately I&#8217;ve been hanging out with the Electrical Engineering majors in the upstairs electronics lab (they&#8217;re actually not as horrible as the other Computer Science majors would have you believe <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) and one of them had dubbed me the &#8220;Martha Stewart&#8221; of Embedded Systems / Electrical Engineering because of my unusual take on compensating for component datasheet un-usability. Let me start this story off from the very beginning, a mere four months ago:</p>
<p>I was a total EE noob: no electromagnetism from Physics II, no introduction to circuits/components &#8211; heck I&#8217;d never even made a <a href="http://pbskids.org/zoom//activities/sci/lemonbattery.html">lemon battery</a>! Before starting my Embedded Systems class this last semester, I was pretty much schematic-illiterate. The CS program here didn&#8217;t require me to take the &#8220;Introduction to Circuits&#8221; EE course as a requirement like in previous semesters, so I both lucked and missed out in that regard. I knew taking an upper level Computer Science elective based around Electrical Engineering principles would be difficult for me (especially considering nearly everyone else in the class had professional embedded systems experience outside of school). So I offered to buy some lunch for the Electrical Engineering majors upstairs in the lab in exchange for their patience in answering some ridiculously easy questions about circuits and components (<a href="http://www.blueplasma.org">Kenji </a>couldn&#8217;t contain his laughter when I asked him to explain what a transistor was). So aside from voluntarily becoming the butt of nearly every Computer Science major joke they could throw at me, I learned a remarkable amount about how Electrical Engineers tend to approach the usability problem&#8230;</p>
<p>*crickets chirping*</p>
<div id="attachment_234" class="wp-caption alignright" style="width: 303px"><a href="http://leahshanker.files.wordpress.com/2009/05/schematic.png"><img class="size-medium wp-image-234" title="Snip of Schematic from my RFID Reader Project" src="http://leahshanker.files.wordpress.com/2009/05/schematic.png?w=293&#038;h=299" alt="Snip of Schematic from my RFID Reader Project" width="293" height="299" /></a><p class="wp-caption-text">Snip of Schematic from my RFID Reader Project</p></div>
<p>That&#8217;s right, <strong>there is no approach</strong>! Or rather, you could say there&#8217;s too much benevolence amongst Electrical Engineers for the &#8220;way the historical engineers of the past&#8221; got things done that nothing seems to update in the field solely for usability reasons. Here&#8217;s your solution to the usability problem: Suck it up and rub some dirt on it!</p>
<p>Take, for instance, my schematic on the right. The U4 Component is what I&#8217;m referring to.</p>
<p>Go ahead, I&#8217;ll give you ten minutes to scour through the boxes and lines on the schematic to actually locate it on the page&#8230;. (<em>Hint</em>: it&#8217;s on the right side)</p>
<p>Now, as a Computer Scientist in training I know all about the value of abstraction: it allows the programmer to embrace the natural human way of thinking, leading to more elegant and bug-free code. When constructing schematics, there is a clearly defined need for block diagrams (details abstracted away for clarity). Obviously, we don&#8217;t need to know about the tiny little gates inside of an integrated circuit in order to use one.</p>
<p>But take a look at U4. It&#8217;s a binary counter IC, but you didn&#8217;t really need to know that. All you need to know is where to hook up the wires on the component: easy, right?</p>
<p>So I go ahead and start hooking up the wires just like it says on the block diagram and I come across something very curious&#8230;</p>
<div id="attachment_238" class="wp-caption aligncenter" style="width: 605px"><a href="http://leahshanker.files.wordpress.com/2009/05/soictimer.jpg"><img class="size-full wp-image-238" title="U4 Block Diagram First Wiring Attempt..." src="http://leahshanker.files.wordpress.com/2009/05/soictimer.jpg?w=480" alt="U4 Block Diagram First Wiring Attempt..."   /></a><p class="wp-caption-text">U4 Block Diagram First Wiring Attempt</p></div>
<p>Ok, so I&#8217;ll give them the benefit of the doubt here&#8230;maybe the pin locations aren&#8217;t in the same place depending on what kind of pin packaging I order? Let&#8217;s check with the datasheet:</p>
<div id="attachment_239" class="wp-caption alignleft" style="width: 160px"><a href="http://leahshanker.files.wordpress.com/2009/05/picture-4.png"><img class="size-thumbnail wp-image-239" title="Connection Diagram from the 74HC4060" src="http://leahshanker.files.wordpress.com/2009/05/picture-4.png?w=150&#038;h=110" alt="Connection Diagram from the 74HC4060" width="150" height="110" /></a><p class="wp-caption-text">Connection Diagram from the 74HC4060</p></div>
<p>Nope&#8230;they are all exactly the same regardless of what kind of packaging you order for this component&#8230; Wow. So you&#8217;re telling me there&#8217;s this <strong>completely unnecessary</strong> layer of abstraction for this component on my schematic? What a complete and total waste of my time!</p>
<p>This isn&#8217;t the only example&#8230;I could go on an endless rant about how there&#8217;s a severe lack of intelligent standards when it comes to IC pinouts: The &#8220;U&#8221; shape means the top of the component&#8230;except if you&#8217;re looking at a PIC or if it&#8217;s the second Tuesday of every third month from a randomly chosen start-time in a proprietary religious calendar.</p>
<p>So most of my time working on my Embedded Systems projects this semester has been spent combing through every single component datasheet trying to find the useful gems of information even though this should be a relatively simple process: hook wire 1 to pin 1 and go.</p>
<p>Ok, enough ranting. Here&#8217;s my crafty, &#8220;Martha Stewart&#8221; solution to the problem:</p>
<p style="text-align:center;">
<div id="attachment_265" class="wp-caption aligncenter" style="width: 624px"><a href="http://leahshanker.files.wordpress.com/2009/05/martha_skem.jpg"><img class="size-full wp-image-265" title="My solution to schematic/datasheet chaos" src="http://leahshanker.files.wordpress.com/2009/05/martha_skem.jpg?w=480" alt="My solution to schematic/datasheet chaos"   /></a><p class="wp-caption-text">My solution to schematic/datasheet chaos</p></div>
<p>Naturally, the only useful tidbit of a datasheet (pinout diagram) is always at the very end of the document&#8230;unless you look there first! I printed out only the pages of the datasheets that housed the physical pin locations (or wrote them out myself if they weren&#8217;t even provided by the manufacturer&#8230;<em>annoying</em>), cut them out and pasted them onto my schematic to save on context switching time. So really in order to begin a project, I have to get out my scissors and glue and artfully create a  mashup (flashback to gradeschool craft time) for every single schematic I&#8217;m ever given in order to save myself countless hours of repetitively retrieving the same information from each of the component datasheets. Phew!</p>
<p>BTW, I found an <a href="http://www.samengstrom.com/nxl/3660/4_band_resistor_color_code_page.en.html">excellent resistor color band calculator</a> online during my work that I wanted to share with you all &#8211; saved me a ton of time <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>(&#8230;why can&#8217;t they just list resistance right on the resistor? I mean, I&#8217;m all for rainbows, but really&#8230;)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/227/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=227&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2009/05/18/if-martha-stewart-were-an-electrical-engineer/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/05/martha.jpg" medium="image">
			<media:title type="html">Martha Stewart&#039;s Engineering Handbook</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/05/schematic.png?w=293" medium="image">
			<media:title type="html">Snip of Schematic from my RFID Reader Project</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/05/soictimer.jpg" medium="image">
			<media:title type="html">U4 Block Diagram First Wiring Attempt...</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/05/picture-4.png?w=150" medium="image">
			<media:title type="html">Connection Diagram from the 74HC4060</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/05/martha_skem.jpg" medium="image">
			<media:title type="html">My solution to schematic/datasheet chaos</media:title>
		</media:content>
	</item>
		<item>
		<title>The Elusive Art of &#8220;De-Geekifying&#8221;</title>
		<link>http://leahshanker.com/2009/05/11/the-elusive-art-of-de-geekifying/</link>
		<comments>http://leahshanker.com/2009/05/11/the-elusive-art-of-de-geekifying/#comments</comments>
		<pubDate>Mon, 11 May 2009 10:31:02 +0000</pubDate>
		<dc:creator>Leah Shanker</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Ponderings]]></category>
		<category><![CDATA[boris]]></category>
		<category><![CDATA[degeekify]]></category>
		<category><![CDATA[degeekifying]]></category>
		<category><![CDATA[evolution]]></category>
		<category><![CDATA[geek flag]]></category>
		<category><![CDATA[gobo linux]]></category>
		<category><![CDATA[goldeneye]]></category>
		<category><![CDATA[linux filesystem]]></category>
		<category><![CDATA[manpage]]></category>
		<category><![CDATA[unix commandline]]></category>
		<category><![CDATA[unix commands]]></category>

		<guid isPermaLink="false">http://leahshanker.com/?p=251</guid>
		<description><![CDATA[Sadly, the real world isn't entirely made up of geeks. So, how do we geeks evolve and adapt to it? Skillfully, as always. By studying the algorithm to degeekify, of course :D<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=251&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_252" class="wp-caption alignleft" style="width: 198px"><a href="http://leahshanker.files.wordpress.com/2009/05/bigboris.jpg"><img class="size-full wp-image-252" title="Boris is invincible!" src="http://leahshanker.files.wordpress.com/2009/05/bigboris.jpg?w=480" alt="Boris is invincible!"   /></a><p class="wp-caption-text">Boris is invincible!</p></div>
<p>Yes, yes, we all went through similar situations in high school where flying your geek flag was pretty much like taping a big juicy red target on your back and handing the rest of your graduating class paintball guns: it usually didn&#8217;t end well for us then.</p>
<p>But, the wheel turned and little geeks grew into bigger geeks and trotted off to college to study the science of geekery. They soon noticed that being a geek wasn&#8217;t a bad thing anymore, in fact it was even <em>cool</em> here.</p>
<p>You mean to tell me I can be as geeky and obscure as I&#8217;d like and everyone around me will actually understand and maybe even praise me for it? Do you have any idea how proud that made me?! So proud that I never bothered to notice how many normal people I&#8217;d alienated along the way trying to be as elitist as possible&#8230;</p>
<p>Sadly, the real world isn&#8217;t entirely made up of geeks. So, how do we geeks evolve and adapt to it? Skillfully, as always. By studying the algorithm to degeekify, of course <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>(This comes from an interesting discussion lead by my friend <a href="http://www.constantthought.com">Murphy</a> &amp; my professor <a href="http://tiger3k.com/james/wordpress/">Dr. P</a>) Let&#8217;s take for example, the linux file system structure:</p>
<p style="padding-left:30px;"><strong>/sbin</strong> System binaries used by the sysadmin. (Oh yeah, they can also be in <strong>/usr/sbin</strong> so check there too!)</p>
<p style="padding-left:30px;"><strong>/bin </strong>System binaries used by the sysadmin or regular users that are super important. (Oh, also check out <strong>/usr/bin</strong> for the less important stuff. Oh and also<strong> /usr/local/bin</strong>. So yeah.)</p>
<p style="padding-left:30px;"><strong>/dev</strong> Device nodes (not program development space).</p>
<p style="padding-left:30px;"><strong>/etc</strong> Config stuff</p>
<p style="padding-left:30px;"><strong>/lib</strong> System files &amp; libraries</p>
<p style="padding-left:30px;"><strong>/tmp</strong> Temporary files</p>
<p style="padding-left:30px;"><strong>/var</strong> Any kind of logs or temporary configuration files (not in<strong> /tmp</strong>?) . And web stuff. Wait, what?</p>
<p>True die hard linux fans will refer you to some kind of guru on the filesystem structure, who will angrily rant about how linux applications developers are idiots who have no idea where things are supposed to go; or sysadmins who put modules in the wrong places&#8230;<strong> HOW DARE THEY</strong> misinterpret this cryptic and ambiguous filesystem structure! C&#8217;mon, if even the linux applications developers (fellow geeks) can&#8217;t even figure out where things are supposed to go, there&#8217;s obviously a flaw in the design of the system (Way to go, <a href="http://en.wikipedia.org/wiki/GoboLinux">gobo linux</a>!)</p>
<p>Since we&#8217;re picking on Unix anyway (pretty much the governing body of the design of current operating systems), let&#8217;s go a bit further.</p>
<pre style="padding-left:30px;">$ tar<a name="6247"> </a> -xvf <em>file</em>.tar
$       ... wait, you're done or you're just stuck? hello?</pre>
<p>So when a command on the Unix commandline executes successfully&#8230;nothing happens! I mean, I guess you got no errors&#8230;no news is good news? Sure, we&#8217;re smart geeks and can used to this notion, but this is still an inherent flaw in the design of the system!</p>
<p>And really, how effective is a terminal where you have to refer to the documentation (manpage) every time you try to execute a command you haven&#8217;t used in a while? We need some coherent standards for arguments across linux applications!</p>
<p>Let&#8217;s go with another example, this time with less&#8230;flame war bait:</p>
<p>So, you&#8217;re a software engineer. You have to conduct user surveys of your target user group before beginning to design your software architecture to gauge what a good use of your development time might be. So, you ask exactly what you want to know:</p>
<ol>
<li>For the user selection panel, would you rather have a drop-down box or a Jtextfield you can enter your own data into? (Please specify if auto-complete would also help&#8230;)</li>
</ol>
<p>Natural, right? You asked what you wanted to know. Exactly like calling a function: you pass (ask) exactly the correct parameters in the indicated order (questions) to extract your necessary information (survey data) from your data store (person). You even went as far as to suggest a helpful feature! (You&#8217;re so thoughtful ^-^ )</p>
<p>I&#8217;m sorry to have to be the one to tell you this&#8230;but (most) people aren&#8217;t functions. There is a fuzzy disconnect between what you want to know and what you really <em>should</em> want to know with user surveys. Normal people have no idea about their preference between two different technical components: they&#8217;ve never really thought about it before&#8230; and honestly, they really shouldn&#8217;t have to.</p>
<p>Geeks inherently worship the machine. User misunderstandings (PEBCAK&#8230;or PEBKAC&#8230; man that acronym needs a standard <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) are interpreted as a problem of a lack of user knowledge, not even considered to be a flaw in the design of the system.</p>
<p>Yes, computers are simply just tools. But too often we forget that computers aren&#8217;t just <em>physical</em> tools like a shovel; we can actually redesign the computer depending on our needs. Sadly, we are not good enough to completely redesign a human from the ground up, regardless of how angrily we complain about the stupidity of our users. The only thing left is to redesign the system&#8230;think of it as teaching the computer to evolve along with humanity.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/leahshanker.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/leahshanker.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/leahshanker.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/leahshanker.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/leahshanker.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/leahshanker.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/leahshanker.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/leahshanker.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=leahshanker.com&amp;blog=3061770&amp;post=251&amp;subd=leahshanker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://leahshanker.com/2009/05/11/the-elusive-art-of-de-geekifying/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/277256f723d4f58d620178dea7f854ec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Leah</media:title>
		</media:content>

		<media:content url="http://leahshanker.files.wordpress.com/2009/05/bigboris.jpg" medium="image">
			<media:title type="html">Boris is invincible!</media:title>
		</media:content>
	</item>
	</channel>
</rss>
