<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">

<channel>
<title>Hackszine: Flash</title>
<link>http://www.hackszine.com/blog/archive/flash/</link>
<description>O&apos;Reilly&apos;s Hacks Series reclaims the term &apos;hacking&apos; for the good guys--innovators who explore and experiment, unearth shortcuts, create useful tools, and come up with fun things to try on their own</description>
<language>en-us</language>
<copyright>Copyright 2008, O'Reilly Media, Inc.</copyright>
<lastBuildDate>Thu, 06 Nov 2008 19:27:04 -0800</lastBuildDate>
<pubDate>Tue, 11 Nov 2008 17:40:28 -0800</pubDate>
<generator>http://www.movabletype.org/?v=4.1</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<itunes:author>O'Reilly Media, Inc.</itunes:author>
<itunes:subtitle>Clever solutions to interesting problems.</itunes:subtitle>
<itunes:summary>Hackszine Podcast</itunes:summary>
<itunes:owner>
<itunes:email>webmaster@makezine.com</itunes:email>
</itunes:owner>
<category>Technology</category>
<itunes:category text="Technology">
</itunes:category>
<itunes:category text="Technology">
  <itunes:category text="Gadgets" />
</itunes:category>
<itunes:category text="Games &amp; Hobbies" >
</itunes:category>
<itunes:category text="Science">
</itunes:category>
<itunes:image href="http://makezine.com/images/hackszine/rss_icon.jpg" />
<itunes:explicit>no</itunes:explicit>


<item>
<title>Gesture recognition for Javascript and Flash</title>
<itunes:summary> The &quot;$1 Recognizer&quot; is a simple gesture recognition algorithm created by Andy Wilson from Microsoft Research and Jacob Wobbrock and Yang Li from the University of Washington. By simple, I mean that it&apos;s under 100 lines of code that...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gesturerecog_20081106.jpg" src="http://www.hackszine.com/gesturerecog_20081106.jpg" width="600" height="329" class="mt-image-none" style="" /></span></p>

<p>The "$1 Recognizer" is a simple gesture recognition algorithm created by Andy Wilson from Microsoft Research and Jacob Wobbrock and Yang Li from the University of Washington. </p>

<p>By simple, I mean that it's under 100 lines of code that you can quickly add to your application to give it gesture recognition capabilities.</p>

<blockquote>To enable novice programmers to incorporate gestures into their UI prototypes, we present a "$1 recognizer" that is easy, cheap, and usable almost anywhere in about 100 lines of code. In a study comparing our $1 recognizer, Dynamic Time Warping, and the Rubine classifier on user-supplied gestures, we found that $1 obtains over 97% accuracy with only 1 loaded template and 99% accuracy with 3+ loaded templates. These results were nearly identical to DTW and superior to Rubine.</blockquote>

<p>It works by using a simple 4-step process, which basically amounts to:<br />
<ol><li>Resampling the recorded path into a fixed number of points that are evenly spaced along the path</li><li>Rotating the path so that the first point is directly to the right of the path's center of mass</li><li>Scaling the path (non-uniformly) to a fixed height and width</li><li>For each reference path, calculating the average distance for the corresponding points in the input path. The path with the lowest average point distance is the match.</li></ol></p>

<p>What's great is that the output of steps 1-3 is a reference path that can be added to the array of known gestures. This makes it extremely easy to give your application gesture support and create your own set of custom gestures, as you see fit. </p>

<p>Give the demo a try. I was pretty surprised at how accurate the results were, even with single-temple custom gestures that I quickly scribbled out.</p>

