<?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/"
	>

<channel>
	<title>andyfrank.com</title>
	<atom:link href="http://www.andyfrank.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andyfrank.com/blog</link>
	<description></description>
	<pubDate>Sat, 24 Mar 2012 20:23:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cinco de Mayo meets Kentucky Derby</title>
		<link>http://www.andyfrank.com/blog/2012/03/cinco-de-mayo-meets-kentucky-derby/</link>
		<comments>http://www.andyfrank.com/blog/2012/03/cinco-de-mayo-meets-kentucky-derby/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 20:23:00 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=276</guid>
		<description><![CDATA[Weekend project for a friend.

]]></description>
			<content:encoded><![CDATA[<p>Weekend project for a friend.</p>
<p style='text-align:center;'><a href='/images/cincoDerby.png'><img src='/images/cincoDerby_small.png' alt='Cinco de Mayo meets Kentucky Derby'/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2012/03/cinco-de-mayo-meets-kentucky-derby/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Converting Linksys WRT54G to Wireless Bridge</title>
		<link>http://www.andyfrank.com/blog/2012/03/wrt54g-wireless-bridge/</link>
		<comments>http://www.andyfrank.com/blog/2012/03/wrt54g-wireless-bridge/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 03:44:38 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=237</guid>
		<description><![CDATA[We&#8217;ve been doing some repurposing of rooms the past week or two. In the process, an office got moved to the opposite side of the house from our FiOS modem. That office unfortunately is home to a circa 2005 Dell Workstation with no WiFi support.
Since I had an unused Linksys WRT54G router collecting dust, I [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been doing some repurposing of rooms the past week or two. In the process, an office got moved to the opposite side of the house from our FiOS modem. That office unfortunately is home to a circa 2005 Dell Workstation with no WiFi support.</p>
<p>Since I had an unused Linksys WRT54G router collecting dust, I spent a few minutes googling if I could use that to avoid stringing Cat5 down my hallway. Turns out with the help of some open source firmware (<a href='http://dd-wrt.com/'>DD-WRT</a>), you can do just that (and more).</p>
<p>The overall process is pretty straightforward &ndash; but as is common for this type of thing &ndash; lots of out-dated, inaccurate, or not fully defined documentation.  So I thought I&#8217;d add to the mix ;)</p>
<h2>What This Post Covers</h2>
<p>Just so you don&#8217;t waste time readings this &ndash; this post specifically covers:</p>
<ul>
<li>Linksys WRT54G ver 2.0</li>
<li>Installing <a href='http://dd-wrt.com/'>DD-WRT</a> firmware v24 SP2 [Beta] Build 13064</li>
<li>Configuring router as a Client Bridge</li>
<li>Issues using WPA2 security</li>
<li>Primary router is a Verizon FiOS ActionTec MI424WR-GEN2 (firmware version 20.19.8)</li>
<li>Date just for reference: March 2012</li>
</ul>
<h2>Bridge vs Repeater vs Yadda Yadda</h2>
<p>I&#8217;m no expert in this area, so I took some time to get my bearings on what I actually needed to accomplish.  There are lots of terms and setups, and overlaps between setups, but a bit of googling should set you straight.</p>
<p>In my case, I simply wanted to join a second LAN network over a wireless &#8220;bridge.&#8221;  The second network would <b>not</b> provide wireless access, so the primary router is the only wireless access point for clients.  So we want to setup our second router as a <b>Client Bridge</b>.</p>
<p>If you wish to also provide wireless access from the second router, I believe you want to configure it as a Repeater Bridge - which <b>requires different instructions</b> than I present here.  More information on the different modes:</p>
<p style='margin-left:1em;'><a href='http://www.dd-wrt.com/wiki/index.php/Repeating_Mode_Comparisons'>http://www.dd-wrt.com/wiki/index.php/Repeating_Mode_Comparisons</a></p>
<p><i>If any of this information is inaccurate, please let me know.</i></p>
<h2>Installing DD-WRT firmware</h2>
<p><a href='http://dd-wrt.com/'>DD-WRT</a> is a Linux distribution which replaces the factory firmware, opening up lots of additional features for routers like the WRT54G. Since I only really cared about the bridge capability, I chose the micro binary. Wikipedia has a good overview of what each version supports:</p>
<p style='margin-left:1em;'><a href='http://en.wikipedia.org/wiki/DD-WRT'>http://en.wikipedia.org/wiki/DD-WRT</a></p>
<p>This video covers very simple and clear instructions on installing DD-WRT firmware onto the WRT54G (ver 2.0) &ndash; from downloading the binary to uploading the firmware onto the router:</p>
<p style='margin-left:1em;'><a href='http://www.youtube.com/watch?v=QZ_oW8-fmIA'>http://www.youtube.com/watch?v=QZ_oW8-fmIA</a></p>
<p>I had no issues following these instructions &ndash; and were alot simpler than some other ones I came across.  Once complete you should see the new DD-WRT admin console when you pull up 192.168.1.1 in your browser.</p>
<h2>Configuring Router as a Client Bridge</h2>
<p>Once you have DD-WRT up and running, we need to configure the router to act as a client bridge. The best instructions I found for this are here:</p>
<p style='margin-left:1em;'><a href='http://www.dd-wrt.com/wiki/index.php/Client_Bridged'>http://www.dd-wrt.com/wiki/index.php/Client_Bridged</a></p>
<p>These again worked (almost) without incident. If the primary router is configured for WPA2, things will likely not work from my experience and what I could find online. Luckily it&#8217;s very simple to isolate the issue to security.  Disable security on both the primary router and your second router, then retry, and everything <i>should</i> work like a charm.</p>
<h2>Using WPA2 Security</h2>
<p>If your primary router is setup to use WPA2, and things didn&#8217;t work, you have a few options:</p>
<ul>
<li>Drop to WEP security</li>
<li>Drop to WPA security</li>
<li>Enable WPA2 TKIP + AES support on primary router, WPA on secondary</li>
</ul>
<p>Both WEP and WPA should work just fine between the DD-WRT and your primary router.  I spent a good deal of time trying to find a way to maintain WPA2 on my network, and the only real solution was to enable mixed mode.</p>
<p>So configure your primary router to use WPA2 TKIP + AES, then set the DD-WRT to use normal WPA security.  This worked for me without a hitch.  I would assume this only reduces protection for the traffic over the bridge, while all traffic over the primary router should be using the more secure AES encryption.  But I really don&#8217;t know enough about this stuff to say for sure.</p>
<p><i>Would love to know if this is accurate, or if enabling TKIP + AES reduces security overall.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2012/03/wrt54g-wireless-bridge/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Markdown for Fantom</title>
		<link>http://www.andyfrank.com/blog/2012/02/markdown-for-fantom/</link>
		<comments>http://www.andyfrank.com/blog/2012/02/markdown-for-fantom/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 15:37:55 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Fantom]]></category>

		<category><![CDATA[Markdown]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=227</guid>
		<description><![CDATA[Sunday Funday project for today &#8211; Markdown for Fantom:
https://bitbucket.org/afrankvt/markdown
Markdown is a great little plain-text format created by John Gruber that converts nicely to HTML.  Fantom&#8217;s own Fandoc was heavily inspired by Markdown.  We just simplified a few things and added some Fantom conventions in a few places.  But I&#8217;ve wanted the full [...]]]></description>
			<content:encoded><![CDATA[<p>Sunday Funday project for today &ndash; Markdown for <a href='http://fantom.org'>Fantom</a>:</p>
<p><a href='https://bitbucket.org/afrankvt/markdown'>https://bitbucket.org/afrankvt/markdown</a></p>
<p><a href='http://daringfireball.net/projects/markdown'>Markdown</a> is a great little plain-text format created by John Gruber that converts nicely to HTML.  Fantom&#8217;s own <a href='http://fantom.org/doc/fandoc/index.html#overview'>Fandoc</a> was heavily inspired by Markdown.  We just simplified a few things and added some Fantom conventions in a few places.  But I&#8217;ve wanted the full Markdown syntax at my disposal for some time now.</p>
<p>Luckily it was a pretty simple project - I was able to essentially take the great <a href='http://markdownj.org/'>Markdownj</a> work as-is and wrap with a native Fantom API. Code is available over at <a href='https://bitbucket.org/afrankvt/markdown'>BitBucket</a> and is licensed under the BSD license.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2012/02/markdown-for-fantom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>LESS for Fantom</title>
		<link>http://www.andyfrank.com/blog/2012/01/less-for-fantom/</link>
		<comments>http://www.andyfrank.com/blog/2012/01/less-for-fantom/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 17:50:23 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Fantom]]></category>

		<category><![CDATA[LESS]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=219</guid>
		<description><![CDATA[I worked up a Fantom wrapper around LESS this week.  Code and docs over on BitBucket:
https://bitbucket.org/afrankvt/less
LESS is a great little &#8220;extension&#8221; to CSS that adds lots of convenient features like variables, mixins, and nested rules that make developing and managing complex CSS much easier. 
The Fantom wrapper adds:

An API interface to compile LESS files [...]]]></description>
			<content:encoded><![CDATA[<p>I worked up a <a href='http://fantom.org/'>Fantom</a> wrapper around <a href='http://lesscss.org/'>LESS</a> this week.  Code and docs over on BitBucket:</p>
<p><a href='https://bitbucket.org/afrankvt/less'>https://bitbucket.org/afrankvt/less</a></p>
<p>LESS is a great little &#8220;extension&#8221; to CSS that adds lots of convenient features like variables, mixins, and nested rules that make developing and managing complex CSS much easier. </p>
<p>The Fantom wrapper adds:</p>
<ul>
<li>An API interface to compile LESS files from a Str input or a File reference</li>
<li>A simple command line interface for compiling LESS files to CSS files</li>
<li>A BuildTask for integrating LESS into your Fantom build pipeline</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2012/01/less-for-fantom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Draft Mini Web Framework</title>
		<link>http://www.andyfrank.com/blog/2011/07/draft-mini-web-framework/</link>
		<comments>http://www.andyfrank.com/blog/2011/07/draft-mini-web-framework/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 16:13:32 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Fantom]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=213</guid>
		<description><![CDATA[I&#8217;ve posted a project I&#8217;ve been working on in my spare time recently:
Draft Mini Web Framework
Draft is a small web framework designed to notch in above WebMod, provide some useful features, while trying to leave as much freedom as possible for your app.  Details over on the project site.
Its still a work in progress, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted a project I&#8217;ve been working on in my spare time recently:</p>
<p><a href='https://bitbucket.org/afrankvt/draft'>Draft Mini Web Framework</a></p>
<p>Draft is a small web framework designed to notch in above WebMod, provide some useful features, while trying to leave as much freedom as possible for your app.  Details over on the project site.</p>
<p>Its still a work in progress, but decided it was far enough along to start being useful to anyone who doesn&#8217;t mind getting their hands dirty.  Hopefully I&#8217;ll have it wrapped up here in the next few months, and can be more generally useful to developers looking for a simple and lightweight solution for developing web apps in Fantom.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2011/07/draft-mini-web-framework/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sketching Logos</title>
		<link>http://www.andyfrank.com/blog/2011/01/sketching-logos/</link>
		<comments>http://www.andyfrank.com/blog/2011/01/sketching-logos/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 13:31:10 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Art]]></category>

		<category><![CDATA[Fantom]]></category>

		<category><![CDATA[SkyFoundry]]></category>

		<category><![CDATA[SkySpark]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=178</guid>
		<description><![CDATA[Was flipping thru an old moleskin and found two sketches I made back in Fall 2009.

First was a little sketch of a potential logo for the Fantom language.  For whatever reason, when we changed the name to Fantom, I got this 1920s/Art Deco motif concept in my head (hence the typeface).  I&#8217;m pretty [...]]]></description>
			<content:encoded><![CDATA[<p>Was flipping thru an old moleskin and found two sketches I made back in Fall 2009.</p>
<p style='text-align:center'><img style='border:1px solid #373737' src='/images/fantom-sketch-01.png' alt='Fantom logo sketch' /></p>
<p>First was a little sketch of a potential logo for the <a href='http://fantom.org/'>Fantom</a> language.  For whatever reason, when we <a href='http://fantom.org/sidewalk/topic/821'>changed</a> the name to Fantom, I got this 1920s/Art Deco motif concept in my head (hence the typeface).  I&#8217;m pretty sure its because of the movie <a href='http://en.wikipedia.org/wiki/The_Shadow#The_Shadow_.281994.29'>The Shadow</a>, but I keep trying to tell myself thats not the case&#8230; Never really had time to come up with a real logo &mdash; but this is one I sorta liked.</p>
<p style='text-align:center'><img style='border:1px solid #373737' src='/images/axon-sketch-01.png' alt='Axon logo sketch' /></p>
<p>Second was a logo for the <a href='http://skyfoundry.com/skyspark#analyze'>Axon</a> scripting language we designed for our day job at <a href='http://skyfoundry.com/'>SkyFoundry</a>.  Would love to give these both some good Photoshop treatment if I ever find the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2011/01/sketching-logos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blue Collar Languages</title>
		<link>http://www.andyfrank.com/blog/2010/09/blue-collar-languages/</link>
		<comments>http://www.andyfrank.com/blog/2010/09/blue-collar-languages/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 17:58:35 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Fantom]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=164</guid>
		<description><![CDATA[Cay Horstmann wrote an interesting response to Stephen Colebourne&#8217;s NBJL post:

Creating a &#8220;blue collar&#8221; language isn&#8217;t something that happens every day.
When done by &#8220;blue collar&#8221; people who have sketchy knowledge of programming language theory, the result is often problematic. Look at PHP&#8211;I trust that I won&#8217;t have to elaborate&#8230; Or Groovy, many of whose properties [...]]]></description>
			<content:encoded><![CDATA[<p>Cay Horstmann wrote an <a href='http://weblogs.java.net/blog/cayhorstmann/archive/2010/09/24/next-big-jvm-language'>interesting response</a> to Stephen Colebourne&#8217;s <a href='http://www.jroller.com/scolebourne/entry/the_next_big_jvm_language1'>NBJL post</a>:</p>
<blockquote>
<p>Creating a &#8220;blue collar&#8221; language isn&#8217;t something that happens every day.</p>
<p>When done by &#8220;blue collar&#8221; people who have sketchy knowledge of programming language theory, the result is often problematic. Look at PHP&#8211;I trust that I won&#8217;t have to elaborate&#8230; Or Groovy, many of whose properties (particularly in the MOP) are under-specified and constantly shifting.</p>
<p>Few &#8220;white collar&#8221; people have an interest in designing a blue-collar language. They give us languages that dazzle us with their brilliance and innovation. After all, that&#8217;s what a researcher is rewarded for.</p>
</blockquote>
<p>Interestingly he made no mention of Fantom in this context, which means I assume he hasn&#8217;t looked at it any detail.  That was one of the <a href='http://fantom.org/doc/docIntro/WhyFantom.html'>explicit design goals</a>.</p>
<p>Which makes me wonder - do people pass over Fantom because of the exact same reasons they search for new languages?  You want a simpler, more expressive language, with great APIs, that make your life easier 9-5.  But you take a look at Fantom, and move right along, since you don&#8217;t see buzzwords like monads, or some ground breaking new syntax?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2010/09/blue-collar-languages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Beer Mile</title>
		<link>http://www.andyfrank.com/blog/2010/09/beer-mile/</link>
		<comments>http://www.andyfrank.com/blog/2010/09/beer-mile/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 17:02:40 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=159</guid>
		<description><![CDATA[Koozie artwork for a friend&#8217;s annual Stew &#038; Brew party.  Theme was a Beer Mile.


  

]]></description>
			<content:encoded><![CDATA[<p>Koozie artwork for a friend&#8217;s annual Stew &#038; Brew party.  Theme was a Beer Mile.</p>
<p style='text-align:center'>
<a href='/images/stewBrew10.png'><br />
  <img src='/images/stewBrew10_small.png' alt='Beer Mile'/><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2010/09/beer-mile/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fantom&#8217;s History and Future with JavaScript</title>
		<link>http://www.andyfrank.com/blog/2010/06/fantoms-history-and-future-with-javascript/</link>
		<comments>http://www.andyfrank.com/blog/2010/06/fantoms-history-and-future-with-javascript/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 14:04:27 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Fantom]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[SkyFoundry]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=155</guid>
		<description><![CDATA[One of Fantom&#8217;s primary design goals from day one was portability between the JVM and CLR. Naturally we got to thinking, if we can run on both of the popular VM&#8217;s, why not on JavaScript too? That would enable enormous opportunities for code reuse and greatly simplify the huge impedance mismatch of developing backend server [...]]]></description>
			<content:encoded><![CDATA[<p>One of Fantom&#8217;s primary design goals from day one was portability between the JVM and CLR. Naturally we got to thinking, if we can run on both of the popular VM&#8217;s, why not on JavaScript too? That would enable enormous opportunities for code reuse and greatly simplify the huge impedance mismatch of developing backend server code and user interfaces in the browser.</p>
<p>Read the <a href='http://fantom.org/sidewalk/topic/1107'>full post</a> at <a href='http://fantom.org/'>Fantom.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2010/06/fantoms-history-and-future-with-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SkySpark</title>
		<link>http://www.andyfrank.com/blog/2010/04/skyspark/</link>
		<comments>http://www.andyfrank.com/blog/2010/04/skyspark/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 15:41:31 +0000</pubDate>
		<dc:creator>Andy Frank</dc:creator>
		
		<category><![CDATA[Fantom]]></category>

		<category><![CDATA[SkyFoundry]]></category>

		<category><![CDATA[SkySpark]]></category>

		<guid isPermaLink="false">http://www.andyfrank.com/blog/?p=139</guid>
		<description><![CDATA[The product we have been crafting at SkyFoundry for the past year and a half has officially been christened as SkySpark.

SkySpark is turning out to be an awesome platform for visualizing, analyzing, and managing mountains of data.  We&#8217;ve updated the website to include some high level technical documentation on the software stack.  Its [...]]]></description>
			<content:encoded><![CDATA[<p>The product we have been crafting at <a href='http://skyfoundry.com/'>SkyFoundry</a> for the past year and a half has officially been christened as SkySpark.</p>
<p><a href='http://andyfrank.com/images/skyspark-icon.png'><img src='http://andyfrank.com/images/skyspark-icon.png' width='256' alt='SkySpark' /></a></p>
<p>SkySpark is turning out to be an awesome platform for visualizing, analyzing, and managing mountains of data.  We&#8217;ve updated the website to include some high level technical <a href='http://skyfoundry.com/skyspark'>documentation</a> on the software stack.  Its built 100% in <a href='http://fantom.org/'>Fantom</a> - including all the client-side browser code using the Fantom <a href='http://fantom.org/doc/docLang/JavaScript.html'>JavaScript compiler</a>.
</p>
<p>This software has really validated the years of effort we&#8217;ve put into making Fantom a first-class language.  I don&#8217;t think we&#8217;d have been able to build anything even close without it.  I&#8217;m excited to show off more as we move towards the official release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andyfrank.com/blog/2010/04/skyspark/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

