<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dotinga.com</title>
	<atom:link href="http://www.dotinga.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotinga.com</link>
	<description>Front-end development, HTML, CSS, Actionscript and Javascript</description>
	<lastBuildDate>Sun, 06 Mar 2011 21:05:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bye bye Internet Explorer 6</title>
		<link>http://www.dotinga.com/2011/03/bye-bye-internet-explorer-6/</link>
		<comments>http://www.dotinga.com/2011/03/bye-bye-internet-explorer-6/#comments</comments>
		<pubDate>Sun, 06 Mar 2011 20:38:02 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bye]]></category>
		<category><![CDATA[crossbrowser]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie6countdown.com]]></category>
		<category><![CDATA[internet explorer 6]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.dotinga.com/?p=462</guid>
		<description><![CDATA[Since google dropped support for IE6 beginning 2010 a lot of companies followed their lead. Now over a year later Microsoft creates a new website: http://www.ie6countdown.com which is dedicated to watching Internet Explorer 6 usage drop to less than 1% worldwide, so more websites can choose to drop support for Internet Explorer 6, saving hours [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.dotinga.com/wp-content/uploads/2011/03/ie8-logo-150x150.png" alt="IE 8 Logo" class="left" style="padding:0 10px 0 0;"/>Since <a href="http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html">google dropped support for IE6</a> beginning 2010 a lot of companies followed their lead. </p>
<p>Now over a year later Microsoft creates a new website: <a href="http://www.ie6countdown.com/">http://www.ie6countdown.com</a> which is dedicated to watching Internet Explorer 6 usage drop to less than 1% worldwide, so more websites can choose to drop support for Internet Explorer 6, saving hours of work for web developers&#8230; LoL beter late than never. </p>
<p>As a developer I try to develop cross browser/cross plaform websites. In that respect I spent a lot of hours debugging and hacking markup, css and javascript in IE6. My employer doesn&#8217;t care about the fact that this browser is over a decade old and still wants pixel-perfect designs with state-of-the-art functionality and behaviors arghh.</p>
<p>The fact that a lot of people (mainly marketing and management) in the company still view their pages with IE6 mainly because the guys and galls from workplace management can&#8217;t install a newer version of this darn piece of software. Yo guys and galls check out <a href="http://ie6countdown.com/educate-others.html">this page</a> and read the &#8220;What about corporate users?&#8221; section..</p>
<p>I hope that the site will encourage big companies to put some extra effort in replacing this old and outdated browser. </p>
<p>If you are viewing this post with IE6&#8230;.<em>pretty please with sugar on top</em> donwload:</p>
<ul>
<li><a href="http://getfirefox.com">Firefox</a></li>
<li><a href="http://www.google.com/chrome">Chrome</a></li>
<li><a href="http://www.opera.com">Opera</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/03/bye-bye-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woooohooo Flash Molehill GPU accelerated 3D</title>
		<link>http://www.dotinga.com/2011/03/woooohooo-flash-molehill-gpu-accelerated-3d/</link>
		<comments>http://www.dotinga.com/2011/03/woooohooo-flash-molehill-gpu-accelerated-3d/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 21:45:43 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.dotinga.com/?p=447</guid>
		<description><![CDATA[Molehill is the codename for the upcoming Flash version. The 3D capabilities enabled by the new APIs will also be available through ActionScript 3D frameworks, such as Alternativa3D, Away3d, CopperCube, Flare3D, Minko, Sophie3D or Yogurt3D. Very impressive check out some Molehill demo&#8217;s: Get the Flash Player Incubator and check out: Play online: http://molehill.zombietycoon.com/ Play online: [...]]]></description>
			<content:encoded><![CDATA[<p>Molehill is the codename for the upcoming Flash version. The 3D capabilities enabled by the new APIs will also be available through ActionScript 3D frameworks, such as Alternativa3D, Away3d, CopperCube, Flare3D, Minko, Sophie3D or Yogurt3D. </p>
<p>Very impressive check out some Molehill demo&#8217;s:</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/9LAN5GHm5eM?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/tgwi0lWgX8w?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/KlNKJbDrYdU" frameborder="0" allowfullscreen></iframe></p>
<p>Get the <a href="http://labs.adobe.com/downloads/flashplatformruntimes_incubator.html" target="_blank">Flash Player Incubator</a> and check out:</p>
<ul>
<li>Play online: <a href="http://molehill.zombietycoon.com/" target="_blank">http://molehill.zombietycoon.com/</a></li>
<li>Play online: <a href="http://www.alternativaplatform.com/en/demos/maxracer/" target="_blank">http://www.alternativaplatform.com/en/demos/maxracer/</a></li>
<li>Demo available here: <a href="http://infiniteturtles.co.uk/projects/away3d/broomstick/ShallowWaterDemo.html" target="_blank">http://infiniteturtles.co.uk/projects/away3d/broomstick/ShallowWaterDemo.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/03/woooohooo-flash-molehill-gpu-accelerated-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizing caching using .htaccess</title>
		<link>http://www.dotinga.com/2011/03/optimizing-caching-using-htaccess/</link>
		<comments>http://www.dotinga.com/2011/03/optimizing-caching-using-htaccess/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 21:05:48 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=384</guid>
		<description><![CDATA[Caching is great for production sites and should be configured. However during development it can be a royal PITA. Below a few rules you can put in your .htaccess file when your site is on apache hosting. The benefits of caching your site are not always obvious: Optimise site performance Improve conversion rate Bandwith saving [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.dotinga.com/wp-content/uploads/2011/03/apache-.jpg" alt="Apache" class="right" />Caching is great for production sites and should be configured. However during development it can be a royal PITA. Below a few rules you can put in your .htaccess file when your site is on apache hosting.  The benefits of caching your site are not always obvious:</p>
<ul>
<li>Optimise site performance</li>
<li>Improve conversion rate</li>
<li>Bandwith saving through gzip and http compression</li>
</ul>
<h2>Editing .htaccess</h2>
<p>First of all add MIME types using mod_mime.c. The AddType directive maps the given filename extensions onto the specified content type. MIME-type is the MIME type to use for filenames containing extension. This mapping is added to any already in force, overriding any mappings that already exist for the same extension.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;IfModule mod_mime.c&gt;
    AddType text/css .css
    AddType application/x-javascript .js
    AddType text/html .html .htm
    AddType text/richtext .rtf .rtx
    AddType image/svg+xml .svg .svgz
    AddType text/plain .txt
    AddType text/xsd .xsd
    AddType text/xsl .xsl
    AddType text/xml .xml
    AddType video/asf .asf .asx .wax .wmv .wmx
    AddType video/avi .avi
    AddType image/bmp .bmp
    AddType application/java .class
    AddType video/divx .divx
    AddType application/msword .doc .docx
    AddType application/x-msdownload .exe
    AddType image/gif .gif
    AddType application/x-gzip .gz .gzip
    AddType image/x-icon .ico
    AddType image/jpeg .jpg .jpeg .jpe
    AddType application/vnd.ms-access .mdb
    AddType audio/midi .mid .midi
    AddType video/quicktime .mov .qt
    AddType audio/mpeg .mp3 .m4a
    AddType video/mp4 .mp4 .m4v
    AddType video/mpeg .mpeg .mpg .mpe
    AddType application/vnd.ms-project .mpp
    AddType application/vnd.oasis.opendocument.database .odb
    AddType application/vnd.oasis.opendocument.chart .odc
    AddType application/vnd.oasis.opendocument.formula .odf
    AddType application/vnd.oasis.opendocument.graphics .odg
    AddType application/vnd.oasis.opendocument.presentation .odp
    AddType application/vnd.oasis.opendocument.spreadsheet .ods
    AddType application/vnd.oasis.opendocument.text .odt
    AddType audio/ogg .ogg
    AddType application/pdf .pdf
    AddType image/png .png
    AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
    AddType audio/x-realaudio .ra .ram
    AddType application/x-shockwave-flash .swf
    AddType application/x-tar .tar
    AddType image/tiff .tif .tiff
    AddType audio/wav .wav
    AddType audio/wma .wma
    AddType application/vnd.ms-write .wri
    AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
    AddType application/zip .zip
&lt;/IfModule&gt;
</pre>
<p>Next we add expire headers to the file types. Mod_expires.c controls the setting of the Expires HTTP header in server responses. The expiration date can set to be relative to either the time the source file was last modified, or to the time of the client access.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;IfModule mod_expires.c&gt;
    ExpiresActive On
    ExpiresByType text/css A31536000
    ExpiresByType application/x-javascript A31536000
    ExpiresByType text/html A3600
    ExpiresByType text/richtext A3600
    ExpiresByType image/svg+xml A3600
    ExpiresByType text/plain A3600
    ExpiresByType text/xsd A3600
    ExpiresByType text/xsl A3600
    ExpiresByType text/xml A3600
    ExpiresByType video/asf A31536000
    ExpiresByType video/avi A31536000
    ExpiresByType image/bmp A31536000
    ExpiresByType application/java A31536000
    ExpiresByType video/divx A31536000
    ExpiresByType application/msword A31536000
    ExpiresByType application/x-msdownload A31536000
    ExpiresByType image/gif A31536000
    ExpiresByType application/x-gzip A31536000
    ExpiresByType image/x-icon A31536000
    ExpiresByType image/jpeg A31536000
    ExpiresByType application/vnd.ms-access A31536000
    ExpiresByType audio/midi A31536000
    ExpiresByType video/quicktime A31536000
    ExpiresByType audio/mpeg A31536000
    ExpiresByType video/mp4 A31536000
    ExpiresByType video/mpeg A31536000
    ExpiresByType application/vnd.ms-project A31536000
    ExpiresByType application/vnd.oasis.opendocument.database A31536000
    ExpiresByType application/vnd.oasis.opendocument.chart A31536000
    ExpiresByType application/vnd.oasis.opendocument.formula A31536000
    ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
    ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
    ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
    ExpiresByType application/vnd.oasis.opendocument.text A31536000
    ExpiresByType audio/ogg A31536000
    ExpiresByType application/pdf A31536000
    ExpiresByType image/png A31536000
    ExpiresByType application/vnd.ms-powerpoint A31536000
    ExpiresByType audio/x-realaudio A31536000
    ExpiresByType application/x-shockwave-flash A31536000
    ExpiresByType application/x-tar A31536000
    ExpiresByType image/tiff A31536000
    ExpiresByType audio/wav A31536000
    ExpiresByType audio/wma A31536000
    ExpiresByType application/vnd.ms-write A31536000
    ExpiresByType application/vnd.ms-excel A31536000
    ExpiresByType application/zip A31536000
&lt;/IfModule&gt;
</pre>
<p>Then we set the mod_deflate module. This module provides the DEFLATE output filter that allows output from your server to be compressed before being sent to the client over the network. To set the correct gzip directions there has to be a browser match.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;IfModule mod_deflate.c&gt;
    &lt;IfModule mod_setenvif.c&gt;
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    &lt;/IfModule&gt;
    &lt;IfModule mod_headers.c&gt;
        Header append Vary User-Agent env=!dont-vary
    &lt;/IfModule&gt;
    AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
&lt;/IfModule&gt;
&lt;FilesMatch &quot;\.(css|js)$&quot;&gt;
    &lt;IfModule mod_headers.c&gt;
        Header set Pragma &quot;public&quot;
        Header set Cache-Control &quot;public, must-revalidate, proxy-revalidate&quot;
    &lt;/IfModule&gt;
    FileETag MTime Size
    &lt;IfModule mod_headers.c&gt;
         Header set Author &quot;Dotinga.com&quot;
    &lt;/IfModule&gt;
&lt;/FilesMatch&gt;
&lt;FilesMatch &quot;\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$&quot;&gt;
    &lt;IfModule mod_headers.c&gt;
        Header set Pragma &quot;public&quot;
        Header set Cache-Control &quot;public, must-revalidate, proxy-revalidate&quot;
    &lt;/IfModule&gt;
    FileETag MTime Size
    &lt;IfModule mod_headers.c&gt;
         Header set Author &quot;Dotinga.com&quot;
    &lt;/IfModule&gt;
&lt;/FilesMatch&gt;
&lt;FilesMatch &quot;\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$&quot;&gt;
    &lt;IfModule mod_headers.c&gt;
        Header set Pragma &quot;public&quot;
        Header set Cache-Control &quot;public, must-revalidate, proxy-revalidate&quot;
    &lt;/IfModule&gt;
    FileETag MTime Size
    &lt;IfModule mod_headers.c&gt;
         Header set Author &quot;J. Dotinga.com&quot;
    &lt;/IfModule&gt;
&lt;/FilesMatch&gt;
</pre>
<h2>More resources</h2>
<ul>
<li><a href="http://httpd.apache.org/docs/2.2/caching.html" target="_blank">Apache Caching Guide</a></li>
<li><a href="http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html">Ask Apache &#8211; Caching and Cache Control</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/03/optimizing-caching-using-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash AS3 video tips</title>
		<link>http://www.dotinga.com/2011/03/flash-as3-video-tips/</link>
		<comments>http://www.dotinga.com/2011/03/flash-as3-video-tips/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 08:11:03 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[cuepoints]]></category>
		<category><![CDATA[f4v]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flv]]></category>
		<category><![CDATA[metadata]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=422</guid>
		<description><![CDATA[In this posts I will point out a few pitfalls whenb doing a flash as3 movie project.]]></description>
			<content:encoded><![CDATA[<p><img src="http://dotinga.com/wp-content/uploads/2011/03/Adobe-Flash-Logo.gif" alt="FLV logo" class="right"/>When working with Flash video I always end up using extra time finishing a project. This is mainly because I get these project not so often. So everytime I have to create video content I have to brush up my as3 video skills.</p>
<p>In this posts I will point out a few pitfalls when doing a Flash as3 movie project.</p>
<h2>Decide where the videocontent is placed</h2>
<p>This is handy to know beforehand. It saves a lot of time and effort to do it first time right. Are you going to progressively download the movie or is it streaming? Does it come from a flash mediaserver? Know what you are working with before you start.</p>
<h2>Create a prototype</h2>
<p>Start with creating a prototype so you know the pitfalls. And you know the steps to recreate the experience. Afterwards you can tweak layout, performance etc.</p>
<h2>When using Cue Points</h2>
<p><img src="http://dotinga.com/wp-content/uploads/2011/03/flv-logo.png" alt="FLV logo" class="right"/><strong>Make sure you export your movie as .flv</strong>. F4v doesn&#8217;t support cue points. Cue points are a feature of the FLV video container format. FLV is a proprietary format developed specifically to complement Adobe Flash.</p>
<h2>Cue Point code</h2>
<p>Handling cuepoints in ActionSctipt3 is easy once you know the drill. One of the simplest methods is to create a simple Object which processes the onCuePoint and onMetaData event handlers in ActionScript 3.0. You can see an example of this in the following code:</p>
<pre class="brush: as3; title: ; notranslate">
var customClient:Object = new Object();
customClient.onCuePoint = cuePointHandler;
customClient.onMetaData = metaDataHandler;

var myVideo:Video = new Video();
addChild(myVideo);

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = customClient;
myVideo.attachNetStream(ns);
ns.play(&quot;http://www.helpexamples.com/flash/video/cuepoints.flv&quot;);

function cuePointHandler(infoObject:Object):void
{
    trace(&quot;cuePoint&quot;);
}
function metaDataHandler(infoObject:Object):void
{
    trace(&quot;metaData&quot;);
}
</pre>
<p>Or you can create a CustomClient class which handles the meta data and cuepoints.</p>
<pre class="brush: as3; title: ; notranslate">
package
{
	public class CustomClient
	{
		public function onMetaData(info:Object):void
		{
			trace(&quot;metadata: duration=&quot; + info.duration + &quot; width=&quot; + info.width + &quot; height=&quot; + info.height + &quot; framerate=&quot; + info.framerate);
		}
		public function onCuePoint(info:Object):void
		{
			trace(&quot;cuepoint: time=&quot; + info.time + &quot; name=&quot; + info.name + &quot; type=&quot; + info.type);
		}
	}
}
</pre>
<p>These are the basics to start embedding video content. </p>
<h2>Other resources</h2>
<ul>
<li><a href="http://www.quip.net/blog/2007/flash/how-to-use-flash-video-cue-points" target="_blank">How to Use Flash Video (FLV) Cue Points &#8211; David Stiller</a></li>
<li><a href="http://blogs.adobe.com/pdehaan/2006/07/playing_back_flvs_with_actions_1.html" target="_blank">Playing back flv with actions &#8211; Peter Haan</a></li>
<li><a href="http://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65586-7feb.html" target="_blank">Adobe Help</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/03/flash-as3-video-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Storing passwords encrypted in the cloud with Keepass(X) and Dropbox</title>
		<link>http://www.dotinga.com/2011/02/storing-passwords-encrypted-in-the-cloud/</link>
		<comments>http://www.dotinga.com/2011/02/storing-passwords-encrypted-in-the-cloud/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 10:46:36 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[keepass]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=386</guid>
		<description><![CDATA[Storing passwords in the cloud multiplatform accessible]]></description>
			<content:encoded><![CDATA[<p>In this post I&#8217;m setting up a secure password management system which is accesible from anywhere with Windows and Mac (any OS will do).</p>
<p>When my Macbook Pro was stolen I succesfully changed all my account passwords whitin a day. I had backup copies of my passwords stored in my dropbox account. All I needed was another computer and access to my account. Here are the steps to keep your passwords safe and in the cloud.</p>
<p><img src="http://dotinga.com/wp-content/uploads/2011/02/dropbox-logo.png" alt="Dropbox" class="right" />I use a free <a title="Create dropbox account" href="http://db.tt/aaNEDDC" target="_blank">Dropbox</a> account to sync files that I access from multiple locations, using their secure web storage. It is incredibly convenient to develop something on my laptop, save it in my Dropbox folder, and access the files from my desktop or phone. Before, I would have emailed the files to myself. </p>
<h2>Signup for a Dropbox account and download the client</h2>
<ul>
<li><a title="Create dropbox account" href="http://db.tt/aaNEDDC" target="_blank">Create a dropbox account</a></li>
</ul>
<p>Create an account first, then run the Dropbox Installer. From your browser&#8217;s Downloads window, double click the .dmg/.exe file that just downloaded. After downloading the client, follow the steps to install the client. Double click the Dropbox icon in your Applications folder or desktop to get all set up, and you&#8217;re good to go.</p>
<p><img src="http://dotinga.com/wp-content/uploads/2011/02/keepass.gif" alt="Keepass" class="right"/><br />
<h2>Download and Configure Keepass(X)</h2>
<ul>
<li><a title="KeepassX" href="http://keepassx.sourceforge.net/" target="_blank">KeepassX for Mac OS X</a> / <a title="Keepass" href="http://downloads.sourceforge.net/keepass/KeePass-1.18-Setup.exe" target="_blank">Keepass for Windows</a> for storing passwords crossplatform, check <a title="Keepass other platforms" href="http://keepass.info/download.html" target="_blank">here</a> for more platforms</li>
</ul>
<p>Start Keepass(X). The very first step is creating a new password database. To create one, click &#8216;File &#8211; New&#8230;&#8217; in the main menu. A window will appear, which prompts you for a master password and/or key file. The database will be encrypted with the password you enter here. The password you enter here will be the only password you&#8217;ll ever have to remember from on now. It should be long and built up of mixed characters. Keep in mind that when someone gets your database file and guesses the password, he could access all passwords you stored in the database.</p>
<h2>Adding an entry</h2>
<p>Time to store your passwords in the database! Right-click and choose &#8216;Add Entry&#8230;&#8217;. In this window you can now edit your entry: enter some title for it, an username, an URL, the actual password, etc. If you don&#8217;t need some of the fields, just leave them empty. When you&#8217;re done, click [OK].</p>
<p>You&#8217;ll see your new entry in the password list on the right now.</p>
<h2>Putting it al together</h2>
<p>When dropbox is installing the program creates a shared folder which is synced to internet (the cloud). This is default your public folder. </p>
<p>The final thing to do is move your Keepass(X) database and keyfile to your shared folder and it is synced automatically.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/02/storing-passwords-encrypted-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export layers as files with layernames</title>
		<link>http://www.dotinga.com/2011/02/export-layers-as-files-with-layernames/</link>
		<comments>http://www.dotinga.com/2011/02/export-layers-as-files-with-layernames/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 23:52:18 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[layers]]></category>
		<category><![CDATA[psd]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=378</guid>
		<description><![CDATA[Photoshop: Export layers as files with layernames]]></description>
			<content:encoded><![CDATA[<p>Edit a Photoshop scripting jsx file to export each layer as seperate file, with the layername as filename.</p>
<p>Today I needed to export every layer in a photoshop document as files. Photoshop has a default script for this. You can find it here: file -> scripts -> Export Layers to Files.</p>
<p>The only drawback is that the filename is composed from a prefix + number + layer name. And I want only the layername. What we have to do is edit the &#8220;Export Layers to Files.jsx&#8221; file. This is a javascript file that we can edit. </p>
<ul>
<li>mac: /Applications/Adobe/Adobe\ Photoshop\ CS4/Presets/Scripts/</li>
<li>win: C:\Program Files\Adobe\Adobe Photoshop CS3\Presets\Scripts</li>
</ul>
<p>Then open the file and search for &#8220;fileNameBody +=&#8221; and edit:</p>
<pre class="brush: jscript; title: ; notranslate">
var fileNameBody = fileNamePrefix;
fileNameBody += &quot;_&quot; + zeroSuppress(i, 4);
fileNameBody += &quot;_&quot; + layerName;
</pre>
<p>to:</p>
<pre class="brush: jscript; title: ; notranslate">
var fileNameBody = fileNamePrefix;
fileNameBody += layerName;
</pre>
<p>You have to make sure there are no duplicate layernames otherwise the script will overwrite these files. If you don&#8217;t want to edit this file you can<a href="http://dotinga.com/wp-content/uploads/2011/02/Export-Layers-To-Files.jsx_.zip"> download my version</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/02/export-layers-as-files-with-layernames/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conditional comments</title>
		<link>http://www.dotinga.com/2011/02/conditional-comments/</link>
		<comments>http://www.dotinga.com/2011/02/conditional-comments/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 20:10:13 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[conditional]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=367</guid>
		<description><![CDATA[Some exmples for conditional comments for Internet Explorer.]]></description>
			<content:encoded><![CDATA[<p>Here are some exmples for conditional comments for Internet Explorer.</p>
<p>Conditional comments only work in Explorer on Windows. They are supported from Explorer 5 onwards, and it is even possible to distinguish between 5.0, 5.5 and 6.0 and higher.</p>
<p>I put them up mainly for reference <img src='http://www.dotinga.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre class="brush: plain; title: ; notranslate">&lt;!--[if IE]&gt;
This is Internet Explorer
&lt;![endif]--&gt;

&lt;!--[if IE 5]&gt;
This is Internet Explorer 5
&lt;![endif]--&gt;

&lt;!--[if IE 5.0]&gt;
This is Internet Explorer 5.0
&lt;![endif]--&gt;

&lt;!--[if IE 5.5]&gt;
This is Internet Explorer 5.5
&lt;![endif]--&gt;

&lt;!--[if IE 6]&gt;
This is Internet Explorer 6
&lt;![endif]--&gt;

&lt;!--[if IE 7]&gt;
This is Internet Explorer 7
&lt;![endif]--&gt;

&lt;!--[if gte IE 5]&gt;
This is Internet Explorer 5 and higher
&lt;![endif]--&gt;

&lt;!--[if lt IE 6]&gt;
This is Internet Explorer lower than 6
&lt;![endif]--&gt;

&lt;!--[if lte IE 5.5]&gt;
This is Internet Explorer 5.5 or lower
&lt;![endif]--&gt;

&lt;!--[if gt IE 6]&gt;
This is Internet Explorer 6 or higher
&lt;![endif]--&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/02/conditional-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5Rocks playground</title>
		<link>http://www.dotinga.com/2011/02/html5rocks-playground/</link>
		<comments>http://www.dotinga.com/2011/02/html5rocks-playground/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 08:46:01 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[L5ROCKS]]></category>
		<category><![CDATA[Playground]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=364</guid>
		<description><![CDATA[Google's Html5rocks playground examples and links.]]></description>
			<content:encoded><![CDATA[<p>Earlier this year I posted about google&#8217;s API playground. Since June last year there is also a <a href="http://playground.html5rocks.com/" target="_blank">HTML5ROCKS playground</a> with numerous Javascript, CSS3 and HTML5 examples. </p>
<p>Here are the direct links:</p>
<h2>HTML5</h2>
<ul>
<li><a href="http://playground.html5rocks.com/#audio_tag">Audio Tag</a></li>
<li><a href="http://playground.html5rocks.com/#video_tag">Video Tag</a></li>
<li><a href="http://playground.html5rocks.com/#canvas_tag">Canvas Tag</a></li>
<li><a href="http://playground.html5rocks.com/#canvas_tag">Canvas Tag 3d WebGL (you&#8217;ll need a webgl capable browser, most nightly build FF, Chrome support this feature)</a></li>
</ul>
<h2>CSS3</h2>
<ul>
<li><a href="http://playground.html5rocks.com/#web_fonts">Web fonts</a></li>
<li><a href="http://playground.html5rocks.com/#2d_transforms">2d Transforms</a></li>
<li><a href="http://playground.html5rocks.com/#text_stroke">Text Stroke</a></li>
<li><a href="http://playground.html5rocks.com/#transitions">Transitions</a></li>
<li><a href="http://playground.html5rocks.com/#animations">Animations</a></li>
</ul>
<p>This blog also uses some css3 styles like gradients, rounded corners and box shadow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/02/html5rocks-playground/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use php and xml to mass download pages or images</title>
		<link>http://www.dotinga.com/2011/01/use-php-and-xml-to-mass-download-pages-or-images/</link>
		<comments>http://www.dotinga.com/2011/01/use-php-and-xml-to-mass-download-pages-or-images/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 15:00:44 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=317</guid>
		<description><![CDATA[Last week I had to download a lot of images.. I wasn't in the mood for a clicking spree so I decided to script the download proces using php and xml.]]></description>
			<content:encoded><![CDATA[<p>Last week I had to download a lot of images.. I wasn&#8217;t in the mood for a clicking spree so I decided to script the download proces using php and xml. I chose XML because all images where already in an XML file, it could have been .csv (comma separated values) exported from excel as well.</p>
<p>If you are planning to download very many files you may want to check php <a title="set_time_limit" href="http://php.net/manual/en/function.set-time-limit.php" target="_blank">set_time_limit value</a>.</p>
<p>Start by creating a folder structure, this usually works for me:<br />
project-name<br />
|-input -&gt; here the xml<br />
|-output -&gt; the downloaded images (make sure you (chmod 0777) this folder</p>
<p>My XML:</p>
<pre class="brush: xml; title: ; notranslate">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
    &lt;items&gt;
        &lt;item&gt;
            &lt;image&gt;http://www.path-to-some.com/image.gif&lt;/image&gt;
        &lt;/item&gt;
        &lt;item&gt;
            &lt;image&gt;http://www.path-to-some.com/image.gif&lt;/image&gt;
        &lt;/item&gt;
        &lt;item&gt;
            &lt;image&gt;http://www.path-to-some.com/image.gif&lt;/image&gt;
        &lt;/item&gt;
&lt;items&gt;
</pre>
<p>PHP:<br />
<del datetime="2011-02-10T07:59:35+00:00">For some strange reason I can&#8217;t use fopen, fclose and fwrite in my post, so be careful when copy-pasting the code to remove the whitespace.</del> My hosting provider changed some settings and now I&#8217;m able to use fopen() etc. again.</p>
<pre class="brush: php; title: ; notranslate">&lt;?php // get files from XML getImagesFromXML(&quot;input/images.xml&quot;); function getImagesFromXML($xmlurl) {     $input = file_get_contents($xmlurl);     $xml = new SimpleXMLElement($input);     foreach($xml---&gt;item as $v)
    {
        $url =  $v-&amp;gt;image;
        $tmp = explode(&quot;/&quot;, $url);
        save($url, end($tmp), &quot;output/&quot;);
    }

}

function save($image_location, $file_name, $save_folder)
{
	$contents = file_get_contents($image_location);
	list($version, $status_code, $msg) = explode(' ', $http_response_header[0], 3);

	// Check the HTTP Status code
	switch($status_code)
	{
		case 200:
		    // Everything alright download file
			$target_file = $save_folder . $file_name;

			// Check if file already exists
			if (file_exists($target_file))
			{
                            echo &quot;The file $target_file exists
&quot;;
                        }
                        else
                        {
                            echo &quot;The file $target_file does not exist
&quot;;
                            $fp = fopen ( $target_file, 'w' );
                			fwrite ( $fp, $contents );
                			fclose ( $fp );
                			return $target_file;
                        }

			break;
		case 503:
		case 403:
		case 400:
		default:
			return false;
	}
}
?&gt;</pre>
<p>getImagesFromXML:<br />
Line 3: Calls the getImagesFromXML function with the created XML.<br />
Line 5/6: Gets the content from the xml and creates a SimpleXMLElement<br />
Line 8: Loops through the XML parsing the url out<br />
Line 9/10: Creates an array from the url string. The image name can be extracted by taking the last slice in the array e.g. end($tmp);<br />
line 11: Puts the location, name and folder in the save function</p>
<p>save:<br />
Line 21: fetches the image<br />
Line 22: Gets the statuscode from the http_response_header<br />
Line 25: Switch on statuscodes (200 ok)<br />
Line 32: Check if the file already exists<br />
Line 38/42: Saves the image to the local filesystem</p>
<p>That&#8217;s it! Happy coding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/01/use-php-and-xml-to-mass-download-pages-or-images/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setup a javascript project in Intelij 10</title>
		<link>http://www.dotinga.com/2011/01/setup-a-javascript-project-in-intelij-10/</link>
		<comments>http://www.dotinga.com/2011/01/setup-a-javascript-project-in-intelij-10/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 19:32:08 +0000</pubDate>
		<dc:creator>jandotinga</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[intelij]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://dotinga.com/?p=270</guid>
		<description><![CDATA[Here is how to setup a simple html, css and javascript project in intelij 10.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working with <a title="Intelij 10" href="http://www.jetbrains.com/idea/download/">Intelij 10</a> for about a month now and I like it very much. Mainly the refactor possibilities and the code hinting are much beter than I&#8217;ve ever experienced. Also You can edit actionscript, javascript, php, xsl, java, etc. within the same <a title="IDE" href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a>. That said you can see it is mainly a java development IDE.</p>
<p>My previous development tool of choice was <a title="TextMate" href="http://macromates.com/">TextMate</a>. On windows I used <a title="TextPad" href="http://www.textpad.com/">TextPad</a> and <a title="NotePad++" href="http://notepad-plus-plus.org/">NotePad++</a>. I think it&#8217;s ideal for developing in a project environment, but when you have to quickly edit a html, css or javascript file you have to create a project first.</p>
<p>You can grab the community edition of <a title="Intelij 10" href="http://www.jetbrains.com/idea/download/">Intelij 10 here</a>.</p>
<p>Here is how to setup a simple html, css and javascript project in intelij 10. I&#8217;m using the paid version and I don&#8217;t know the difference with the community edition. You can try the full version for 30 days, it&#8217;s worth trying.</p>
<h3>Step 1 &#8211; setup project</h3>
<p>Create a new project from scratch. Choose next. In this screen you can set your project preferences, like below. Make sure you choose <strong>.ipr (file based) for your project file format</strong>. Otherwise you can&#8217;t add files and directories manually.</p>
<p><img src="/wp-content/uploads/2011/01/Screen-shot-2011-01-22-at-2.52.13-PM.png" alt="" width="500" /></p>
<p>Then choose next. The following dialog will be shown:</p>
<p><img src="/wp-content/uploads/2011/01/Screen-shot-2011-01-22-at-3.03.13-PM.png" alt="" width="500" /></p>
<p>Choose whatever you like, I&#8217;ll select not to create src dir. Choose next.<br />
In this screen select &#8216;Web Application&#8217; like below, then click finish.</p>
<p><img src="/wp-content/uploads/2011/01/Screen-shot-2011-01-22-at-3.06.35-PM.png" alt="" width="500" /></p>
<p>Now Intelij will build your project, and you can start adding files.</p>
<h3>Step 2 &#8211; add folders and files</h3>
<p>First we&#8217;ll be adding an index.html by right clicking the root project folder and choose html file. Same goes for css and js directories and files.</p>
<p><img src="/wp-content/uploads/2011/01/Screen-shot-2011-01-22-at-3.20.54-PM.png" alt="" width="500" /></p>
<h3>Step 3 &#8211; setup run/debug configuration</h3>
<p>In this step we will be creating the run/debug settings, to debug the javascript from within Intelij.</p>
<p><img src="/wp-content/uploads/2011/01/Screen-shot-2011-01-22-at-3.29.56-PM.png" alt="" width="500" /></p>
<p>In the run debug settings press the plus button, then choose javascript debugging and then local or server if you have a localhost. In the name field you specify local or remote. In the html location you browse to your created index.html file. Click apply and your project is setup and you can add a javascript library.</p>
<p>If anyone has additional tips for debuging in intelij please let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotinga.com/2011/01/setup-a-javascript-project-in-intelij-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: www.dotinga.com @ 2012-02-23 00:31:55 by W3 Total Cache -->