<p><a href="http://depts.washington.edu/aimgroup/proj/dollar/">$1 Gesture Recognizer - Examples and Source (Javascript, Actionscript, and C#)</a></p>

<p><a href="http://faculty.washington.edu/wobbrock/pubs/uist-07.1.pdf">Gestures without Libraries, Toolkits or Training:  <br />
A $1 Recognizer for User Interface Prototypes (PDF)</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/11/gesture_recognition_for_javasc.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/11/gesture_recognition_for_javasc.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/11/gesture_recognition_for_javasc.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/11/gesture_recognition_for_javasc.html?CMP=OTC-7G2N43923558</guid>
<category>Software Engineering</category>
<pubDate>Thu, 06 Nov 2008 19:27:04 -0800</pubDate>
<enclosure url="http://faculty.washington.edu/wobbrock/pubs/uist-07.1.pdf" length="718785" type="application/pdf" />
</item>

<item>
<title>Arduino control with Flash AS3</title>
<itunes:summary>You can communicate from Flash to an Arduino device by using a proxy. The proxy runs on a machine which is connected directly to the Arduino with a serial connection. Your AS3 code talks to the proxy over a TCP...</itunes:summary>
<description>
<![CDATA[<p>You can communicate from Flash to an Arduino device by using a proxy. The proxy runs on a machine which is connected directly to the Arduino with a serial connection. Your AS3 code talks to the proxy over a TCP socket, and the proxy talks to the Arduino over the serial connection.</p>

<p>This whole setup is made pretty simple by Erik Sjodin's as3Glue library:</p>

<blockquote>as3Glue is an ActionScript 3 library that enables communication between Flash/Flex/AIR applications and Arduino boards. It can together with one or several Arduino boards be used to monitor sensors (such as rotary encoders and motion detectors), control actuators (such as LEDs and motors) and interface other electronics (such as RFID readers) from Flash, Flex and AIR applications.

<p>The library includes Arduino sketches and ActionScript 3 code examples as well as custom version of the Standard Firmata Arduino firmware and a serial proxy.</blockquote></p>

<p>The AS3 portion of the library is released under the MIT license, and provides methods for setting pin modes and writing digital and analog data to pin output. It also provides event callbacks for receiving digital and analog data back from the device. The only wonky thing is that the proxy doesn't appear to be released in source form (as far as I can tell), and it's only provided as binaries for Windows and Mac users.  On the bright side, it's pretty easy to digest what's happening from the Arduino.as file and the Standard Firmata protocol, so it wouldn't be a huge ordeal to cobble together your own proxy if you know a little C or PERL.</p>

<p><a href="http://code.google.com/p/as3glue/">as3Glue - Arduino control from Flash, Flex and AIR</a><br />
<a href="http://code.google.com/p/as3glue/source/browse/trunk/Glue/examples/arduino/simpleio/SimpleIO.as">SimpleIO.as - a decent AS3 Arduino example</a><br />
<a href="http://www.arduino.cc/playground/Interfacing/Firmata">Firmata - host machine to microcontroller communication protocol</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/10/arduino_control_with_flash_as3.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/10/arduino_control_with_flash_as3.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/10/arduino_control_with_flash_as3.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/10/arduino_control_with_flash_as3.html?CMP=OTC-7G2N43923558</guid>
<category>Electronics</category>
<pubDate>Wed, 29 Oct 2008 21:09:34 -0800</pubDate>

</item>

<item>
<title>Pixlr: Flash photo editor</title>
<itunes:summary> Pixlr is a simplified photo editor that runs right in your web browser. The interface is similar to Photoshop, though its tools are still a bit rudimentary. It&apos;s the pet project of Swedish web developer Ola Sevandersson, and is...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="pixlr_20080823.jpg" src="http://www.hackszine.com/pixlr_20080823.jpg" width="600" height="355" class="mt-image-none" style="" /></span></p>

<p>Pixlr is a simplified photo editor that runs right in your web browser. The interface is similar to Photoshop, though its tools are still a bit rudimentary. It's the pet project of Swedish web developer Ola Sevandersson, and is still fairly beta, but there are some things I really like about it. For one, the File-&gt;Open and File-&gt;Save menus show off how seamless file interaction on the web can actually be. The other cool thing is that the application has layer support, which is one of the basic requirements of any photo editor (but often not seen in online experiments). Missing are selection rotation and transformation, among other things, but hopefully this will continue to be developed into a substitute for the 99% of what most folks use desktop photo editors for.</p>

<p><a href="http://www.pixlr.com/">Pixlr beta</a><br />
<a href="http://www.webmonkey.com/blog/One_Man_Photoshop%3A_Pixlr_is_Slick">One Man Photoshop: Pixlr is Slick</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/08/pixlr_flash_photo_editor.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/08/pixlr_flash_photo_editor.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/08/pixlr_flash_photo_editor.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/08/pixlr_flash_photo_editor.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Sat, 23 Aug 2008 21:59:57 -0800</pubDate>

</item>

<item>
<title>Google Earth has a Javascript API</title>
<itunes:summary> Google released a plug-in, currently for Windows browsers only, that allows you to embed the Earth application inside the browser. Existing Google Maps mashups can use some of the functionality right away just by adding the G_SATELLITE_3D_MAP map type....</itunes:summary>
<description>
<![CDATA[<p><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/6mrG_bsqC6k&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/6mrG_bsqC6k&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="500" height="405"></embed></object></p>

<p>Google released a plug-in, currently for Windows browsers only, that allows you to embed the Earth application inside the browser. Existing Google Maps mashups can use some of the functionality right away just by adding the G_SATELLITE_3D_MAP map type. Even more exciting is that you can interact more deeply with the map&mdash;including camera angles, KML layers, and 3D models&mdash;right from Javascript. I'm so eager to go find a PC to play around with this that I'll let the video speak for itself.</p>

<p>Also worth noting is that Google just released an official Maps API for Flash AS3. Call me a fanboy, but I think my head is spinning.</p>

<p><a href="http://code.google.com/apis/earth/">Google Earth API</a><br />
<a href="http://code.google.com/apis/earth/documentation/examples.html">Some Example Applications</a><br />
<a href="http://code.google.com/apis/maps/documentation/flash/">Maps API for Flash</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/06/google_earth_has_a_javascript.html?CMP=OTC-7G2N43923558</guid>
<category>Ajax</category>
<pubDate>Tue, 03 Jun 2008 21:12:58 -0800</pubDate>

</item>

<item>
<title>HOWTO - embed fonts from a SWF into a Flex app</title>
<itunes:summary> I haven&apos;t done any coding in Flex yet, but I came across this howto today that illustrates how simple it is to pull in a Flash SWF that has an embedded font and use it within the Flex application....</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="flexfontembed_20070503.jpg" src="http://www.hackszine.com/flexfontembed_20070503.jpg" width="500" height="120" class="mt-image-none" style="" /></span></p>

<p>I haven't done any coding in Flex yet, but I came across this howto today that illustrates how simple it is to pull in a Flash SWF that has an embedded font and use it within the Flex application.  Embedding the bold, italic, and bold-italic sets for a font allows you to use the standard &lt;b&gt; and &lt;i&gt; tags in an htmlText element that is using the embedded font. </p>

<p>As an aside, it appears that Flex even allows you to do a rotation on the text even when it's not using a standard system font.  This is something that was a total pain with embedded fonts in Flash/AS2, requiring rendering the text on the fly as a bitmap and then rotating the bitmap version. Major headache.</p>

<p>I'm pretty excited to see that text effects like this have become so simple to achieve. Now, if only someone could figure out how to lighten the file size when you're trying to embed a traditional Chinese character set.</p>

<p><a href="http://blog.flexexamples.com/2007/10/25/embedding-fonts-from-a-flash-swf-file-into-a-flex-application/">Embedding fonts from a Flash SWF file into a Flex application</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/05/howto_embed_fonts_from_a_swf_i.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/05/howto_embed_fonts_from_a_swf_i.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/05/howto_embed_fonts_from_a_swf_i.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/05/howto_embed_fonts_from_a_swf_i.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Fri, 02 May 2008 23:39:00 -0800</pubDate>

</item>

<item>
<title>Encoding JPEGs client-side in AS3</title>
<itunes:summary>I&apos;ve been doing a bunch of Flash Actionscript 3 development lately at work, and one of my favorite features with the new drawing API is the ease and speed with which you can rasterize vector data and manipulate image bitmaps....</itunes:summary>
<description>
<![CDATA[<p>I've been doing a bunch of Flash Actionscript 3 development lately at work, and one of my favorite features with the new drawing API is the ease and speed with which you can rasterize vector data and manipulate image bitmaps. </p>

<p>What's killer is that Adobe's <a href="http://code.google.com/p/as3corelib/">as3corelib</a> addon library finally gives us some essential tools that have been sorely lacking, none the least of which is a client side JPEG encoder. With this, you can turn any drawable object like a sprite or a movieclip into a ByteArray holding the compressed JPEG data in just a few lines of code.  It's as simple as this:</p>

<blockquote><code>import com.adobe.images.JPGEncoder;

<p>var clipbmp:BitmapData = new BitmapData (aclip.width, aclip.height);<br />
clipbmp.draw(aclip);</p>

<p>var jpgEnc:JPGEncoder = new JPGEncoder(90);<br />
var jpgbytes:ByteArray = jpgEnc.encode(clipbmp);<br />
</code></blockquote></p>

<p>This turns the "aclip" sprite or movieclip into a rasterized, flattened, BitmapData object. The BitmapData is then run through the JPEG encoder with the quality setting of 90 and you're left with the raw JPEG-compressed image in a ByteArray object. The as3corelib also provides a PNG encoder, with which you can just use the static method <code>PNGEncoder.encode(clipbmp)</code>.</p>

<p>This is perfect for saving a capture of user-generated artwork to the server. Just set the data member of a URLRequest object to the ByteArray and post it. For more detailed information on how to put all the pieces together, <a href="http://henryjones.us/articles/using-the-as3-jpeg-encoder">Henry Jones</a> has a really thorough post of compressing JPEG data and pinging it off a server to force an image download. </p>

<p>Unfortunately, to trigger a JPEG download, you still need to post the image data up to a server script and have it echo it back to the browser. The difference now, though, is that you can do the compression on the client end, saving both server CPU time and the time to upload the image data. This means saving a large image is a few second process instead of taking a minute and a half.</p>

<p><a href="http://code.google.com/p/as3corelib/">Actionscript 3 Core Library (as3corelib)</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/encoding_jpegs_clientside_in_a.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/encoding_jpegs_clientside_in_a.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/04/encoding_jpegs_clientside_in_a.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/04/encoding_jpegs_clientside_in_a.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Tue, 22 Apr 2008 22:03:58 -0800</pubDate>

</item>

<item>
<title>Nice overview of the YouTube API</title>
<itunes:summary> I caught this self-referential tutorial on YouTube today which walks you through the basics of the YouTube API. It appears to be quite simple to develop Javascript or Flash applications that can control or interact with the YouTube player,...</itunes:summary>
<description>
<![CDATA[<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/I8xZBfVsMzs&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/I8xZBfVsMzs&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="500" height="400"></embed></object></p>

<p>I caught this self-referential tutorial on YouTube today which walks you through the basics of the YouTube API. It appears to be quite simple to develop Javascript or Flash applications that can control or interact with the YouTube player, or even completely reskin the interface.</p>

<p>What I didn't know until recently was that the API has provisions for allowing your application to upload videos and post comments.  You can even authenticate users and allow them to interact with the YouTube backend through your private application.  It looks like you can do just about everything programatically except remove the YouTube watermark on the video.</p>

<p><a href="http://code.google.com/apis/youtube/developers_guide_protocol.html">YouTube Developer's Guide</a><br />
<a href="http://apiblog.youtube.com/">Developer API Blog</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/nice_overview_of_the_youtube_a.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/nice_overview_of_the_youtube_a.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/04/nice_overview_of_the_youtube_a.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/04/nice_overview_of_the_youtube_a.html?CMP=OTC-7G2N43923558</guid>
<category>YouTube</category>
<pubDate>Sun, 13 Apr 2008 23:12:23 -0800</pubDate>

</item>

<item>
<title>Air on the EeePC</title>
<itunes:summary> There&apos;s a good post on the O&apos;Reilly Rich Internet Application blog about running Air under Linux on the EeePC: Adobe recently released the first public alpha version of the AIR runtime for Linux on labs. This is great news!...</itunes:summary>
<description>
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="eeepc_air_20080410.jpg" src="http://www.hackszine.com/eeepc_air_20080410.jpg" width="500" height="302" class="mt-image-none" style="" /></span></p>

<p>There's a good post on the O'Reilly Rich Internet Application blog about running Air under Linux on the EeePC:</p>

<blockquote>Adobe recently released the first public alpha version of the AIR runtime for Linux on labs. This is great news! I felt compelled to "geek out" with it, and was able to get AIR running on an Asus EeePC, although with a few minor issues.

<p>The Asus EeePC runs a derivative of Xandros with KDE, which is not a supported Linux distribution for AIR. I got it working with a little help from the Adobe forums, and I'm very excited about it. I have never gotten into Linux desktop application development, but I think that's could soon change.</blockquote></p>

<p>There's a thread on the Adobe forums that has guidance for running Air on Linux machines.  It's a simple matter of downloading the SDK and running your applications from the command line using the <em>adl</em> command like so:</p>

<blockquote><code>~/AIR-SDK/bin/adl -nodebug ~/app/META-INF/AIR/application.xml ~/app</code></blockquote>

<p>The AIR runtime for Linux release notes are pretty clear that this is still a pretty alpha product with some unfinished features, but it's something, and if you do a lot of AIR or traditional Flash development, this would be a cool way to include Linux as a build target for your next desktop application.</p>

<p><a href="http://www.insideria.com/2008/04/air-linux-eeepc.html">AIR + Linux + EeePC</a> [<a href="http://digg.com/linux_unix/AIR_Linux_EeePC">via Lebon Bon Lebon</a>]<br />
<a href="http://labs.adobe.com/technologies/air/">Adobe AIR for Linux</a><br />
<a href="http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=72&catid=677&threadid=1352064&enterthread=y">Running AIR on Linux (Adobe forum)</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/air_on_the_eeepc.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/04/air_on_the_eeepc.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/04/air_on_the_eeepc.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/04/air_on_the_eeepc.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Wed, 09 Apr 2008 23:06:48 -0800</pubDate>

</item>

<item>
<title>Actionscript mapping APIs</title>
<itunes:summary> Yahoo recently released an official AS3 API for Yahoo! Maps, which provides another option for Flash-based GIS applications. This adds to Mapquest&apos;s official AS3 API and a couple of partially-complete, open source AS2 APIs for Google Maps. All of...</itunes:summary>
<description>
<![CDATA[<p><img alt="flashmap_20080218.jpg" src="http://www.hackszine.com/flashmap_20080218.jpg" width="500" height="337" /></p>

<p>Yahoo recently released an official AS3 API for Yahoo! Maps, which provides another option for Flash-based GIS applications. This adds to Mapquest's official AS3 API and  a couple of partially-complete, open source AS2 APIs for Google Maps.</p>

<p>All of these services provide the traditional AJAX APIs, of course, and that's perfect for a lot of uses. By using Flash as the rendering engine, though, there are new options available for the developer. Things like incremental scaling between tile sets, map rotation, and more advanced multi-level vector and raster overlays immediately come to mind.</p>

<p>Yahoo! Maps for ActionScript 3.0 - <a href="http://developer.yahoo.com/flash/maps/">Link</a><br />
Google Maps Flash Interface - <a href="http://code.google.com/p/google-maps-flash-interface/">Link</a><br />
MapQuest AS3 API - <a href="http://company.mapquest.com/mqbs/4a.html">Link</a><br />
UMap: Google Maps Flash Overlay (flash above above AJAX map) - <a href="http://www.afcomponents.com/components/umap_as3/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/02/actionscript_mapping_apis.html?CMP=OTC-7G2N43923558</guid>
<category>Mapping</category>
<pubDate>Mon, 18 Feb 2008 19:07:30 -0800</pubDate>

</item>

<item>
<title>360 degree video in Flash</title>
<itunes:summary> Quentin Lengelé put together a cool demo for a Flash application that uses the Papervision 3D library to pan around a 360 degree video while it&apos;s playing: The idea was to apply the BitmapData of that movie on a...</itunes:summary>
<description>
<![CDATA[<p><img alt="360cam_20080217.jpg" src="http://www.hackszine.com/360cam_20080217.jpg" width="500" height="260" /></p>

<p>Quentin Lengelé put together a cool demo for a Flash application that uses the Papervision 3D library to pan around a 360 degree video while it's playing:</p>

<blockquote>The idea was to apply the BitmapData of that movie on a GeoSphere.

<p>The GeoSphere is made in 3DSMAX with flipped faces and exported in ASE Format.<br />
The ASE Format is readable by Papervision3D.</p>

<p>Then you just need to draw your bitmapData into a texture you apply to the ASE in ActionScript.</blockquote></p>

<p>I'd be really interested in seeing a DIY version of the 360 degree camera hardware. Has anyone taken something like this on?</p>

<p>360 Degree Video with PaperVision 3D - [<a href="http://blog.papervision3d.org/2008/02/17/video-360/">via</a>] <a href="http://adn.blam.be/papervision/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/02/360_degree_video_in_flash.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/02/360_degree_video_in_flash.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/02/360_degree_video_in_flash.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/02/360_degree_video_in_flash.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Sun, 17 Feb 2008 21:28:46 -0800</pubDate>

</item>

<item>
<title>Mouse wheel programming in Javascript and Flash</title>
<itunes:summary>It&apos;s an underused feature, but you can give your Flash and AJAX/Javascript applications basic mouse wheel support that works across most common browser platforms. Google Maps&apos; mouse zoom feature is a good example of how useful this small addition can...</itunes:summary>
<description>
<![CDATA[<p>It's an underused feature, but you can give your Flash and AJAX/Javascript applications basic mouse wheel support that works across most common browser platforms. Google Maps' mouse zoom feature is a good example of how useful this small addition can be. If you're programming an application where zooming or scrolling is a common task, give your users a break and don't overlook this one.</p>

<p>On the Javascript side, Adomas Paltanavicius has put together a thorough overview and some example code for making this work in your application. You can capture wheel scroll events in IE, Safari, Firefox and Opera.</p>

<p>For Flash, you need to do some Javascript to Flash communication to capture mouse events on the Javascript side, and then make the data available from within the running Flash application. The SWFMacMouseWheel library provides the necessary glue to do all of this, bundling the Javascript listener code and an Actionscript event object into an easy to use package.</p>

<p>Mouse wheel programming in JavaScript - <a href="http://adomas.org/javascript-mouse-wheel/">Link</a><br />
SWFMacMouseWheel: use the mouse wheel in Flash - <a href="http://blog.pixelbreaker.com/flash/swfmacmousewheel/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2008/01/mouse_wheel_programming_in_jav.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2008/01/mouse_wheel_programming_in_jav.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2008/01/mouse_wheel_programming_in_jav.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2008/01/mouse_wheel_programming_in_jav.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Thu, 17 Jan 2008 22:09:54 -0800</pubDate>

</item>

<item>
<title>Chumby software development</title>
<itunes:summary> MakeFan: wrote in to remind us that those cute little Chumby devices are for sale now. The best thing about the little wireless touchscreen appliance is that they were designed to be open and hackable. The underlying operating system...</itunes:summary>
<description>
<![CDATA[<p><img alt="chumby_20071228.jpg" src="http://www.hackszine.com/chumby_20071228.jpg" width="500" height="370" /></p>

<p>MakeFan: wrote in to remind us that those cute little Chumby devices are for sale now. The best thing about the little wireless touchscreen appliance is that they were designed to be open and hackable. The underlying operating system is Linux, and there are a number of lower level OS hacks, but you can also pretty easily whip up slick "widget" applications as well, since the Chumby's normal mode of operation is to play Flash Lite 3 applications.</p>

<p>The Chumby developer wiki has source for a number of sample widget applications that will help you get started if you're new to Flash. If you're a seasoned pro, Flash Lite 3 isn't all that different from developing in standard Flash / AS2.  You just need to avoid a few features like bitmap caching, and lay off CPU and graphics intensive code.</p>

<p>If you're interested in developing for the Chumby community, but don't have a device, you can make an account on the chumby.com site.  After logging in, you can upload your widgets to a "Virtual Chumby" and see how they would run on the device.</p>

<p><b>Resources:</b><br />
Chumby Flash development overview - <a href="http://www.chumby.com/developers/flash">Link</a><br />
Chumby Flash development forum - <a href="http://forum.chumby.com/viewforum.php?id=6">Link</a><br />
Widget development Wiki - <a href="http://wiki.chumby.com/mediawiki/index.php/Developing_widgets_for_chumby">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/12/chumby_software_development.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/12/chumby_software_development.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/12/chumby_software_development.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/12/chumby_software_development.html?CMP=OTC-7G2N43923558</guid>
<category>Software Engineering</category>
<pubDate>Fri, 28 Dec 2007 17:16:39 -0800</pubDate>

</item>

<item>
<title>Faking constants in Actionscript 2.0</title>
<itunes:summary>Most people get around Actionscript 2.0&apos;s lack of constant variables by just naming member variables in all capital letters and remembering not to alter their value. This works okay, assuming you obey the rules, but what if you want to...</itunes:summary>
<description>
<![CDATA[<p>Most people get around Actionscript 2.0's lack of constant variables by just naming member variables in all capital letters and remembering not to alter their value.  This works okay, assuming you obey the rules, but what if you want to enforce a constant value so that it cannot be changed during runtime.  <a href="http://www.eDeloa.com/">Edgar De Loa</a> wrote to us about this today:</p>

<blockquote>Constants are not inherent in actionscript 2.0.  The closest one could get is to make something private, and globally accessible.  However, this doesn't ameliorate the problem, since the variable could still easily be changed, and the notion of it being a constant crushed.

<p>I've found a very easy way to simulate constants.  After looking around, I've found no one else that has suggested and/or used this method.</p>

<p>The first step is to create a static class, and define a private variable with the value one would like to store.  The next step is to add a public function that returns the aforementioned private variable.  Naming the function identical to the private variable (all in caps), is a great and easy way to access the constant.</p>

<p><code><br />
static class ConstantVars {<br />
&nbsp;&nbsp;private var ARRAY_SIZE = 12;</p>

<p>&nbsp;&nbsp;public function ARRAY_SIZE() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;return ARRAY_SIZE;<br />
&nbsp;&nbsp;}<br />
}<br />
</code></p>

<p>So now, one can use   ConstantVars.ARRAY_SIZE() to access the constant, with no way to change or get rid of it.  I've also found that naming the class something simple, like "Const" will make everything even more quick and simple.<br />
</blockquote></p>

<p>This works, but I think we can even do one better.</p>

<p>By using a static "getter" method, you can retrieve enforced constant value and you don't need to use a function's normal parenthesis notation to access it.  You can use this in a more global static "Const" class as Edgar describes for more global variables.  Alternatively, you can encapsulate the static constant in any normal class, which is handy if the constant is relevant to a particular class (instead of just a global const variable).</p>

<p>As an example, let's say you had a class that authenticates a user.  It's not a static class.  It has some member variables and a few methods that deal with authenticating  and storing a user's credentials.  It also has a few message strings that are relevant to the authentication process, which you may want available to other parts of the application, but you want to make sure these strings are constants and aren't accidentally changed at runtime:</p>

<p><code><br />
class  Authentication {<br />
&nbsp;&nbsp;private var guid;<br />
&nbsp;&nbsp;private var username;<br />
&nbsp;&nbsp;private var password;<br />
&nbsp;&nbsp;private var server;</p>

<p>&nbsp;&nbsp;public static function get SUCCESS_MSG():String { return "Login successful"; }<br />
&nbsp;&nbsp;public static function get NOSUCHUSER_MSG():String { return "The user was not found"; }<br />
&nbsp;&nbsp;public static function get SERVERERROR_MSG():String { return "There was an error while connecting to the server"; }</p>

<p>&nbsp;&nbsp;public function Authentication( server, username, password ) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;...<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public function authenticate():String {<br />
&nbsp;&nbsp;&nbsp;&nbsp;//Performs the authentication and returns one of the constant error strings<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;...<br />
}<br />
</code></p>

<p>Now code inside your Authentication class can refer to NOSUCHUSER_MSG directly, and code external to the class can access the constant values in a simple manner like Authentication.SERVERERROR_MSG.  In this scenario, this could be pretty useful, because the Authentication class can pass success/error information around and external classes can know what the text means, even if it's changed in another translation.  Another class could do something like the following to authenticate a user:</p>

<p><code><br />
Authentication userauth = new Authentication( servername, user, pass );<br />
var result = userauth.authenticate();<br />
if ( result != Authentication.SUCCESS_MSG )<br />
{<br />
&nbsp;&nbsp;displayError( result );<br />
}<br />
</code></p>

<p>This is a really simplified example--and there is probably a better example that didn't immediately come to mind--but you get the idea.  Real constants are supported in Actionscript 3.0 using the const syntax, but if you're working on an AS2 project, there's still a solution for you that will give you the same effect.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/11/faking_constants_in_actionscri.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/11/faking_constants_in_actionscri.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/11/faking_constants_in_actionscri.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/11/faking_constants_in_actionscri.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Sat, 17 Nov 2007 21:07:49 -0800</pubDate>

</item>

<item>
<title>HOWTO - Use rich fonts in your web design</title>
<itunes:summary> Only Two Cross-Browser Web Fonts If you want to choose fonts that will look similar across most modern browsers you have two choices: Georgia and Verdana. Yeah, there are a few other fonts, such as Times, Arial, Helvetica, etc.,...</itunes:summary>
<description>
<![CDATA[<p><img alt="sifr_20071109.jpg" src="http://hackszine.com/sifr_20071109.jpg" width="500" height="314" /></p>

<p><b>Only Two Cross-Browser Web Fonts</b><br />
If you want to choose fonts that will look similar across most modern browsers you have two choices: Georgia and Verdana.  Yeah, there are a few other fonts, such as Times, Arial, Helvetica, etc., that are available on all platforms, but they tend to look really nice on one platform and really crappy in another.  Or they look nice in both, but the kerning or the letter height will be different for the exact same font size.</p>

<p>The web is a boring, two-font world.</p>

<p>Here's the thing though.  Georgia and Verdana are really decent screen fonts.  For large blocks of body copy, they provide you with a very respectable serif and sans-serif font option.  When it comes to titles or navigational elements, however, you often want something that will stand out from the rest of the copy on your page.</p>

<p><b>Fonts in GIFs: The Old Way</b><br />
The typical solution is to create your titles and nav buttons in Photoshop, then cut GIF images for placement in the web page.  This lets you use any font face you desire, ensures that things look exactly the same in all browsers, and takes an extraordinary amount of extra effort.</p>

<p>If you want to put slick looking titles on your blog posts, this method will probably have you in a big white coat with extra long sleeves before a month is up.  Even worse&mdash;hey, some of us look good in white&mdash;if you're using images for navigation or titles, the text isn't selectable, it isn't search friendly, and it's probably a nuisance for people who use screen readers to navigate your site.</p>

<p><b>sIFR: The Better Way</b><br />
sIFR is a little Flash/CSS/Javascript hack created by Shaun Inman and maintained by Mike Davidson and Mark Wubben.  It uses Flash's font-embedding and rendering capabilities to place whatever typography you like in your site.  What makes it different from the GIF method is that you develop your site with plain-ol' HTML, apply normal CSS classes, and if your browser supports Javascript and Flash, sIFR replaces the text on page-load with the desired typeface.</p>

<blockquote>sIFR is meant to replace short passages of plain browser text with text rendered in your typeface of choice, regardless of whether or not your users have that font installed on their systems. It accomplishes this by using a combination of javascript, CSS, and Flash. Here is the entire process:

<ol><li>A normal (X)HTML page is loaded into the browser.</li><li>A javascript function is run which first checks that Flash is installed and then looks for whatever tags, ids, or classes you designate.</li><li>If Flash isn't installed (or obviously if javascript is turned off), the (X)HTML page displays as normal and nothing further occurs. If Flash is installed, javascript traverses through the source of your page measuring each element you've designated as something you'd like "sIFRed".</li><li>Once measured, the script creates Flash movies of the same dimensions and overlays them on top of the original elements, pumping the original browser text in as a Flash variable.</li><li>Actionscript inside of each Flash file then draws that text in your chosen typeface at a 6 point size and scales it up until it fits snugly inside the Flash movie.</li></ol></blockquote>

<p>Essentially, you can have the titles on your site render in any font you like by just adding a few lines of Javascript to the page template.  Search engines and screen readers will still see normal HTML text, you can still use traditional fonts in your CSS classes so that it degrades gracefully on unsupported browsers, and the other 95% of browsers out there will render your site exactly as you designed it, regardless of platform.  Oh, and you can select your fancy text too.</p>

<p>Seriously?  Flash can used to improve web design _and_ promote web standards, accessibility, and indexability... This has been available for a couple of years, but I'm still left scratching my head.</p>

<p><b>Links:</b><br />
Rich Accessible Typography for the Masses - <a href="http://www.mikeindustries.com/sifr">Link</a><br />
Download sIFR - <a href="http://www.mikeindustries.com/blog/files/sifr/2.0/sIFR2.0.2.zip">Link</a><br />
sIFR Wiki Documentation - <a href="http://wiki.novemberborn.net/sifr/">Link</a><br />
sIFR Example Page - <a href="http://www.mikeindustries.com/blog/files/sifr/2.0/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/11/howto_use_rich_fonts_in_your_w.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/11/howto_use_rich_fonts_in_your_w.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/11/howto_use_rich_fonts_in_your_w.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/11/howto_use_rich_fonts_in_your_w.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Fri, 09 Nov 2007 20:41:12 -0800</pubDate>

</item>

<item>
<title>Open Source Seam Carving</title>
<itunes:summary> For those of you who didn&apos;t catch our previous post about seam carving, it&apos;s a smart image resizing algorithm, invented by Dr. Ariel Shamir and Dr. Shai Avidan. Where you would normally have to choose between cropping or squeezing/stretching...</itunes:summary>
<description>
<![CDATA[<p><img alt="seamcarving_20070918.jpg" src="http://hackszine.com/seamcarving_20070918.jpg" width="500" height="696" /></p>

<p>For those of you who didn't catch our previous post about seam carving, it's a smart image resizing algorithm, invented by Dr. Ariel Shamir and Dr. Shai Avidan.  Where you would normally have to choose between cropping or squeezing/stretching an image to change its aspect ratio, the seam carving method will attempt to find horizontal or vertical paths within the image that can be removed without altering "important" parts of the image, such as people or other objects that would look funny if squished.</p>

<p>There are now a couple of open source Actionscript implementations as well as a GIMP plugin that enable you to "liquid rescale" your photos.</p>

<p>I'm thinking that with a few simple tweaks, you could hack one of the Flash versions load a user-specified JPG or PNG and provide an interface for adjusting the image.  It'd just be a simple matter of doing a screen capture to pull the result back into the image editor of your choice.</p>

<p>There's also a Photoshop plugin that claims to do this, but it's closed source, unavailable for macs, and the test version doesn't work for images larger than 640x480.  To that I say, "Phtfphpht," but I've included a link in case you are interested.  To be fair, it's probably cool... I'm just more excited to see the open source versions surfacing.</p>

<p><b>References:</b><br />
GIMP Liquid Rescale (lqr) plugin - <a href="http://registry.gimp.org/plugin?id=10292">Link</a><br />
Content-aware image resizing in Actionscript (Joa Ebert's original source) - <a href="http://blog.je2050.de/2007/09/02/content-aware-image-resizing/">Link</a><br />
Seam carving in Actionscript (Mario Klingemann's optimizations) - <a href="http://www.quasimondo.com/archives/000652.php">Link</a><br />
Pictual: Photoshop plugin for smart resizing - <a href="http://picutel.com/">Link</a><br />
Seam carving: content-aware image resizing - <a href="http://www.hackszine.com/blog/archive/2007/08/seam_carving_contentaware_imag.html">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/09/open_source_seam_carving.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/09/open_source_seam_carving.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/09/open_source_seam_carving.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/09/open_source_seam_carving.html?CMP=OTC-7G2N43923558</guid>
<category>Photography</category>
<pubDate>Tue, 18 Sep 2007 20:32:46 -0800</pubDate>

</item>

<item>
<title>HOWTO use the Wiimote buttons in Flash</title>
<itunes:summary> A while back, WiiNintendo posted the keycodes that are detectable by Javascript when the Wii&apos;s buttons are pressed. With this ability, you can create Javascript games that will play on your Wii. Unfortunately, even though the Wii browser ships...</itunes:summary>
<description>
<![CDATA[<p><img alt="wiimote_20070620-1.jpg" src="http://hackszine.com/wiimote_20070620-1.jpg" width="500" height="381" /><br />
A while back, WiiNintendo posted the keycodes that are detectable by Javascript when the Wii's buttons are pressed.  With this ability, you can create Javascript games that will play on your Wii.  Unfortunately, even though the Wii browser ships with the Flash plugin, those keycodes cannot be detected natively in the Flash environment.</p>

<p>Quasimondo came up with a really clever hack that solves the problem.  You can create a second flash movie and use Javascript to resize it to specific widths for particular keycodes.  Even though Flash cannot detect the keycodes, it does receive an onResize event.  When it receives this event, it then retrieves its current width, which was set to the value of the keycode.  This second swf file can then use Flash's LocalConnection to communicate that value to the primary swf.</p>

<p>How to Make the Wiimote Work in Flash - <a href="http://www.quasimondo.com/archives/000638.php">Link</a><br />
Aral Balkan's discussion on using the Wiimote in Flash - <a href="http://aralbalkan.com/825">Link</a><br />
Wiimote Key Codes @ WiiNintendo - <a href="http://wiinintendo.net/2006/12/27/wiimote-d-pad-works-in-javascript-or-flash-games/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/06/howto_use_the_wiimote_buttons.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/06/howto_use_the_wiimote_buttons.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/06/howto_use_the_wiimote_buttons.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/06/howto_use_the_wiimote_buttons.html?CMP=OTC-7G2N43923558</guid>
<category>Gaming</category>
<pubDate>Wed, 20 Jun 2007 20:24:32 -0800</pubDate>

</item>

<item>
<title>Dynamic Abstraction: computer generated art with Actionscript</title>
<itunes:summary> Understatement: Joshua Davis creates some really incredible artwork in Flash. By combining vector primitives, a carefully chosen color pallete, some deterministic rules, and pinch of random(), the images are generated in Actionscript at runtime. Each time the software is...</itunes:summary>
<description>
<![CDATA[<p><img alt="joshuadavis_20070619.jpg" src="http://hackszine.com/joshuadavis_20070619.jpg" width="500" height="653" /></p>

<p>Understatement: Joshua Davis creates some really incredible artwork in Flash.</p>

<p>By combining vector primitives, a carefully chosen color pallete, some deterministic rules, and pinch of random(), the images are generated in Actionscript at runtime.  Each time the software is executed, a unique image is created, though it maintains the same guiding principles of other iterations of the same series.</p>

<p>You can download the source for a number of very discrete examples.  Tweak and experiment with his code.  It's a nice set of building blocks for creating your own dynamic artwork.</p>

<p>Dynamic Abstraction: examples and source code - <a href="http://workshop.joshuadavis.com/">Link</a><br />
Joshua Davis' blog - <a href="http://diary.joshuadavis.com/">Link</a></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/06/dynamic_abstraction_computer_g.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/06/dynamic_abstraction_computer_g.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/06/dynamic_abstraction_computer_g.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/06/dynamic_abstraction_computer_g.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Tue, 19 Jun 2007 19:42:58 -0800</pubDate>

</item>

<item>
<title>Transfer and edit your Mii files</title>
<itunes:summary> Mii Editor is a cool flash application that can edit and save Mii binary files. You can transfer your Mii to and from the Wiimote with MiiTransfer, edit it with the Mii Editor, or take screenshots and share your...</itunes:summary>
<description>
<![CDATA[<p><img alt="miieditor_20070504.jpg" src="http://hackszine.com/miieditor_20070504.jpg" width="500" height="375" /><br />
Mii Editor is a cool flash application that can edit and save Mii binary files.  You can transfer your Mii to and from the Wiimote with MiiTransfer, edit it with the Mii Editor, or take screenshots and share your Mii file with friends.</p>

<p><b>Resources:</b><br />
<ul><li><a href="http://www.miieditor.com/">Mii Editor</a></li><li><a href="http://sourceforge.net/projects/wdml/">Wiimote data transfer library</a> (includes MiiTransfer utility)</li><li><a href="http://www.wiibrew.org/index.php?title=Wiimote/Mii_Data#Utilities_and_Libraries">Detailed info on the Mii data format</a></li><li><a href="http://www.miieditor.com/?mii=042a005400680065004d006900690045006400740072642500000001c200000140007d60a940a8b144ad484062807c90006b088a2504004d0069006900200045006400690074006f0072">My Mii</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/transfer_and_edit_your_mii_fil.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/05/transfer_and_edit_your_mii_fil.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/05/transfer_and_edit_your_mii_fil.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/05/transfer_and_edit_your_mii_fil.html?CMP=OTC-7G2N43923558</guid>
<category>Gaming</category>
<pubDate>Fri, 04 May 2007 20:32:27 -0800</pubDate>

</item>

<item>
<title>Loading 3D Model Data In Flash At Runtime</title>
<itunes:summary> I was working on a small 3D flash program today and wanted it to read in it&apos;s model data from a file that I created with another program, such as Blender. I&apos;m not sure if it&apos;s the best way...</itunes:summary>
<description>
<![CDATA[<p><img alt="blender_20070312.jpg" src="http://hackszine.com/blender_20070312.jpg" width="500" height="264" /><br />
I was working on a small 3D flash program today and wanted it to read in it's model data from a file that I created with another program, such as Blender.  I'm not sure if it's the best way to do things, but it was fairly painless to export the model data to a plaintext VRML file and then convert the mesh data to a simple XML format.  It's trivial to read in XML data in Flash, so this saves having to parse a more feature-rich 3D file format.</p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/loading_3d_model_data_in_flash.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/03/loading_3d_model_data_in_flash.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/03/loading_3d_model_data_in_flash.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/03/loading_3d_model_data_in_flash.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Mon, 12 Mar 2007 17:51:55 -0800</pubDate>

</item>

<item>
<title>Play Flash Lite 2.1 Content On Your Device</title>
<itunes:summary> If you have an older Symbian or Windows Mobile device, it probably either came with support for Flash Lite 1, or no Flash support at all, whereas the newer devices are starting to be available with support for Flash...</itunes:summary>
<description>
<![CDATA[<p><img alt="flashlite_20070213.jpg" src="http://www.hackszine.com/blog/archive/flashlite_20070213.jpg" width="500" height="122" /><br />
If you have an older Symbian or Windows Mobile device, it probably either came with support for Flash Lite 1, or no Flash support at all, whereas the newer devices are starting to be available with support for Flash Lite 2 content, which will allow developers to make use of more advanced programming features, not the least of which are functions.  I suspect that this is going to motivate a lot more cross-platform application development for mobile devices, especially in the hobby and open source world where code signing costs and fragmented SDKs are a pretty significant barrier to entry.</p>

<p>Thankfully, last December Adobe released free end-user Flash Lite 2.1 installers for both Symbian series 60 and Windows Mobile platforms.  So if you don't have the most recent hardware, you can perform a quick upgrade and extend the usable life of your device.  For thos of you who are interested in developing Flash apps for devices, Adobe's dev center also has some decent starter howtos on the subject.</p>

<p>I'd love to get your opinions on mobile development.  So if you have any thoughts on the subject or know of any good open source tools, guides or resources, please share them in the comments!</p>

<p><b>References:</b><br />
<ul><li><a href="http://www.adobe.com/devnet/devices/pocket_pc.html">Flash Lite 2.1 for Windows Mobile</a></li><li><a href="http://www.adobe.com/devnet/devices/nokia.html">Flash Lite for Nokia/Symbian S60</a></li><li><a href="http://www.adobe.com/devnet/devices/flashlite.html">Adobe's Flash Lite dev center</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/play_flash_lite_21_content_on.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/play_flash_lite_21_content_on.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/02/play_flash_lite_21_content_on.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/02/play_flash_lite_21_content_on.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Tue, 13 Feb 2007 22:03:32 -0800</pubDate>

</item>

<item>
<title>Howto: Download Youtube and Google Videos</title>
<itunes:summary> Sometimes you want to save the videos that you watch on Youtube or Google Video. Perhaps you want to watch them later. Maybe you are hoping to transcode a video for playback on a mobile device. Or maybe you...</itunes:summary>
<description>
<![CDATA[<p><img alt="flvdownload_20070208.jpg" src="http://www.hackszine.com/blog/archive/flvdownload_20070208.jpg" width="491" height="334" /><br />
Sometimes you want to save the videos that you watch on Youtube or Google Video.  Perhaps you want to watch them later.  Maybe you are hoping to transcode a video for playback on a mobile device.  Or maybe you want to edit a clip into a podcast you are making.  Problem is, you can only download a subset of the videos from Google and Youtube doesn't even have a download feature.</p>

<p>There are a few different ways to get at the FLV file that the video player application is downloading.  Safari users can use the Window-&gt;Activities feature to locate and download flv files as they are playing, and Joshua Kinberg put together a couple nice Greasemonkey scripts for Firefox that make downloading pretty simple.</p>

<p>I was looking for an easy solution that works cross-browser, and this is what's working for me: 2 javascript URLs, based on the original code from Joshua's Greasemonkey scripts, that you can add to your bookmarks list.</p>

<p>Google Video Download Bookmark (right-click, copy address and save to bookmarks)<br />
<a href="javascript:window.open(unescape(document.getElementById('VideoPlayback').src.match(/videoUrl=([^$)]*)/)[1]));">Download Google Video</a></p>

<p>Youtube Download Bookmark (right-click, copy address and save to bookmarks)<br />
<a href="javascript:window.open('http://youtube.com/get_video?video_id='+window.location.href.split('?')[1].match(/v=([^(\&|$)]*)/)[1]+'&t='+document.getElementById('movie_player').src.match(/t=([^(\&|$)]*)/)[1]);">Download Youtube Video</a></p>

<p>Don't click on those URLs here.  Just get them into your browser's bookmarks.  The next time you are watching a video on Google Video or Youtube, you can click the appropriate bookmark and a window will pop up that will begin downloading the FLV!  The Youtube file will be named "get_video" after it is downloaded.  Just rename it and add a ".flv" extension and you should be in good shape.</p>

<p><b>Related:</b><br />
<ul><li><a href="http://www.videolan.org/vlc/">VLC - Video Lan Client</a> (plays flvs nicely and it's cross-platform)</li><li><a href="http://www.joshkinberg.com/blog/archives/2005/11/greased_google.php">Youtube and Google Video Greasemonkey scripts for Firefox</a></li></ul></p>]]>
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/howto_download_youtube_and_goo.html?CMP=OTC-7G2N43923558" /&gt;Read More&lt;/a&gt;]  
[&lt;a href="http://www.hackszine.com/blog/archive/2007/02/howto_download_youtube_and_goo.html?CMP=OTC-7G2N43923558#comments" /&gt;Comments&lt;/a&gt;]
</description>
<link>http://www.hackszine.com/blog/archive/2007/02/howto_download_youtube_and_goo.html?CMP=OTC-7G2N43923558</link>
<guid>http://www.hackszine.com/blog/archive/2007/02/howto_download_youtube_and_goo.html?CMP=OTC-7G2N43923558</guid>
<category>Flash</category>
<pubDate>Wed, 07 Feb 2007 22:27:24 -0800</pubDate>

</item>


</channel>
</rss>