<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0">
 <channel>
    <title>benipsen News Feed</title>
    <link>http://www.benipsen.com/blogs/</link>
    <description>News feed for www.benipsen.com</description>
    <language>en-us</language>	
    <pubDate>Mon, 26 Jul 2010 11:13:00 CDT</pubDate>
    <lastBuildDate>Sat, 31 Jul 2010 14:55:42 CDT</lastBuildDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Legitify: Media Management System</generator>
 	    <item>
      <pubDate>Mon, 26 Jul 2010 11:13:00 -0500</pubDate>
	  <title>In Search of Some Good Company </title>
      <description><![CDATA[ <p>Over the past three years or so I&#39;ve been working independently while traveling broadly.&nbsp; The experience has been a dream come true in many ways and has presented challenges in others.<br /><br />I am endlessly grateful for the opportunity I&#39;ve had to see some truly fantastic places around the world while maintaining enough income to fund my adventures.&nbsp; On the other hand, keeping up can get tricky when your flight is delayed several hours and you&#39;re stuck 5 timezones away for a Skype meeting the next morning.&nbsp; Of course, there is then the accounting and taxes, account and project management, pitches and sales efforts&mdash;all for which I have been solely responsible.<br /><br />Difficulties aside, the primary reason I&#39;ve decided to change my work situation is not due to management struggles but rather a desire to once again learn from and to teach others.&nbsp; I&#39;ve found the absence of a work environment in which I am able to actively exchange and connect with like-minded individuals has curtailed the expansion of my creative talent.<br /><br />I am now actively seeking employment in a location where I will gain exposure to new ideas, concepts and technologies that once came with working in close proximity to my colleagues. Please <a href="/documents/d.bejmain.ipsen_resume.pdf">view and download my resume</a> where you&#39;ll find I&#39;ve managed to build out a large skill set over the past twelve years.</p><p><br />- Ben</p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2010/07/26/In-Search-of-Some-Good-Company-/</guid>
      <link>http://www.benipsen.com/blogs/bd/2010/07/26/In-Search-of-Some-Good-Company-/</link>
    </item>    <item>
      <pubDate>Fri, 30 Oct 2009 10:37:00 -0500</pubDate>
	  <title>General and Cross-Browser CSS Tips:  Write less.  Refactor less.</title>
      <description><![CDATA[ <p>I&#39;ve noticed a lot of <a href="http://mashable.com/2009/08/04/ie6-no-more/" target="_blank">IE6 Bashing</a> among the developer community lately.&nbsp; While I&#39;ve certainly been through my share of suffering, after designing and building websites professionally for the past ten years I&#39;ve learned to deal.&nbsp; I&#39;ll not debate JavaScript DOM support, or lack thereof, as that is <a href="http://www.quirksmode.org/" target="_blank">another issue entirely</a>.&nbsp; </p><p>Instead, this article offers a few tips and some high level declarations as a starting point that will help you write less CSS and spend less time re-working your CSS to work in IE.&nbsp;</p><h3>Starting out:</h3><p>This is a common CSS template I start with:</p><blockquote><p>body, html{<br />&nbsp;&nbsp;&nbsp;&nbsp; margin:0; padding:0;<br />&nbsp;&nbsp;&nbsp;&nbsp; height:100%;<br />}</p><p>div, p{<br />&nbsp;&nbsp;&nbsp; position:relative;<br />&nbsp;&nbsp;&nbsp; margin:0; padding:0;<br />&nbsp;&nbsp;&nbsp; overflow:hidden;<br />}</p><p>br{<br />&nbsp;&nbsp;&nbsp; clear:both;<br />}</p></blockquote><p><strong>What does this accomplish?</strong> </p><p>First, it will extend your background images all the way to the bottom of the screen and eliminate the default margins and padding on the page (html, body block declaration).</p><p>Second, it saves you the trouble of declaring position:relative over and over again. While relative and block display are the supposed defaults CSS declarations for margin, top, and left won&#39;t be respected without an explicit position:relative specified in the style block.&nbsp; In the next section you&#39;ll see why this is important for cross-browser CSS. The overflow is also hidden by default because often an inner element&#39;s height, padding and margin will cause their parent element to extend beyond the desired height. </p><p>Lastly, the br block will cause any &lt;br /&gt; tags to automatically clear floated elements.&nbsp; If you&#39;re producing CSS layouts with columns you&#39;ll quickly notice how handy this becomes.&nbsp;</p><h3>Cross-Browser CSS Tips</h3><p>The best way to create cross-browser CSS productions the first time (without even looking at IE) is to avoid using any code that the two handle differently. </p><p>The first and most important difference can be avoided by NEVER specifying horizontal margins or padding for layout elements.&nbsp; IE will add the margin/padding dimensions to the width you specify while Mozilla will not, thereby causing your column widths to be inconsistent.&nbsp; But what if nested layers require horizontal positioning?&nbsp; For example, you may need to render some content within the borders of a background texture or shadow image. The cross-browser solution? Use top, left, and right to position them.&nbsp; Because IE and Mozilla handle these declarations the same way, you&#39;re in the clear.</p><p>Second, be sure to use absolute positioning whenever possible. If you require flexible column height obviously this won&#39;t work. However, when positioning anything at all satic, you&#39;ll be glad you did! </p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/10/30/General-and-Cross.DSH.Browser-CSS-Tips%3A--Write-less.--Refactor-less./</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/10/30/General-and-Cross.DSH.Browser-CSS-Tips%3A--Write-less.--Refactor-less./</link>
    </item>    <item>
      <pubDate>Mon, 27 Jul 2009 11:03:00 -0500</pubDate>
	  <title>CommonTweeps: A Twitter API Project </title>
      <description><![CDATA[ <p><strong>UPDATE: 20 JUNE 2010</strong> </p><p>Due to significant changes in the Twitter API Authentication (oAuth implementation) this application requires repair. I will attempt to resolve this as time allows. - DBI</p><p>In hopes to learn more about what could be accomplished via the Twitter API, I wrote an application called CommonTweeps recently. Inspired by the Mutual Friends feature presented on Facebook I decided Twitter could use the same functionality.&nbsp; When someone follows me I often wonder how they found me.&nbsp; Using CommonTweeps I&#39;m able to determine this information (provided they aren&#39;t following me via an automated channel).&nbsp;&nbsp; Further, if we have mutual friends or followers I am more likely to follow them back.&nbsp; Give it a go by visiting <a href="http://commontweeps.com" target="_blank">http://commontweeps.com</a> </p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/07/27/CommonTweeps%3A-A-Twitter-API-Project-/</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/07/27/CommonTweeps%3A-A-Twitter-API-Project-/</link>
    </item>    <item>
      <pubDate>Fri, 24 Apr 2009 16:10:00 -0500</pubDate>
	  <title>Handling cross-browser/platform key board events with Javascript</title>
      <description><![CDATA[ <p>Although this functionality comes packaged in my cross browser core file elementary.js - I thought I&#39;d post this up in hope others will find it useful. I still need to complete the keymap as the only keys supported currently are: Shift, Control, Up, Down, Left, Right, and Tab. </p><p><a href="/documents/keys.js">Download keys.js</a> (<a href="/documents/keys.js" target="_blank">New window/tab</a>) </p><p>Usage:</p><blockquote>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;<br />&nbsp;&nbsp;&nbsp; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;<br />&lt;head&gt;<br />&nbsp;&nbsp;&nbsp; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;title&gt;Cross browser keyboard event handling&lt;/title&gt;<br />&nbsp;&nbsp;&nbsp; &lt;script type=&quot;text/javascript&quot; src=&quot;keys.js&quot;&gt;&lt;/script&gt;<br />&nbsp;&nbsp;&nbsp; &lt;script type=&quot;text/javascript&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //available keys are &#39;shift&#39;,&#39;ctl&#39;,&#39;up&#39;,&#39;down&#39;,&#39;left&#39;,&#39;right&#39;,&#39;tab&#39;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; KeyEventObservers.add(&#39;left&#39;,{<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; up:function(e){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //handle up event here&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; },<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; down:function(e){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //handle down event here<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; KeyEventObservers.add(&#39;shift&#39;,{<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; up:function(e){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //handle up event here&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; },<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; down:function(e){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //handle down event here<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br /><br />&lt;/body&gt;<br />&lt;/html&gt;<br /></blockquote><br /><p>You can see an <a href="http://www.drivenstudio.com/art-culture">implementation</a> on <a href="http://www.drivenstudio.com/">drivenstudio.com</a>, the right and left keys move forward and backward in the slideshow. </p><p>&nbsp;</p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/04/24/Handling-cross.DSH.browser.SLH.platform-key-board-events-with-Javascript/</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/04/24/Handling-cross.DSH.browser.SLH.platform-key-board-events-with-Javascript/</link>
    </item>    <item>
      <pubDate>Wed, 01 Apr 2009 10:00:00 -0500</pubDate>
	  <title>Rebrandability: Adding resale value to your applications with CSS</title>
      <description><![CDATA[ <p>Whether you&#39;re developing an application within its own brand or for a client, implementing creative elements of the interface with CSS creates the potential for resale value while minimizing the labor required to rebrand. Depending on agreements made (or not made in some cases) you, your client, or both parties will own the application.&nbsp; The ability to quickly rebrand increases its value imensely. This enables the developer to ask a higher price and the owner to attain better ROI.&nbsp; </p><p>While it&#39;s advisable that a developer should always use CSS, developers know well the temptation to render an image tag instead of using a link containing hidden text then setting a background with the stylesheet.&nbsp; Taking the extra time to ensure each and every element of the design is customizable through CSS can make the difference between a $5k application and a $50k price tag. </p><p>Next time you get a request for a custom web-based application, consider the ablity to rebrand that application and think: &quot;How much more will rebrandablity benefit the owner?&quot; Ultimately, this will let you fairly sell the development and production labor for a higher price.</p><p>&nbsp;</p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/04/01/Rebrandability%3A-Adding-resale-value-to-your-applications-with-CSS/</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/04/01/Rebrandability%3A-Adding-resale-value-to-your-applications-with-CSS/</link>
    </item>    <item>
      <pubDate>Tue, 03 Mar 2009 10:40:00 -0600</pubDate>
	  <title>Is Javascript the future of mobile development? Phonegap says YES!</title>
      <description><![CDATA[ <p>Javascript has become the language of choice behind RIAs in the past few years.&nbsp; While Adobe Flash carried much of the initial momentum behind RIAs, as soon as &quot;AJAX&quot; (<a href="http://www.jibbering.com/2002/4/httprequest.html" target="_blank">HTTPRequest object</a> circa 2001) came into the mainstream Javascript eclipsed Flash quickly. The widespread and even legacy support of Javascript is unmatched. Javascript has also been around long enough to for web programmers to have a grip on it.&nbsp; On the other hand, Actionscript has changed drastically as it&#39;s evolved. Each version release has contained a learning curve. Though it might not be a steep curve, the modern version 3.0 is a far cry from &quot;Actionscript 5&quot; which boasted &quot;dot syntax&quot; for the first time as it progressed toward a more object oriented pattern.&nbsp; The nail in the coffin for Flash as an RIA platform arrived about two years ago. No Flash support was provided on the iPhone. With many millions of iPhones sold, that&#39;s a very large user base to neglect.&nbsp; </p><p>While Javascript is by no means as robust as C, Java or Ruby, Javascript has made it&#39;s way into many open source libraries, projects and has more than proved it&#39;s ability to provide a desktop app quality experience on the web. Want an example? Take a look at Google Docs if you haven&#39;t already.&nbsp;</p><p>So what does this mean for mobile application development? Currently there are three main platforms: iPhone, BlackBerry, and Android (Google&#39;s mobile platform).&nbsp; Each of these requires development using a different language as requiredby their native operating systems. This means that you would need three teams with three different skill sets working on an application you were to deploy on all three.&nbsp; What if you could develop native applications across all three platforms using your in-house web development team instead and make your app accessible via a plain old web browser as well? With Javascript and <a href="http://phonegap.com/" target="_blank">phonegap</a>, this is now possible.&nbsp; The three frameworks (one for each platform) provided for each of the platforms allow you to run Javascript applications as native applications on the phone - fancy icon and all. The included Javacript library allows you to access some native phone features (contacts, camera, phone, speaker, virbation etc.) through one library and one familiar language.&nbsp; While many of the phone&#39;s native functions are not yet accessible the roadmap is clear and the project is young. Over time I anticipate we&#39;ll be seeing more and more applications deployed using Javascript. Really though, who wouldn&#39;t want to cut development cost by two-thirds? </p><p>&nbsp;</p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/03/03/Is-Javascript-the-future-of-mobile-development.QM.-Phonegap-says-YES.EXL./</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/03/03/Is-Javascript-the-future-of-mobile-development.QM.-Phonegap-says-YES.EXL./</link>
    </item>    <item>
      <pubDate>Sun, 18 Jan 2009 13:00:00 -0600</pubDate>
	  <title>FITE! El Obscuro Weighs In...</title>
      <description><![CDATA[ <p>The amazing folks over at <a href="http://www.flyingskull.com/" target="_blank">Flying Skull</a> have put together a very cool contest which I&#39;m grateful (and a bit nervous) to be part of.</p><p><a href="http://www.flyingskull.com/FITE/" target="_blank">The &quot;FITE!&quot;</a> is a battle of drawing skill, imagination and promotion.&nbsp; Each contestant draws an assinged wrestler which is then randomly pitted against another.&nbsp; While I never claimed to posses much talent when it comes to drawing figures, all said and done I&#39;m proud of the result. </p><p>Lastly, a big thanks goes out to <a href="http://www.alanapost.net/" target="_blank">Alana Post</a> for getting me in on the action.&nbsp; So without further ado - I introduce you to <strong>El Obscuro</strong>:</p><p>&nbsp;</p><div style="text-align: center"><img class="photo alignCenter" src="http://media.legitify.com/benipsen/photos/el_obscuro.jpg" border="0" alt="el_obscuro.jpg" title="el_obscuro.jpg" /></div><br /><p>&nbsp;</p><p>A B O U T:</p><div class="gallery"><p><strong>El Obscuro</strong> was born from darkness, the speed at which he is able to move.&nbsp; During the early years of life he was ritualistically beaten so near death that he no longer feels pain.  He was sent to hell at the age of 13 where he was trained in the art of inflicting gruesome tortures known only to El Diablo himself.&nbsp; At the age of 20, weighing in at only 210 pounds,  <strong>El Obscuro</strong> earned his first wrestling title in the ultimate fighting category.&nbsp; Outside the ring he enjoys playing tennis and spending time with his clinically insane wife and their demented children. </p><p><strong>More details to follow on how you can help </strong><strong>El Obscuro win the battle!</strong> </p></div> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/01/18/FITE.EXL.-El-Obscuro-Weighs-In.../</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/01/18/FITE.EXL.-El-Obscuro-Weighs-In.../</link>
    </item>    <item>
      <pubDate>Sat, 17 Jan 2009 09:14:00 -0600</pubDate>
	  <title>New Guitar</title>
      <description><![CDATA[ <p>Recently I purchased an amazing instrument on Avenida Central in San Pedro, Costa Rica from Nery Rodriguez. The guitar is made entirely by hand.&nbsp; I can&#39;t imagine what it would have cost in the states but for a small sum I was able to acquire this beautiful sound.&nbsp; Here&#39;s me playing a quick song I composed.&nbsp; The recording quality is not fantastic, but not half bad for a MacBook. </p><p align="center"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="355" height="287"><param name="movie" value="http://studio.legitify.com/player/trans.swf?id=475503641" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="" /><embed src="http://studio.legitify.com/player/trans.swf?id=475503641" wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="355" height="287"></embed></object>&nbsp;</p><p align="center">(Note, this was taken with PhotoBooth and is a mirror image) </p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/01/17/New-Guitar/</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/01/17/New-Guitar/</link>
    </item>    <item>
      <pubDate>Tue, 06 Jan 2009 11:34:00 -0600</pubDate>
	  <title>NativeEnergy Small Business Calculator goes live</title>
      <description><![CDATA[ <p>In my latest efforts to aid the green revolution I&#39;ve programmed a calculator which can be used by small business owners to easily calculate their carbon footprint.&nbsp; </p><p>NativeEnergy is a company offering both individuals and business a way to offset their carbon footprint by investing in clean energy technologies.&nbsp; The calculator works by applying formulas to various inputs, prompting users for information about business activities such as commuting, shipping, and energy consumption. Using these inputs the application can determine the amount of harmful emissions that result.&nbsp; The application interface features an intuative step-by-step process designed by <a href="http://propelled.com/" target="_blank">Propeller Media Works</a> based out of Burlington VT. Check out the <a href="http://www.nativeenergy.com/pages/small_business_calculator/488.php" target="_blank">Small Business Calculator</a> or learn more about NativeEnergy on their <a href="http://www.nativeenergy.com/" target="_blank">website</a>.&nbsp; </p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2009/01/06/NativeEnergy-Small-Business-Calculator-goes-live/</guid>
      <link>http://www.benipsen.com/blogs/bd/2009/01/06/NativeEnergy-Small-Business-Calculator-goes-live/</link>
    </item>    <item>
      <pubDate>Thu, 18 Dec 2008 15:00:00 -0600</pubDate>
	  <title>New SKI THE EAST Features Launch</title>
      <description><![CDATA[ <p>Six months in the making the <a href="http://www.skitheeast.net/" target="_blank">SKI THE EAST community website</a> now boats an impressive array of <a href="http://www.skitheeast.net/weather" target="_blank">weather </a>and <a href="http://www.skitheeast.net/weather/conditions" target="_blank">snow conditions</a> reporting features including a very slick <a href="http://www.skitheeast.net/weather/east_coast_ski_webcams" target="_blank">east coast webcam map</a>. The weather page is a mashup design leveraging various data sources from around the web to give an unbiased outlook on the weather that matters most to our core audience - The die hard east coast skier.&nbsp; </p><p>Other new features include personal messaging, email notification improvements and an additional podcast for your viewing pleasure. </p><p><strong>Be sure to visit <a href="http://www.skitheeast.net/" target="_blank">http://www.skitheeast.net/</a> and <a href="http://www.meatheadfilms.com/%20" target="_blank">http://www.meatheadfilms.com/ </a></strong></p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2008/12/18/New-SKI-THE-EAST-Features-Launch/</guid>
      <link>http://www.benipsen.com/blogs/bd/2008/12/18/New-SKI-THE-EAST-Features-Launch/</link>
    </item>    <item>
      <pubDate>Sun, 16 Nov 2008 09:23:00 -0600</pubDate>
	  <title>Displaying Doppler Radar with the Google Maps API</title>
      <description><![CDATA[ <p>This is an advanced tutorial so you haven&#39;t got a handle on the <a href="http://code.google.com/apis/maps/documentation/introduction.html" target="_blank">basics</a> yet you&#39;ll want to be comfy with them first.&nbsp; We&#39;ll make use of the <a href="http://code.google.com/apis/maps/documentation/overlays.html#Ground_Overlays" target="_blank">GGroundOverlay</a> object, <a href="http://radar.weather.gov/">Noaa&#39;s updated radar .gif images,</a> and the <a href="http://mapki.com/radar/" target="_blank">Where&#39;s the radar Site? application</a> to retrieve the bounding coordinates for each radar site. </p><p>First you&#39;ll need an API key. You can sign up <a href="http://code.google.com/apis/maps/signup.html." target="_blank">here</a>.</p><p>Begin by deciding where you want your map to be displayed, then hit this URL replacing the la and lo query string arguments to reflect the latitude and longitude of your location respectively:</p><blockquote><p>http://mapki.com/radar/get.php?la=48.80686346108517&amp;lo=-79.013671875 </p></blockquote><p>This url will return XML data that contains information we need about the radar sites nearby. The sites we&#39;ll be working with are CXX in Burlington Vermont, and ENX in Albany NY. The XML output from the application looks like this:&nbsp; </p><blockquote> &lt;marker tllat="45.2676" tllng="-76.9899" brlat="39.894551" brlng="-71.128392" site="ENX"/&gt;
&lt;marker tllat="47.2796" tllng="-76.1867" brlat="41.73241" brlng="-70.13522" site="CXX"/&gt; </blockquote><p>&nbsp;</p><p>Begin by constructing and initializing the GMap2 object which to which we&#39;ll add the overlays. The setCenter method will draw and center the map around the desired coordinates. The second argument to this method is the zoom level for the map. </p><blockquote><p>var map = new GMap2(document.getElementById(&quot;map&quot;));<br />&nbsp;&nbsp;&nbsp;&nbsp; map.setCenter(new GLatLng(43.609549935614595,-72.7679443359375), 7);<br /> </p></blockquote><p>The GGroundOverlay object is constructed using an image path, and a GLatLngBounds constructed with two GLatLng objects. This creates the rectangle in which the overlay will be loaded and positions the radar accurately on the map. To construct our two points we use the following code:</p><blockquote>var en_boundaries = new GLatLngBounds(new GLatLng(39.894551,-76.9899), new GLatLng(45.2676,-71.128392));<br />var cx_boundaries = new GLatLngBounds(new GLatLng(41.73241,-76.1867004255815), new GLatLng(47.2795563992587,-70.13522)); <br /></blockquote><p>We then create our GGroundOverlay instances using the GLatLngBounds object and the paths to the corresponding radar image. Note that the URLs of the radar images are created using the abbreviation for the radar returned in the XML as the site attribute.&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; </p><blockquote><p>var en_overlay = new GGroundOverlay(&quot;http://www.srh.noaa.gov/ridge/RadarImg/NCR/ENX_NCR_0.gif&quot;, en_boundaries); <br />var en_overlay = new GGroundOverlay(&quot;http://www.srh.noaa.gov/ridge/RadarImg/NCR/CXX_NCR_0.gif&quot;, cx_boundaries);</p></blockquote><p>&nbsp;</p><p>To display the image simply call the addOverlay method on the GMap2 class </p><blockquote>map.addOverlay(en_overlay);<br />map.addOverlay(cx_overlay); <br /></blockquote><p>And finally, here&#39;s our result:</p> 
<div id="map" style="width:450px;height:350px"> </div>
<script type="text/javascript">
    var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(44.609549935614595,-72.7679443359375), 7); 
    var en_boundaries = new GLatLngBounds(new GLatLng(39.894551,-76.9899), new GLatLng(45.2676,-71.128392));
var cx_boundaries = new GLatLngBounds(new GLatLng(41.73241,-76.1867004255815), new GLatLng(47.2795563992587,-70.13522));
var en_overlay = new GGroundOverlay("http://www.srh.noaa.gov/ridge/RadarImg/NCR/ENX_NCR_0.gif", en_boundaries);
var en_overlay = new GGroundOverlay("http://www.srh.noaa.gov/ridge/RadarImg/NCR/CXX_NCR_0.gif", cx_boundaries);
map.addOverlay(en_overlay);
map.addOverlay(cx_overlay);
</script> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2008/11/16/Displaying-Doppler-Radar-with-the-Google-Maps-API/</guid>
      <link>http://www.benipsen.com/blogs/bd/2008/11/16/Displaying-Doppler-Radar-with-the-Google-Maps-API/</link>
    </item>    <item>
      <pubDate>Thu, 06 Nov 2008 08:01:00 -0600</pubDate>
	  <title>New Website, Two years later...</title>
      <description><![CDATA[ <p>I am pleased to announce the launch of my new website. For nearly two years I&#39;ve been working to creating a hosted asset management and content publishing system which allows both individuals and marketing teams to easily manage and publish assets to their websites, blogs and other desirable internet channels simultaneously.&nbsp; This project among others has been a huge distraction from getting this puppy live so I&#39;m stoked it&#39;s finally up. I&#39;ll be posting more on the site via <a href="http://legitifystudio.com/">the CMS I wrote</a> and likely some other websites I use once and awhile as well. </p><p>For now feel free to browse the (very) abridged <a href="/work/">porftolio</a> and <a href="/art/">artwork.</a> </p> ]]></description>
      <guid>http://www.benipsen.com/blogs/bd/2008/11/06/New-Website.CMA.-Two-years-later.../</guid>
      <link>http://www.benipsen.com/blogs/bd/2008/11/06/New-Website.CMA.-Two-years-later.../</link>
    </item></channel>
</rss>