<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Dry By Design</title>
	<atom:link href="http://www.drybydesign.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drybydesign.com</link>
	<description>An exploration of Adobe Air, Titanium, PhoneGap, SQL Server, and conceptual modeling.</description>
	<pubDate>Wed, 10 Mar 2010 15:54:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Adobe Air + AlivePDF without Flex</title>
		<link>http://www.drybydesign.com/2010/02/26/adobe-air-alivepdf-without-flex/</link>
		<comments>http://www.drybydesign.com/2010/02/26/adobe-air-alivepdf-without-flex/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 22:16:47 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Adobe Air]]></category>

		<category><![CDATA[PDF Scripting]]></category>

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

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

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

		<category><![CDATA[alive pdf]]></category>

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

		<category><![CDATA[pdf creation]]></category>

		<guid isPermaLink="false">http://www.drybydesign.com/?p=226</guid>
		<description><![CDATA[I tried this before with an earlier version of AlivePDF and it didn&#8217;t go well. AlivePDF 0.1.5 RC has proven more fruitful. 
First, the goods:
DryByDesign_AlivePDF_Demo (zip)
DryByDesign_AlivePDF_Demo (air package)
[cert: dbd, pw: dbd]
The problem:
PDF creation is limited [read: not natively supported] in Adobe Air. In the past I&#8217;ve detailed PDF Cross Scripting, as well as using jsPDF for PDF creation [...]]]></description>
			<content:encoded><![CDATA[<p>I tried this before with an earlier version of AlivePDF and it didn&#8217;t go well. <a title="AlivePDF 0.1.5 RC" href="http://code.google.com/p/alivepdf/downloads/list" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');" target="_blank"><strong>AlivePDF</strong> </a><strong><a title="AlivePDF 0.1.5 RC" href="http://code.google.com/p/alivepdf/downloads/list" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');" target="_blank">0.1.5 RC</a> </strong>has proven more fruitful. </p>
<p><strong>First, the goods:</strong></p>
<blockquote><p><a title="Adobe Air AlivePDF Demo" href="http://www.drybydesign.com/wp-content/uploads/2010/02/drybydesign_alivepdf.zip" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2010/02/drybydesign_alivepdf.zip');">DryByDesign_AlivePDF_Demo (zip)</a></p>
<p><a title="Adobe Air AlivePDF Demo Air Package" href="http://www.drybydesign.com/wp-content/uploads/2010/02/drybydesign_alivepdf.air"  target="_blank">DryByDesign_AlivePDF_Demo (air package)</a><br />
[cert: dbd, pw: dbd]</p></blockquote>
<p><strong>The problem:</strong></p>
<blockquote><p>PDF creation is limited [<strong>read:</strong> not natively supported] in Adobe Air. In the past I&#8217;ve detailed <em><a title="Adobe Air PDF Cross Scripting" href="http://www.drybydesign.com/2009/04/22/adobe-air-pdf-cross-scripting-part-2/"  target="_blank">PDF Cross Scripting</a></em>, as well as using <a title="Adobe Air jsPDF" href="http://www.drybydesign.com/2010/01/26/adobe-air-jspdf-a-simple-pdf-solution/"  target="_blank"><em>jsPDF</em></a> for PDF creation with pure javascript.</p>
<p>However, AlivePDF offers a very robust toolbox for PDF creation and manipulation. Until now all the tutorials, coverage, and indications have been that this is a Flex tool. [<strong>notice:</strong> Until now!]   </p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>The process goes something like this:</p>
<ol>
<li>Pull the library.swf file out of the AlivePDF.swc file.</li>
<li>Add the SWF file to your application.</li>
<li>Create an alias file for any of the functions listed in the <a title="AlivePDF Documentation" href="http://alivepdf.bytearray.org/alivepdf-asdoc/" onclick="javascript:pageTracker._trackPageview('/outbound/article/alivepdf.bytearray.org');" target="_blank">documentation</a> you may need/want.</li>
<li>Enjoy!</li>
</ol>
<p>The files above offer a working example using a <a title="Aptana Studio Air Plug-in" href="http://www.aptana.org/air/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.aptana.org');" target="_blank">Aptana Studio</a> project.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2010/02/26/adobe-air-alivepdf-without-flex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adobe Air + jsPDF: A simple PDF Solution.</title>
		<link>http://www.drybydesign.com/2010/01/26/adobe-air-jspdf-a-simple-pdf-solution/</link>
		<comments>http://www.drybydesign.com/2010/01/26/adobe-air-jspdf-a-simple-pdf-solution/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 17:04:07 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Adobe Air]]></category>

		<category><![CDATA[PDF Scripting]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=219</guid>
		<description><![CDATA[It seems that Adobe Air 2.0 will offer quite a few features. HTML5/CSS3 and SSL socket support are reason enough to celebrate.
Edit: For those interested I also have an AlivePDF Example.
First, the goods:
DrybyDesign_jsPDF_Demo (Zip)
DRYByDesign_jsPDF_Demo(Air Package)
[cert: dbd, pw: dbd]
The problem:
The one thing we want need is the ability to print natively. I prefer some sort of native [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that Adobe Air 2.0 will offer quite a few <a title="Adobe Air 2.0 features." href="http://labs.adobe.com/technologies/air2/" onclick="javascript:pageTracker._trackPageview('/outbound/article/labs.adobe.com');" target="_blank">features</a>. HTML5/CSS3 and SSL socket support are reason enough to celebrate.</p>
<p><strong><span style="text-decoration: underline;"><span style="font-weight: normal;">Edit</span>:</span></strong> For those interested I also have an <a title="Dry By Design AlivePDF without Flex demo" href="http://www.drybydesign.com/2010/02/26/adobe-air-alivepdf-without-flex/"  target="_self">AlivePDF Example</a>.</p>
<p><strong>First, the goods:</strong></p>
<blockquote><p><a title="jsPDF Demo project zip" href="http://www.drybydesign.com/wp-content/uploads/2010/01/drybydesign_jspdf.zip" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2010/01/drybydesign_jspdf.zip');" target="_blank">DrybyDesign_jsPDF_Demo (Zip)</a></p>
<p><a title="Air Package of jsPDF Demo" href="http://www.drybydesign.com/wp-content/uploads/2010/01/drybydesign_jspdf.air"  target="_blank">DRYByDesign_jsPDF_Demo(Air Package)</a><br />
[cert: dbd, pw: dbd]</p></blockquote>
<p><strong>The problem:</strong></p>
<blockquote><p>The one thing we want <strong>need </strong>is the ability to print natively. I prefer some sort of native  PDF generation but I&#8217;m not picky. <a title="AlivePDF" href="http://alivepdf.bytearray.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/alivepdf.bytearray.org');" target="_self">AlivePDF</a> seems to fill this niche *<strong>if*</strong> you use Flex. So what about us HTML/Javascript devotees?</p></blockquote>
<p><strong>The solution (so far):</strong></p>
<blockquote><p><strong><a title="jsPDF" href="http://code.google.com/p/jspdf/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');" target="_blank">jsPDF</a> </strong>is lightweight and easy to use. It looks like it&#8217;ll fit the bill for basic (text) PDF needs. Tables and images may be too much to ask for too soon. The demo I made takes the suggested  application and twists it a little. Instead of piping the content to the brower using a <a title="data_uri scheme" href="http://en.wikipedia.org/wiki/Data_URI_scheme" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" target="_blank">data_uri</a>, it saves the content to the local file system.</p>
<p>So there you have it, local PDF generation in Adobe Air using nothing but HTML/CSS and Javascript.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2010/01/26/adobe-air-jspdf-a-simple-pdf-solution/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UML Diagrams</title>
		<link>http://www.drybydesign.com/2009/11/07/uml-state-diagrams/</link>
		<comments>http://www.drybydesign.com/2009/11/07/uml-state-diagrams/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 20:17:26 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[SilverStripe]]></category>

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=216</guid>
		<description><![CDATA[As it stands the majority of any project is lost productivity. I actually identify it as a thing and assign a value to it. (Usually for my own OCD post-project review). This almost always comes down to miscommunication or lack of communication and is the result of an inherited project and can&#8217;t be avoided. Projects/Tasks [...]]]></description>
			<content:encoded><![CDATA[<p>As it stands the majority of any project is lost productivity. I actually identify it as a thing and assign a value to it. (Usually for my own OCD post-project review). This almost always comes down to miscommunication or lack of communication and is the result of an inherited project and can&#8217;t be avoided. Projects/Tasks which consist of add ons, changes, refits/rebuilds, scope changes, augmentations, rescue jobs, short term, short notice, immediate deadline, or tightly funded projects will usually all have something in common. That is, your picking up the ball from another developer(s) and the only thing they left you were undocumented bugs, and a vapor trail of promises to the client.</p>
<p>No worries though, with a decent set of documentation and diagrams I can build anything and I can fix anything.</p>
<p><strong>The problem:</strong></p>
<blockquote><p>No one ever leaves documentation. Much less the virtual treasure chest that is a stack of UML diagrams.</p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>I lend a hand quite frequently in #sql on Freenode and one of the problems I run into is that people start programming the application/database too soon.</p>
<p>I&#8217;d like to suggest that everyone take a look at UML digrams and insist (if only to themselves) that a nice, neat documentation set is available to consult before the coding begins. For your reading please I have a short list on my wiki of diagrams. (That&#8217;s right, Dry By Design has a wiki!)</p>
<p>Enjoy -&gt; <a title="DBD Wiki for Data Modeling" href="http://wiki.drybydesign.com/index.php?title=Data_Modeling"  target="_blank">http://wiki.drybydesign.com/index.php?title=Data_Modeling</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/11/07/uml-state-diagrams/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HTML/CSS - Don&#8217;t reinvent the wheel</title>
		<link>http://www.drybydesign.com/2009/10/13/htmlcss-dont-reinvent-the-wheel/</link>
		<comments>http://www.drybydesign.com/2009/10/13/htmlcss-dont-reinvent-the-wheel/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:55:51 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=198</guid>
		<description><![CDATA[There was a time when I would shy away from links to other peoples websites acknowledging credit for this javascript snippet or that CSS Menu. I believe I&#8217;ve changed my tune a little.
The Problem:

For awhile I was chasing my tail out of pride. Coding every layout from scratch like a proud sculptor. This is problematic [...]]]></description>
			<content:encoded><![CDATA[<p>There was a time when I would shy away from links to other peoples websites acknowledging credit for this javascript snippet or <em>that</em> CSS Menu. I believe I&#8217;ve changed my tune a little.</p>
<p><strong>The Problem:</strong></p>
<blockquote>
<p style="text-align: left;">For awhile I was chasing my tail out of pride. Coding every layout from scratch like a proud sculptor. This is problematic for two reasons.</p>
<ul style="text-align: left;">
<li>You only help/hurt yourself.</li>
<li>You don&#8217;t give anything back to the industry.</li>
</ul>
</blockquote>
<p><strong>Solution:</strong></p>
<blockquote><p>Find a few blogs, resources, and forums you like. Then start contributing to them as much as they&#8217;ve contributed to the industry.My suggestions?</p>
<p>-&gt; Use a layout and give feedback.<br />
-&gt; Take 15 minutes to respond to a question in a forum.<br />
-&gt; Hop into IRC watch/read until you can contribute something meaningful.<br />
-&gt; If you figure something out and can&#8217;t find it out there, blog about it.</p></blockquote>
<p><strong>Links:</strong></p>
<blockquote><p>Two sites I use to jump start my web sites are:</p>
<p><strong>CSS Layouts</strong> http://www.code-sucks.com/css%20layouts/fixed-width-css-layouts/<br />
<strong>Open Source Web Design</strong> -&gt; http://www.oswd.org/</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/10/13/htmlcss-dont-reinvent-the-wheel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adobe Air: ActiveJS CRUD Demo</title>
		<link>http://www.drybydesign.com/2009/06/10/adobe-air-activejs-crud-demo/</link>
		<comments>http://www.drybydesign.com/2009/06/10/adobe-air-activejs-crud-demo/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 18:54:09 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Adobe Air]]></category>

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=187</guid>
		<description><![CDATA[The ActiveJS is full of promise. The site offers a good bit of information and I&#8217;m really curious to see if it will end my search for a nice HTML/Javascript MVC framework.
The problem:
I couldn&#8217;t find a decent CRUD example to show it off.
The solution:
I made one.
The Files:
CRUD Demo - Air Package

CRUD Demo- Source Files

]]></description>
			<content:encoded><![CDATA[<p>The ActiveJS is full of promise. The <a title="Active Record JS" href="http://www.activerecordjs.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.activerecordjs.org');" target="_blank">site</a> offers a good bit of information and I&#8217;m really curious to see if it will end my search for a nice HTML/Javascript MVC framework.</p>
<p><strong>The problem:</strong></p>
<blockquote><p>I couldn&#8217;t find a decent CRUD example to show it off.</p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>I made one.</p></blockquote>
<p><strong>The Files:</strong></p>
<p><a title="CRUD Demo - Air Package" href="http://www.drybydesign.com/wp-content/uploads/2009/06/air.air"  target="_blank">CRUD Demo - Air Package</a><strong><br />
</strong></p>
<p><a title="ActiveJS - CRUD Demo Source Files" href="http://www.drybydesign.com/wp-content/uploads/2009/06/air.zip" target="_blank">CRUD Demo- Source Files<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/06/10/adobe-air-activejs-crud-demo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adobe Air: Security Sandbox Example.</title>
		<link>http://www.drybydesign.com/2009/06/03/adobe-air-security-sandbox-example/</link>
		<comments>http://www.drybydesign.com/2009/06/03/adobe-air-security-sandbox-example/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 17:01:55 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Adobe Air]]></category>

		<guid isPermaLink="false">http://www.drybydesign.com/?p=180</guid>
		<description><![CDATA[It&#8217;s been a little while since I&#8217;ve done an Air demo.
So, it makes sense that the very first thing I need to do when I come back to Air development is something I can&#8217;t find decent documentation for.
The problem:
There are quite a few things that Adobe Air wont let you do and wont tell you [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a little while since I&#8217;ve done an Air demo.</p>
<p>So, it makes sense that the very first thing I need to do when I come back to Air development is something I can&#8217;t find decent documentation for.</p>
<p><strong>The problem:</strong></p>
<blockquote><p>There are quite a few things that Adobe Air wont let you do and wont tell you why.<strong> </strong>At first I was satisfied with testing javascript snippets in a browser to see if it was the code itself or Air which was the problem.</p>
<p>However, this is neither elegant nor opitmal for pre-production testing.</p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>After looking through lots of seemingly complicated code to get the Security Sandbox to work I  ended up with a pretty streamlined example that I feel works well for code testing.</p></blockquote>
<p><strong>The files:</strong></p>
<blockquote><p><a href="http://www.drybydesign.com/wp-content/uploads/2009/06/clickevents.air" >Adobe Air Package</a></p>
<p><a href="http://www.drybydesign.com/wp-content/uploads/2009/06/clickevents.zip" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2009/06/clickevents.zip');">Source Zip</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/06/03/adobe-air-security-sandbox-example/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adobe Air: PDF Cross Scripting (Part 2).</title>
		<link>http://www.drybydesign.com/2009/04/22/adobe-air-pdf-cross-scripting-part-2/</link>
		<comments>http://www.drybydesign.com/2009/04/22/adobe-air-pdf-cross-scripting-part-2/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 16:11:12 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Adobe Air]]></category>

		<category><![CDATA[PDF Scripting]]></category>

		<guid isPermaLink="false">http://www.drybydesign.com/?p=21</guid>
		<description><![CDATA[Part two in this series looks at how to get the PDF to speak to the javascript in the HTML. In the end the code is very light and easy to understand. However, it is very particular.
The problem:
Getting this seemingly simple process to work is full of headaches. The examples to go off of are [...]]]></description>
			<content:encoded><![CDATA[<p>Part two in this series looks at how to get the PDF to speak to the javascript in the HTML. In the end the code is very light and easy to understand. However, it is very particular.</p>
<p><strong>The problem:</strong></p>
<blockquote><p>Getting this seemingly simple process to work is full of headaches. The examples to go off of are few and extremely far between.</p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>I&#8217;ve extended the original demo to include a method to post data from the PDF back to the HTML document.</p></blockquote>
<p><strong>The files:</strong></p>
<blockquote><p><a title="PDF Cross-Scripting Demo Part 2" href="http://www.drybydesign.com/wp-content/uploads/2009/04/pdf_script_part2.zip" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2009/04/pdf_script_part2.zip');" target="_self">Source files</a></p>
<p><a title="PDF Cross-Scripting Demo Part 2 Air Package" href="http://www.drybydesign.com/wp-content/uploads/2009/04/pdf-script.air"  target="_blank">Adobe Air Package</a></p></blockquote>
<p><strong>Rant:</strong></p>
<blockquote><p>I hope this starts to open doors in document processing. In my third demo I hope to do a ActiveJs and PDF mashup where youu save a form to a sqLite DB.<strong><br />
</strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/04/22/adobe-air-pdf-cross-scripting-part-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Silverstripe: Blog Moderation and Spam</title>
		<link>http://www.drybydesign.com/2009/04/15/silverstripe-blog-moderation-and-spam/</link>
		<comments>http://www.drybydesign.com/2009/04/15/silverstripe-blog-moderation-and-spam/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 14:22:19 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[SilverStripe]]></category>

		<category><![CDATA[blog moderation]]></category>

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=165</guid>
		<description><![CDATA[The blog module that comes with Silverstripe is impressive, fast, and easy to use. It should also be noted that the user interface design integrates so nicely with the admin area as a whole that the learning curve is minimal.

The problem:
Spam is the ban of any website. Planning what level of blog moderation should be [...]]]></description>
			<content:encoded><![CDATA[<p>The blog module that comes with Silverstripe is impressive, fast, and easy to use. It should also be noted that the user interface design integrates so nicely with the admin area as a whole that the learning curve is minimal.<strong><br />
</strong></p>
<p><strong>The problem:</strong></p>
<blockquote><p>Spam is the ban of any website. Planning what level of blog moderation should be implemented at launch is tricky. Some of the more popular and promoted options for Silvertripe are tiered [read: pay] services managed by a third-party.</p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>Like so many things, Silverstripe does this already! It just isn&#8217;t enabled by default.</p>
<p>Add the following two lines to your <strong>mysite/_config.php</strong> file and breath a sigh of relief.</p>
<p><em>MathSpamProtection::setEnabled();<br />
PageComment::enableModeration();</em></p>
<p>Please join the discussion and seek help in the Silverstripe forums. The thread I found and now follow is here: <a title="Silverstripe Blog Moderation" href="http://www.silverstripe.org/archive/show/223021#post223021" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.silverstripe.org');" target="_blank">http://www.silverstripe.org/archive/show/223021#post223021</a></p></blockquote>
<p><strong>Rant:</strong></p>
<blockquote><p>If you find this page via Google then I hope I saved you 20 seconds of forum searching.</p>
<p>If you&#8217;re like me then you follow a checklist and procedure for a new site launch. Maybe I&#8217;ll do a Quick-Start guide for Silverstripe when the time comes.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/04/15/silverstripe-blog-moderation-and-spam/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adobe Air: PDF Cross-Scripting</title>
		<link>http://www.drybydesign.com/2009/03/29/adobe-air-pdf-cross-scripting/</link>
		<comments>http://www.drybydesign.com/2009/03/29/adobe-air-pdf-cross-scripting/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 00:16:32 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[Adobe Air]]></category>

		<category><![CDATA[PDF Scripting]]></category>

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

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=117</guid>
		<description><![CDATA[It would be great if I could send data directly to a PDF within the Air environment.This would help with data presentation and offer a much needed print method.
The problem:
The only cross-scripting solution I could find is this. However it uses flex and it&#8217;s simply not very informative.
The solution:
The code posted below isn&#8217;t meant to [...]]]></description>
			<content:encoded><![CDATA[<p>It would be great if I could send data directly to a PDF within the Air environment.This would help with data presentation and offer a much needed print method.<br />
<strong>The problem:</strong></p>
<blockquote><p>The only cross-scripting solution I could find is <a title="Adobe PDF Cross Script" href="http://www.adobe.com/devnet/air/flex/quickstart/scripting_pdf.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.adobe.com');">this</a>. However it uses flex and it&#8217;s simply not very informative.</p></blockquote>
<p><strong>The solution:</strong></p>
<blockquote><p>The code posted below isn&#8217;t meant to be a guide. Simply showing that code used isn&#8217;t elaborate or complicated. Your best bet is to download the example and pick it apart.</p></blockquote>
<p>The files:</p>
<p><a title="PDF Cross-Scripting AIR Package" rel="attachment wp-att-148" href="http://www.drybydesign.com/2009/03/29/adobe-air-pdf-cross-scripting/pdf-script/"  target="_blank">Demo AIR Package.</a></p>
<p><a title="PDF Cross-Scripting SOURCE Files" rel="attachment wp-att-147" href="http://www.drybydesign.com/2009/03/29/adobe-air-pdf-cross-scripting/pdf_script/"  target="_blank">Demo SOURCE Files.</a></p>
<p><em>notes:</em></p>
<ol>
<li>This project was created with Aptana.</li>
<li>You&#8217;ll need Acrobat Reader 9.1 or 8.1.3 due to this Acrobat <a title="Acrobat Bug" href="http://bugs.adobe.com/jira/browse/FB-16281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugs.adobe.com');" target="_blank">bug</a>.</li>
</ol>
<p><strong>The Adobe Air function:</strong></p>
<blockquote>
<pre><code>function init(postData) 

{ 

pdfObject = document.getElementById("PDFObj"); 

try { 

pdfObject.postMessage(["testMsg", postData]); 

} 

catch (e) 

{ 

alert( "Error: \n name = " + e.name + "\n message = " + e.message ); 

} 

}</code></pre>
</blockquote>
<p><strong>The document level javascript code:</strong></p>
<blockquote>
<pre><code>this.disclosed = true;

var testName = "";

if(this.hostContainer){

  try{

    this.hostContainer.messageHandler={

myDoc:this,

onDisclose:function(){return true;},

onMessage:function(stringArray){

var cmd=stringArray[0];

try{

if(cmd=="testMsg"){

var name = this.myDoc.getField("test");

name.value = stringArray[1];

}

}catch(e){

this.hostContainer.postMessage(

["error thrown in onMessage:",e.message]);

}

},

onError:function(e){

this.hostContainer.postMessage(["onError: ",e.message]);

}

    }

  }catch(e){

    this.hostContainer.postMessage(["Error thrown in setup:",e.message]);

  }

}else{

    app.alert("unable to set up hostContainer: this.hostContainer="

        +this.hostContainer+" this.external="+this.external);

}</code></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/03/29/adobe-air-pdf-cross-scripting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Silverstripe: Dreamhost performance tips.</title>
		<link>http://www.drybydesign.com/2009/03/15/silverstripe-dreamhost-performance-tips/</link>
		<comments>http://www.drybydesign.com/2009/03/15/silverstripe-dreamhost-performance-tips/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 01:25:51 +0000</pubDate>
		<dc:creator>Ari</dc:creator>
		
		<category><![CDATA[SilverStripe]]></category>

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

		<guid isPermaLink="false">http://www.drybydesign.com/?p=88</guid>
		<description><![CDATA[Silverstripe introduced static caching in version 2.3, good news for anyone who experiences speed issues with the CMS.
[The problem?]
I would say that 99% of people with speed issues are on a shared host and know of very few ways of correcting the problems.
This is an issue because the default documentation for Silverstripe makes improving performance [...]]]></description>
			<content:encoded><![CDATA[<p>Silverstripe introduced static caching in version 2.3, good news for anyone who experiences speed issues with the CMS.</p>
<p><strong>[The problem?]</strong></p>
<blockquote><p>I would say that 99% of people with speed issues are on a shared host and know of very few ways of correcting the problems.</p>
<p>This is an issue because the default documentation for Silverstripe makes improving performance something of a ghost hunt.</p></blockquote>
<p><strong>[The solution:]</strong></p>
<blockquote><p>I can really only present the solution I&#8217;ve found with Dreamhost.</p>
<p>This is a community project so the hope is that other people will share their success with other hosts and it all becomes part of the official documentation.</p></blockquote>
<p><em><strong>What you need to do:</strong></em></p>
<blockquote><p><em><strong>1. Start a Dreamhost account and pay $9.95(or less) a month for hosting.</strong></em></p>
<p><em><strong>2. Sign up for the VPS service. (Do this first because it can take a few days and the mininum is $15(USD) / month)<br />
</strong></em></p>
<p><em><strong>3.</strong></em> <em><strong>Install Silverstripe.</strong></em> <em><strong>(yay!)</strong><strong><br />
</strong></em></p>
<p><em><strong>4. Create a &#8217;silverstripe-cache&#8217; directory in your root folder. (Silverstripe will try to use the /tmp folder by default and this is rarely going to work in a shared hosting environment.)</strong></em></p>
<p><em><strong>5. Configure the static publisher. (Docs can be found here: <a title="Silverstripe Static Publisher" href="http://doc.silverstripe.com/doku.php?id=staticpublisher" onclick="javascript:pageTracker._trackPageview('/outbound/article/doc.silverstripe.com');">http://doc.silverstripe.com/doku.php?id=staticpublisher</a>)</strong></em></p>
<p><em><strong>6. Wait for Dreamhost to turn your new VPS on.</strong></em></p>
<p><em><strong>7. In your VPS settings make sure you are using the following:</strong></em></p>
<p style="text-align: left;"><em><strong> a) PHP 5.2.x</strong><strong><br />
b) FastCGI Support<br />
c) Use FastCGI for all PHP<br />
d) php cache (this will enable xcache. yay!)</strong></em></p>
<p><em><strong>8. Go into the &#8216;configure server&#8217; menu and monitor your usage as time goes on. (The first week is free and with the above settings you should only need the minimum 150megs of RAM/CPU @ $15(USD) per month)</strong></em></p>
<p><em><strong>9) Silverstripe is now fast, really fast. (rejoice!)<br />
</strong></em></p></blockquote>
<p><strong>Notes:</strong></p>
<blockquote><p>i) The static publisher and the Silverstripe&#8217;s caching system are two different things.</p>
<p>ii) You are using xcache, Silverstripe caching, and the static publisher to increase performance.</p>
<p>iii) These things should also ensure that you stay within your $15(USD)/month resource allowance even with moderate traffic.</p></blockquote>
<p><strong>[rant:]</strong></p>
<blockquote><p>- By using this tutorial and hopefully making it a standard piece of documentation you give the Silverstripe team something to refer to.</p>
<p>- It should be much easier to start with something that works and modify it.</p>
<p>- In time it can be determined what about the above settings makes a difference and Silverstripe can be improved at the core.</p>
<p>- Knowing that this solution is in wide use also helps the Silverstripe team to plan for the future. (i.e. - not accidentally change something in a new release which breaks optimization for a bunch of users.)</p>
<p>You can read my full write up on the Dreamhost VPS here. <a title="Web Hosting: Justifying a VPS" href="http://www.drybydesign.com/?p=79" >http://www.drybydesign.com/?p=79</a></p></blockquote>
<p>- Ari</p>
<p>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drybydesign.com/2009/03/15/silverstripe-dreamhost-performance-tips/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.473 seconds -->
