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

<channel>
	<title>notebook</title>
	<atom:link href="http://www.lamberta.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lamberta.org/blog</link>
	<description>Just Playin' Around.</description>
	<pubDate>Fri, 21 Nov 2008 05:51:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Joy is an Insufferable Strain of Control</title>
		<link>http://www.lamberta.org/blog/joy-is-an-insufferable-strain-of-control/</link>
		<comments>http://www.lamberta.org/blog/joy-is-an-insufferable-strain-of-control/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 00:47:09 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=160</guid>
		<description><![CDATA[
Typographic demo combining physics and 3D. A creative variation on the Papervision3D/Box2D method I demonstrated here.
]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 0em"><a href="http://www.lamberta.org/demo/pv3d/joyStrain/"  target="_blank"><img src="http://www.lamberta.org/blog/wp-content/uploads/2008/10/joystrain.jpg" alt="link to joyStrain demo"/></a></p>
<p style="text-indent: 1em">Typographic <a href="http://www.lamberta.org/demo/pv3d/joyStrain/"  target="_blank">demo</a> combining physics and 3D. A creative variation on the Papervision3D/Box2D method I demonstrated <a href="http://www.lamberta.org/blog/paperbox2d/" >here</a>.</></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/joy-is-an-insufferable-strain-of-control/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Papervision3D + Box2D</title>
		<link>http://www.lamberta.org/blog/paperbox2d/</link>
		<comments>http://www.lamberta.org/blog/paperbox2d/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 00:24:52 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=147</guid>
		<description><![CDATA[
In a recent project I wanted to incorporate some physics with a 3D environment. I decided on Box2DFlash (a port of Box2D), which is a great engine even if the syntax is a little awkward for an Actionscript 3&#160;library.
See the PaperBox2D demo, and the source is available (or right-click on the demo). Hit the &#8216;d&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent:0em"><a href="http://www.lamberta.org/demo/pv3d/paperbox2d/"  target="_blank"><img src="http://www.lamberta.org/blog/wp-content/uploads/2008/10/paperbox2d.jpg" alt="PaperBox2D image" /></a></p>
<p style="text-indent:1em">In a recent project I wanted to incorporate some physics with a 3D environment. I decided on <a href="http://box2dflash.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/box2dflash.sourceforge.net');">Box2DFlash</a> (a port of <a href="http://www.box2d.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.box2d.org');">Box2D</a>), which is a great engine even if the syntax is a little awkward for an Actionscript 3&nbsp;library.</p>
<p style="text-indent:1em">See the <a href="http://www.lamberta.org/demo/pv3d/paperbox2d/"  target="_blank">PaperBox2D demo</a>, and the <a href="http://www.lamberta.org/demo/pv3d/paperbox2d/srcview/"  target="_blank">source is available</a> (or right-click on the demo). Hit the &#8216;d&#8217; button during the simulation to toggle the debug regions for the 2d calculations and see how they are mapped to the objects in 3d&nbsp;space.</p>
<p><br/></p>
<p style="text-indent:0em"><em>Updated 11.20.08, recent api changes in&nbsp;Box2DFlash.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/paperbox2d/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Type Around the Neighborhood</title>
		<link>http://www.lamberta.org/blog/type-around-the-neighborhood/</link>
		<comments>http://www.lamberta.org/blog/type-around-the-neighborhood/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 00:47:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[General]]></category>

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

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

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=134</guid>
		<description><![CDATA[
I brought my camera along for my daily constitutional and decided to take in some of the local signage. Gill Sans (aka &#8220;England&#8217;s Helvetica&#8221;) seems to be a popular typeface around Buffalo, which is fine but can be a bit tiresome. Kinda like a girl you had a fling with once and for some reason [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 1em">
I brought my camera along for my daily constitutional and decided to take in some of the local signage. Gill Sans (aka &#8220;England&#8217;s Helvetica&#8221;) seems to be a popular typeface around Buffalo, which is fine but can be a bit tiresome. Kinda like a girl you had a fling with once and for some reason keeps popping up&thinsp;&#8212;&thinsp;you don&#8217;t really regret anything, but you&#8217;d rather try something&nbsp;else.</p>
<p style="text-indent: 0em">
<a href="http://www.flickr.com/photos/billy2/2882958401/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3188/2882958401_c499874441.jpg" width="450"/></a></p>
<p><span id="more-134"></span></p>
<p style="text-indent: 0em">
<a href="http://www.flickr.com/photos/billy2/2882958405/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3210/2882958405_145b981727_o.jpg" width="450" /></a></p>
<p style="text-indent: 0em">
<a href="http://www.flickr.com/photos/billy2/2882958411/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3285/2882958411_99c17b08f2.jpg" width="450"/></a></p>
<p style="text-indent: 0em">
<a href="http://www.flickr.com/photos/billy2/2882958413/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3063/2882958413_5cf7e39671.jpg" width="450"/></a></p>
<p style="text-indent: 0em">
<a href="http://www.flickr.com/photos/billy2/2882958421/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3141/2882958421_b7f5082c20_o.jpg" width="450"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/type-around-the-neighborhood/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Better Bend Than Break</title>
		<link>http://www.lamberta.org/blog/better-bend-than-break/</link>
		<comments>http://www.lamberta.org/blog/better-bend-than-break/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 20:58:57 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=128</guid>
		<description><![CDATA[


Another Papervision3D demo, this time using VectorVision and the AS3Dmod libraries to manipulate a vector image. Source code is&#160;available.
]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 0em">
<a href="http://www.lamberta.org/demo/pv3d/betterBend/" ><img src="http://www.lamberta.org/blog/wp-content/uploads/2008/09/betterbend.jpg" alt="Better bend than break." width="450"/></a></p>
<p style="text-indent: 1em">
Another <a href="http://code.google.com/p/papervision3d/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">Papervision3D</a> demo, <a href="http://www.lamberta.org/demo/pv3d/betterBend/" >this time</a> using <a href="http://code.google.com/p/vectorvision/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">VectorVision</a> and the <a href="http://code.google.com/p/as3dmod/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">AS3Dmod</a> libraries to manipulate a vector image. <a href="http://www.lamberta.org/demo/pv3d/betterBend/VectorBend.as"  onclick="javascript: pageTracker._trackPageview('/downloads/VectorBend.as'); ">Source code is&nbsp;available</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/better-bend-than-break/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Arrive</title>
		<link>http://www.lamberta.org/blog/arrive/</link>
		<comments>http://www.lamberta.org/blog/arrive/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 18:19:19 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=115</guid>
		<description><![CDATA[
Hmm, I need to update this blog&#160;more.

Well I just finished a little interactive demo using Actionscript 3, Papervision3D, and some models I created in Maya. I used a song by Ehma who in his infinite wisdom released the music on Jamendo. I suggest you to check it out, it&#8217;s&#160;nice!
]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 0em"><a href="http://www.lamberta.org/demo/pv3d/arrive/" ><img src="http://farm4.static.flickr.com/3010/2857920435_042d1071a2_o.jpg" width="450"></a></p>
<p style="text-indent: 0em">Hmm, I need to update this blog&nbsp;more.</p>
<p style="text-indent: 1em">
Well I just finished a little <a href="http://www.lamberta.org/demo/pv3d/arrive/" >interactive demo</a> using Actionscript 3, Papervision3D, and some models I created in Maya. I used a song by <a href="http://blane-est.net/ehma/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blane-est.net');">Ehma</a> who in his infinite wisdom released <a href="http://www.jamendo.com/en/artist/ehma" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.jamendo.com');">the music on Jamendo</a>. I suggest you to check it out, it&#8217;s&nbsp;nice!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/arrive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>One PaperKing to Rule Them All</title>
		<link>http://www.lamberta.org/blog/see-invisible-demo/</link>
		<comments>http://www.lamberta.org/blog/see-invisible-demo/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 03:08:52 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=67</guid>
		<description><![CDATA[
The Papervision3D guys are running a nice little contest for the title of &#8220;PaperKing3D&#8221;. I thought this would be good chance to show an example of some of the recent stuff I&#8217;ve been working on. Here&#8217;s the demo, and here&#8217;s the source&#160;code.

Read on for more detail about the code and some of the inspiration.




First a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 0em"><a href="http://www.lamberta.org/demo/pv3d/seeinvisible/"  target="_blank"><img src="http://www.lamberta.org/blog/wp-content/uploads/2008/08/seeinvisscreen.jpg" alt="See the Invisible screenshot" /></a></p>
<p style="text-indent: 1em">The Papervision3D guys are running a nice <a href="http://blog.papervision3d.org/2008/07/02/paperking3d-the-papervision3d-contest/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.papervision3d.org');" target="_blank">little contest</a> for the title of &#8220;PaperKing3D&#8221;. I thought this would be good chance to show an example of some of the recent stuff I&#8217;ve been working on. Here&#8217;s <a href="http://www.lamberta.org/demo/pv3d/seeinvisible/"  target="_blank">the demo</a>, and here&#8217;s <a href="http://www.lamberta.org/demo/pv3d/seeinvisible/SeeInvisible.as"  target="_blank" onclick="javascript: pageTracker._trackPageview('/downloads/SeeInvisible.as'); ">the source&nbsp;code</a>.</p>
<p><br/></p>
<p style="text-indent: 0em">Read on for more detail about the code and some of the inspiration.<br />
<span id="more-67"></span>
</p>
<p><br/></p>
<p style="text-indent: 1em">
First a word on the inspiration. I come from a photography background so it shouldn&#8217;t come as much surprise that in my design work I tend to think of things like a photographer&thinsp;&#8212;&thinsp;using space, composition, and cameras. This is why engines such as Papervision3D are exciting to me; they give me a chance to combine all of my interests in photography, graphic design, and programming into one medium. There are also a lot of parallels between programming and photography, namely that they are both fairly technical and require a bit of pre-visualization. The majority of your effort is spent constructing an implementation towards that imaginary goal&thinsp;&#8212;&thinsp;manipulating code very much like manipulating light to achieve a photograph. So with those similarities in mind I wanted to highlight the use of light in this demo. I also began thinking of the physical design of cameras themselves and some of the old classics. It almost seems silly that the machine designed to create art becomes a work of art itself, but this happens with code as well. Things of such complexity can be studied and studied creating their own following. So looking around flickr for old cameras I came across a picture of this little&nbsp;gem&#8230;</p>
<p style="text-indent: 0em"><img src="http://www.lamberta.org/blog/wp-content/uploads/2008/08/kodakgift.jpg" alt="Gift Kodak No. 1A" /></p>
<p style="text-indent: 1em">
One of Walter Dorwin Teague&#8217;s modernist designs for the &#8220;Gift No. 1A&#8221; during his time at Kodak (a Western New York icon btw). Quite the sporty little accessory to have around your neck in the early 1930&#8217;s. This became a good place to start laying out the scene&#8217;s look and&nbsp;structure.</p>
<p><br/></p>
<h2>The&nbsp;Code</h2>
<p style="text-indent: 1em">
More than likely you&#8217;re visiting this page and could probably care less about any background inspiration and want to see how the example works. As I mentioned before, <a href="http://www.lamberta.org/demo/pv3d/seeinvisible/SeeInvisible.as"  target="_blank" onclick="javascript: pageTracker._trackPageview('/downloads/SeeInvisible.as'); ">the source code</a> is available so I won&#8217;t go through everything, but just highlight some of the more trickier&nbsp;issues.</p>
<p style="text-indent: 1em">
In a nutshell this scene is just a collada model that I exported from Maya and baked textures onto. Papervision is a fantastic 3D engine but since we are working in a browser with Flash we are very limited by what a software renderer can do. With that in mind we have to create a very low-poly mesh and reduce our triangles count as much as we can. (Pop quiz, what do 3D modeling and type design have in common? Both require that you achieve the maximum expression of a shape with a minimum amount of points.) But, and this is a big but, when modeling the ground and wall planes you&#8217;ll be tempted to get rid of all the extra polygons&thinsp;&#8212;&thinsp;this is a mistake. We need those extra polys to hold the texture position correctly. [If we didn&#8217;t we could turn on precision for the material, but that would slow everything up.] So you may want to do some experimenting with count versus performance, I found a 10 x 10 plane to be a satisfactory&nbsp;compromise.</p>
<p style="text-indent: 1em">
Another concern in the modeling stage is how the objects are grouped. Before you export your model be sure to combine the meshes you want as one texture and give it an easy name to remember (simply grouping the objects is not enough). This will make it more convenient when assigning your model parts to separate viewport layers later on. Apply a simple lambert shader to the objects and change the shaders name, it&#8217;ll be quicker to locate when you&#8217;re searching through the collada xml&nbsp;later.</p>
<p style="text-indent: 1em">
Model, light, render, bake, and export your textures as you normally would. Make sure your models have been <span class="caps">UV</span> mapped and keep in mind your textures should be 512 x 512 (1024 if you really need it) for performance&nbsp;reasons.</p>
<p style="text-indent: 1em">
When loading the images as materials you&#8217;ll need to replace the shader name that it&#8217;s given within the collada xml. Doing a search for &#8220;instance_material&#8221; will give you something that looks&nbsp;like:</p>
<p><br/></p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;">&lt;instance_material symbol=&quot;lambert1SG&quot; target=&quot;#myShaderName&quot;/&gt;</pre></div></div>

<p style="text-indent: 0em">You&#8217;ll be looking for the symbol name that we&#8217;ll add to the material list so we can swap in our&nbsp;texture:</p>
<p><br/></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//create material list</span>
<span style="color: #000000; font-weight: bold;">var</span> matList:MaterialsList = <span style="color: #000000; font-weight: bold;">new</span> MaterialsList<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//convert to a bitmap</span>
<span style="color: #000000; font-weight: bold;">var</span> textureBitmap:Bitmap = <span style="color: #000000; font-weight: bold;">new</span> myTexture<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> as Bitmap;
<span style="color: #808080; font-style: italic;">//now swap our bitmap material into the shader name that we found in the collada</span>
matList.<span style="color: #006600;">addMaterial</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> BitmapMaterial<span style="color: #66cc66;">&#40;</span>textureBitmap.<span style="color: #006600;">bitmapData</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">&quot;lambert1SG&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//once you have your collada loaded then apply the material list</span>
model.<span style="color: #006600;">materials</span> = matList;</pre></div></div>

<p style="text-indent: 1em">
Now we still may get flickering polys with the model and the ground plane. This is a z-sorting issue that we can fix by using Papervision&#8217;s ViewportLayers. Andy Zupko has a <a href="http://blog.zupko.info/?p=129" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.zupko.info');" target="_blank">much better explanation</a> of using them with effects so I won&#8217;t repeat that, I&#8217;ll just show the relevant parts in my&nbsp;code:</p>
<p><br/></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;">viewport.<span style="color: #006600;">getChildLayer</span><span style="color: #66cc66;">&#40;</span>model.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;floor&quot;</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> wordLayer:ViewportLayer = viewport.<span style="color: #006600;">getChildLayer</span><span style="color: #66cc66;">&#40;</span>model.<span style="color: #006600;">getChildByName</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;words&quot;</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
wordLayer.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0.8</span>;</pre></div></div>

<p style="text-indent: 0em">
The names &#8220;floor&#8221; and &#8220;words&#8221; are the names I gave the objects when I combined their meshes earlier. Since in my demo I wanted to simulate caustics I needed to make the model a little transparent. Since you can&#8217;t adjust the alpha of a BitmapMaterial I added the model to a separate viewport layer and adjusted it&#8217;s transparency there. And since both the floor and the words are being rendered on separate layers we can eliminate the&nbsp;&#8220;z-fighting&#8221;.</p>
<p style="text-indent: 1em">
Well I hope that helps someone. The Papervision team are doing a fantastic job but you&#8217;ll need to help yourself as well. It&#8217;s up to careful modeling and texture optimization that will give you the biggest performance&nbsp;gains.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/see-invisible-demo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Few Post-Panel Thoughts on Web Fonts</title>
		<link>http://www.lamberta.org/blog/typecon-thoughts-on-web-fonts/</link>
		<comments>http://www.lamberta.org/blog/typecon-thoughts-on-web-fonts/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 14:55:32 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=61</guid>
		<description><![CDATA[There was a lively panel discussion at TypeCon 2008 on the issue of embedded fonts on the web [an overview can be found here]. A pretty controversial subject because there are 2 problems that need to be solved&#8201;&#8212;&#8201;the web designer&#8217;s desire to use typography, and the type designer&#8217;s desire to be paid for their work. [...]]]></description>
			<content:encoded><![CDATA[<p>There was a lively panel discussion at <a href="http://www.typecon.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.typecon.com');">TypeCon 2008</a> on the issue of embedded fonts on the web [an overview can be found <a href="http://typophile.com/node/47629" onclick="javascript:pageTracker._trackPageview('/outbound/article/typophile.com');">here</a>]. A pretty controversial subject because there are 2 problems that need to be solved&thinsp;&#8212;&thinsp;the web designer&#8217;s desire to use typography, and the type designer&#8217;s desire to be paid for their work. However these are not technical problems, like every other content provider coming to grips with modern computing the questions are not &#8220;how can we do it&#8221;, but have rather become &#8220;how do we prevent the piracy of our work.&#8221;<br />
<span id="more-61"></span></p>
<p style="text-indent: 1em">A number of solutions were discussed, notable was the announcement of Ascender Corp.&#8217;s <a href="http://www.fontembedding.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fontembedding.com');">FontEmbedding.com</a> and Ted Harrison&#8217;s (of FontLab) <a href="http://www.eeulaa.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.eeulaa.org');"><span class="caps">EEULAA</span></a>. Unfortunately the current wave of discussion seems to be following the music industries failed attempts at Digital Rights Management (<span class="caps">DRM</span>). I say failed, as previous attempts have been, but what I mean is fundamentally flawed. The premise being that you can control what someone&#8217;s remote machine reads and stores, but the technical reality is that only someone with physical access (with applicable knowledge) has the capacity for absolute dominion over the machine. Or to try and apply it more succinctly to the world of fonts&thinsp;&#8212;&thinsp;if my eyes can see the typeface on the screen, the computer can also see the typeface. If the computer can see it, it can scrape it, produce outlines, look up a kerning table and write it out to a different name. All of which may even be legal because you cannot currently copyright a letter form, only the &#8220;software package&#8221; it comes bundled in. There is no format that can overcome this, just like in the &#8220;real world&#8221; where you cannot stop someone from cutting out letters in a magazine and creating new&nbsp;words.</p>
<p>But to me it seems there is a difference between music, which is format based, and with something like fonts, which is more application based. Let&#8217;s say we look a little more upstream to where designers are actually making choices and making typeface decisions. The vast majority are using applications like InDesign, Illustrator, Flash, Photoshop, etc, in short Adobe. So my question is, if Adobe, or any large application developer is effectively acting as a host system for interaction with copyrighted material, don&#8217;t they have a certain obligation to restrict offending material? If YouTube gets a complaint about a video infringing on copyright they take it down. MySpace has certain systems in place that will prevent you from uploading a song that matches the metrics of a known song, can&#8217;t such a measure be implemented by Adobe? What if there was a look-up system where they could evaluate the metrics of a particular font being used against those listed in a licensed based registry? Even if they did not want to go that route with enforcement, would they not also be in a better position to gauge usage statistics? They could effectively become the primary means of distribution, payment, and royalties&thinsp;&#8212;&thinsp;effectively becoming what iTunes is to&nbsp;music.</p>
<p>Of course this is not a perfect system, there will continue to be technical paths around this.  But if you are looking at ways to stop the &#8220;casual&#8221; pirate then I think looking upstream at the choke points is a better philosophy then trying to use your finger to plug all the leaks that sprout up. You&#8217;re going to have offenders, but the question should be how do I make the best out of the current situation by making the most money off regular customers without restricting and alienating&nbsp;them?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/typecon-thoughts-on-web-fonts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Website Update</title>
		<link>http://www.lamberta.org/blog/website-update/</link>
		<comments>http://www.lamberta.org/blog/website-update/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 21:00:48 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=54</guid>
		<description><![CDATA[The main page has been updated&#8201;&#8212;&#8201;click around, break things, and please send me any errors you&#160;find.
There has been a &#8220;temporary&#8221; page up for the past week in a mad rush to have something done by TypeCon2008. It was functional and highlighted some of the skills I&#8217;m trying to showcase. But now that I&#8217;ve had another [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.lamberta.org" >main page</a> has been updated&thinsp;&#8212;&thinsp;click around, break things, and please send me any errors you&nbsp;find.</p>
<p>There has been a &#8220;temporary&#8221; page up for the past week in a mad rush to have something done by <a href="http://www.typecon.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.typecon.com');">TypeCon2008</a>. It was functional and highlighted some of the skills I&#8217;m trying to showcase. But now that I&#8217;ve had another week I&#8217;ve reworked the design and interactive code which I think makes it a bit more interesting. It&#8217;s definitely a bit hard on the ole&#8217; cpu but I&#8217;ve tried to optimize where possible, and really it&#8217;s not a site that&#8217;s designed to be accessible to everyone on every&nbsp;browser.</p>
<p>I&#8217;m going to be adding new stuff to the &#8220;portfolio&#8221; as I get I can. It&#8217;s mostly photography and motion videos at this point but more Flash stuff is in the works. Questions, comments, work?&nbsp;Holla.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/website-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Goodbye Randy</title>
		<link>http://www.lamberta.org/blog/goodbye-randy/</link>
		<comments>http://www.lamberta.org/blog/goodbye-randy/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 17:37:34 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=52</guid>
		<description><![CDATA[Randy Pausch died today. He&#8217;s known more widely as the professor who gave the &#8220;Last Lecture&#8221;, but I highly recommend his &#8220;Time Management&#8221; talk&#8201;&#8212;&#8201;it really has changed the way I look at my own work and practical advice for how to get things&#160;done.
Though more importantly to me has been his work at Carnegie-Mellon with human-computer [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cs.cmu.edu/~pausch/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cs.cmu.edu');">Randy Pausch</a> died today. He&#8217;s known more widely as the professor who gave the &#8220;<a href="http://tw.youtube.com/watch?v=ji5_MqicxSo" onclick="javascript:pageTracker._trackPageview('/outbound/article/tw.youtube.com');">Last Lecture</a>&#8221;, but I highly recommend his &#8220;<a href="http://tw.youtube.com/watch?v=oTugjssqOT0" onclick="javascript:pageTracker._trackPageview('/outbound/article/tw.youtube.com');">Time Management</a>&#8221; talk&thinsp;&#8212;&thinsp;it really has changed the way I look at my own work and practical advice for how to get things&nbsp;done.</p>
<p>Though more importantly to me has been his work at Carnegie-Mellon with human-computer interaction and <a href="http://www.etc.cmu.edu/bvw/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.etc.cmu.edu');">Building Virtual Worlds</a>. His openness with his work and early embracement of academic publishing on the web is a true help to someone like me. Thanks for your&nbsp;work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/goodbye-randy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Troubleshooting Actionscript in a Flex Component</title>
		<link>http://www.lamberta.org/blog/actionscript-inside-flex-component/</link>
		<comments>http://www.lamberta.org/blog/actionscript-inside-flex-component/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 05:55:12 +0000</pubDate>
		<dc:creator>billy</dc:creator>
		
		<category><![CDATA[Code]]></category>

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

		<guid isPermaLink="false">http://www.lamberta.org/blog/?p=47</guid>
		<description><![CDATA[




Using an Actionscript class within a Flex component can be a little tricky. The first error I ran into&#160;was:

Error #1009: Cannot access a property or method
of a null object reference.

This was a result of using a stage reference within the class to set up boundaries. Since I no longer had access to the stage properties [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 0em"><object type="application/x-shockwave-flash" width="450" height="350">
<param name="movie" value="http://www.lamberta.org/blog/wp-content/uploads/2008/07/as3flex.swf" />
<embed type="application/x-shockwave-flash" width="450" height="350" src="http://www.lamberta.org/blog/wp-content/uploads/2008/07/as3flex.swf" >
</object>
</p>
<p style="text-indent: 1em">Using an Actionscript class within a Flex component can be a little tricky. The first error I ran into&nbsp;was:</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;">Error #1009: Cannot access a property or method
of a null object reference.</pre></div></div>

<p>This was a result of using a stage reference within the class to set up boundaries. Since I no longer had access to the stage properties I created two variables within the class to pass the Flex canvas size on instantiation.<br />
The second error I encountered&nbsp;was:</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;">Error #1034: Type Coercion failed: cannot
convert classes::Sprite@8b69259 to mx.core.IUIComponent.</pre></div></div>

<p>This is because the Flex component will only accept a UIComponent as a child. Since our Actionscript class extends a Sprite we&#8217;ll need to place it within one&nbsp;first:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> bouncingBall:UIComponent = <span style="color: #000000; font-weight: bold;">new</span> UIComponent<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
bouncingBall.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> BouncingBall<span style="color: #66cc66;">&#40;</span>myCanvas.<span style="color: #0066CC;">width</span>,
                                       myCanvas.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
myCanvas.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>bouncingBall<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>This creates a reference UIComponent that we will place our BouncingBall class into which we can now add to our canvas.<br />
An alternative method is to use the rawChildren of the canvas and add the sprite directly to it&#8217;s display list. While this works fine, it does seem a bit obscure/ugly. But whatever floats your&nbsp;boat:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> bouncingBall:BouncingBall = <span style="color: #000000; font-weight: bold;">new</span> BouncingBall<span style="color: #66cc66;">&#40;</span>myCanvas.<span style="color: #0066CC;">width</span>,
                                                 myCanvas.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">&#41;</span>;
myCanvas.<span style="color: #006600;">rawChildren</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>bouncingBall<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>The <span class="caps">MXML</span> is rather straightforward, though you&#8217;ll want to include a clipping rectangle on the canvas otherwise the ball will be dragged all over the screen.<br />
The source code for the above example is <a href="http://www.lamberta.org/blog/wp-content/uploads/2008/07/as3flex.zip" onclick="javascript:pageTracker._trackPageview('/downloads/blog/wp-content/uploads/2008/07/as3flex.zip');">available&nbsp;here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lamberta.org/blog/actionscript-inside-flex-component/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
