<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Julian Castaneda</title>
	
	<link>http://www.smooka.com/blog</link>
	<description>From programming to music!</description>
	<lastBuildDate>Wed, 18 Aug 2010 13:59:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/smookablog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="smookablog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">smookablog</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Zend Framework: Internalization and Translation</title>
		<link>http://www.smooka.com/blog/2010/08/06/zend-framework-translation-internalization/</link>
		<comments>http://www.smooka.com/blog/2010/08/06/zend-framework-translation-internalization/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 20:08:12 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Frameworks and API's]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Zend_Translate]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=362</guid>
		<description><![CDATA[This week I set myself to lay the ground work of translation on the application we are doing at work. In our application we are using Zend [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smooka.com/blog/wp-content/uploads/translate1.png" alt="" title="translate" width="200" height="259" class="alignright size-full wp-image-377" />This week I set myself to lay the ground work of translation on the application we are doing at work. In our application we are using Zend Framework, so I decided to take a look into the Zend_Translate component to see if it was easy and something that could work in our current environment.</p>
<p>After reading the reference guide on <a href="http://framework.zend.com/manual/en/zend.translate.html" target="_blank">Zend_Translate</a> I decided that we were going to use &#8220;<a href="http://www.gnu.org/software/gettext/manual/gettext.html" target="_blank">gettext</a>&#8221; as our translation adapter.  PHP has support for gettext right our of the box, and with the Zend_Translate it&#8217;s easy to change adapters, if you decide that you want to use a different adapter.</p>
<p>Assuming that you already have the latest version of Zend Framework (1.10.*) installed in your server, I&#8217;m going to explain and guide you guys on how I got it all working.<br />
<span id="more-362"></span></p>
<p>First you need to get a tool that we will use to parse your project files to create the translation dictionaries. I&#8217;m using <a href="http://www.poedit.net/" target="_blank">PoEdit</a> which is free and supports multiple platforms.</p>
<p>Now let&#8217;s put some code down in your index.phtml file of you application. This one should be located in /yourapp/application/views/scripts/index/<br />
If it&#8217;s not there, then just create one, but make sure you have to corresponding controller and action.<br />
Inside of this file we are going to put the following:</p>
<pre class="brush: php;">

&lt;?php
$t = new Zend_Translate(
	'gettext',  //the adapter
	APPLICATION_PATH.'/translation', //where the lang files will be stored
	'auto',  //set to auto include .mo files
	array('scan' =&gt; Zend_Translate::LOCALE_FILENAME) //set to scan lang files
);

echo $t-&gt;_(&quot;This is my first translation&quot;).&quot;&lt;br/&gt;&quot;;
?&gt;
</pre>
<p>Before this piece of code works, we need to generate our translation files, else it will throw an error stating that the application can&#8217;t find the corresponding language files.</p>
<p>We need to create a new folder in your application folder. I&#8217;m calling it <strong>lang</strong>, but you can call it anything you want. This folder will be used to store your language files. So you should have something like &#8220;/yourapp/application/lang&#8221;.</p>
<p>After this, you need to open up PoEdit:</p>
<ol class="olblue">
<li>
<p>Go to File-&gt;Catalog Manager</p>
</li>
<li>
<p>Click on the &#8220;Create new translations project&#8221; icon</p>
</li>
<li>
<p>Give your project a name</p>
</li>
<li>
<p>Select the directory to store your translation files (&#8220;/yourapp/application/lang&#8221;) and hit OK</p>
</li>
</ol>
<p>With a newly crated project, we can now generate our language file.<br />
To do this,  close the Catalog Manager window</p>
<ol class="olblue">
<li>
<p>Go to File-&gt;New Catalog</p>
</li>
<li>
<p>Give it a project Name and/or version and be sure to feel in the appropriate information. Be sure to select Charset  &#8221;utf-8&#8243;</p>
</li>
<li>
<p>Now, click on the paths tab. Here you will have to add all the dir paths that point to the files that you want to parse for translation. (/yourapp/application/views/scripts/index/index.phtml)</p>
</li>
<li>
<p>Finally, click on the Keywords tab, and make sure you include the keyword the parser will use to identify the text that needs translation. In our example we will put an underscore &#8220;_&#8221;  since in our code we have echo $t-&gt;_(&#8220;This is my first translation&#8221;);</p>
</li>
<li>
<p>Hit OK and make sure that you save the file with a name such as mylang_en.po. The <strong>_en</strong> is crucial, since Zend_Translate will scan the appropriate language file and use this naming convention to load the appropriate file</p>
</li>
</ol>
<p>Since by default the PoEdit PHP parser handles files with .php extension. We need to modify the preferences so that it allows other types, such as .phtml files.<br />
To do this, go to Edit-&gt;Preferences-&gt;Parsers  When you get to parsers select PHP and then click on the EDIT button. In the parser setup window we need to add *.phtml extension to the &#8220;List of extensions&#8221; field in the Language section, separated by semicolons. The field should be something like this: <code>*.php;*.phtml</code><br />
Then, in the Invocation section, you need to add  -L php to the parser command. This should look like this  <code>xgettext --force-po -o %o %C %K %F -L php</code></p>
<p>Once you have completed this, a pop up screen will show the progress of the catalog update and then list you all the parsed strings. Hit OK and then you will be in the translation view. Just select the string you would like to translate save and you are good to go.</p>
<p>Once you&#8217;ve completed the following steps just copy the .po file and create additional one&#8217;s for the languages you want to do translation. Remember the naming convention discussed on the steps above.</p>
<p>In your code to switch languages, you need to put the following line <code>$t->setLocale('es');</code> This for example will switch the locale to Spanish and will try to load a file with &#8220;_es&#8221;</p>
<pre class="brush: php;">
&lt;?php
$t = new Zend_Translate('gettext', APPLICATION_PATH.'/translation', 'auto', array('scan' =&gt; Zend_Translate::LOCALE_FILENAME));

echo $t-&gt;_(&quot;This is my first translation&quot;).&quot;&lt;br/&gt;&quot;;

//change locale to spanish
$t-&gt;setLocale('es');

echo $t-&gt;_(&quot;This is my Second translation&quot;).&quot;&lt;br/&gt;&quot;;
?&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/H1BwQkkZJ8A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2010/08/06/zend-framework-translation-internalization/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>GetSimple Image Gallery – GSGallery v.2.0 Released</title>
		<link>http://www.smooka.com/blog/2010/05/19/getsimple-image-gallery-gsgallery-v-2-0-released/</link>
		<comments>http://www.smooka.com/blog/2010/05/19/getsimple-image-gallery-gsgallery-v-2-0-released/#comments</comments>
		<pubDate>Wed, 19 May 2010 20:50:50 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Get Simple]]></category>
		<category><![CDATA[getsimple]]></category>
		<category><![CDATA[image gallery]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[squareit]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=344</guid>
		<description><![CDATA[It is my pleasure to let you guys know that I just released version 2.0 of the GetSimple Image Gallery Plugin. This is a stable release that [...]]]></description>
			<content:encoded><![CDATA[<p>It is my pleasure to let you guys know that I just released version 2.0 of the GetSimple Image Gallery Plugin. This is a stable release that includes many fixes and improvements over the <a href="http://www.smooka.com/blog/2010/03/10/getsimple-simple-image-gallery-plugin/">last release</a> (v1.1.0).</p>
<h3>New Major Features:</h3>
<ul>
<li>Create multiple galleries</li>
<li>Ability to put a caption to each image</li>
<li>Added Multi-Language support</li>
</ul>
<p><span id="more-344"></span></p>
<div style="background-color:#FFFC9C; padding:5px; margin:0 auto; width:90%; border:1px solid #F5D133">Download GSGallery v2.0 and my other plugins in the <a href="http://www.smooka.com/blog/getsimple-plugins/">GetSimple Plugins</a> page.</div>
<p><img src="http://www.smooka.com/blog/wp-content/uploads/Screenshot-Square-It-Get-Simple-»-Simple-Image-Gallery-Chromium.png"  alt="Screenshot-Square It Get Simple » Simple Image Gallery" width="596" height="292" class="aligncenter size-full wp-image-348" style="padding:8px; border:1px solid grey" /></p>
<p>Also you will find this version to be better integrated into GetSimple, by using another plugin I created called &#8220;Admin Tab Loader&#8221; that is really more intended for GetSimple Plugin developers.</p>
<p>If you want to see what a image gallery created with the plugin click to view the <a href="http://www.squareitsol.com/gs/index.php?id=square-it-gallery-plugin-sample" target="_blank">demo</a>.</p>
<div style="background-color:#FFFC9C; padding:5px; margin:0 auto; width:90%; border:1px solid #F5D133">Download GSGallery v2.0 and my other plugins in the <a href="http://www.smooka.com/blog/getsimple-plugins/">GetSimple Plugins</a> page.</div>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/09oYFsfQVqc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2010/05/19/getsimple-image-gallery-gsgallery-v-2-0-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Useful CSS3 Resources</title>
		<link>http://www.smooka.com/blog/2010/05/19/useful-css3-resources/</link>
		<comments>http://www.smooka.com/blog/2010/05/19/useful-css3-resources/#comments</comments>
		<pubDate>Wed, 19 May 2010 13:40:28 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[border-radius]]></category>
		<category><![CDATA[box-shadow]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=326</guid>
		<description><![CDATA[<img class="alignleft size-medium wp-image-322" title="CSS Border Radius " src="http://www.smooka.com/blog/wp-content/uploads/Screenshot-CSS-Border-Radius-Chromium-300x213.png" alt="" width="300" height="213" />
I've been trying a couple of CSS3 features at work and on a couple of personal projects. Upon doing my usual search routine to find resources and information on google, I've stumble upon a couple of good pages that can help you try and learn features like: box-shadow, border-radius, and gradients.

<h3><a title="CSS border radius generator for lazy people." href="http://border-radius.com/" target="_blank">CSS border radius generator for lazy people</a></h3>
<span style="font-weight: normal; font-size: 13px;">This simple site gives you a quick an easy way to generate the CSS code for the awesome border-radius property.
</span>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-322" title="CSS Border Radius " src="http://www.smooka.com/blog/wp-content/uploads/Screenshot-CSS-Border-Radius-Chromium-300x213.png" alt="" width="300" height="213" />I&#8217;ve been trying a couple of CSS3 features at work and on a couple of personal projects. Upon doing my usual search routine to find resources and information on google, I&#8217;ve stumble upon a couple of good pages that can help you try and learn features like: box-shadow, border-radius, and gradients.</p>
<h3><a title="CSS border radius generator for lazy people." href="http://border-radius.com/" target="_blank">CSS border radius generator for lazy people</a></h3>
<p><span style="font-weight: normal; font-size: 13px;">This simple site gives you a quick an easy way to generate the CSS code for the awesome border-radius property.<br />
</span><br />
<span id="more-326"></span></p>
<h3><a href="http://www.westciv.com/tools/index.html" target="_blank">CSS3 Sandbox</a></h3>
<p>Here you would find a bunch of cool tools to try out. They have <a href="http://westciv.com/xray" target="_blank">XRAY</a> and MRI that are aimed more to the developer that wants to debug and  get quick information related to the page elements. But, If what you are looking is for CSS3 code generators, then explore the CSS3 Sandbox. It features code generators for <a title="CSS Gradients" href="http://westciv.com/tools/gradients" target="_blank">Gradients</a>, <a title="CSS Box Shadows" href="http://westciv.com/tools/shadows" target="_blank">Shadows</a>, <a href="http://westciv.com/tools/transforms/index.html" target="_blank">CSS transform</a>, <a href="http://westciv.com/tools/textStroke/index.html" target="_blank">CSS text stroke</a>.</p>
<p>Last but not least, you should check out <a href="http://www.css3.info/" target="_blank">CSS3.Info</a>. They have a lot of good resources and information on everything related to CSS3.</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/xpHYuEkngDo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2010/05/19/useful-css3-resources/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GetSimple Plugins: Simple Image Gallery</title>
		<link>http://www.smooka.com/blog/2010/03/10/getsimple-simple-image-gallery-plugin/</link>
		<comments>http://www.smooka.com/blog/2010/03/10/getsimple-simple-image-gallery-plugin/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 20:25:35 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Get Simple]]></category>
		<category><![CDATA[getsimple]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[squareit]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=297</guid>
		<description><![CDATA[I think I&#8217;ve become addicted to GetSimple CMS. In 5 days I have fully developed 2 plugins (check out -> TweetMeme reTweet Button plugin) and started development [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smooka.com/blog/wp-content/uploads/gsplug.gif" alt="" title="Get Simple Plugins" width="245" height="81" class="alignleft size-full wp-image-313" />I think I&#8217;ve become addicted to <a href="http://www.get-simple.info" title="Get Simple CMS">GetSimple CMS</a>. In 5 days I have fully developed 2 plugins (check out -> <a href="http://www.smooka.com/blog/2010/03/05/getsimple-tweetmeme-retweet-button-plugin/" title="TweetMeme reTweet Button plugin">TweetMeme reTweet Button plugin</a>) and started development in another. If you are a free-lance developer doing small websites for your clients, or you are just a regular guy trying to set up your small site. I recommend you check GetSimple. It&#8217;s easy to install, since it does NOT need a database. It pretty much works right out the box.<span id="more-297"></span></p>
<p>Enough rambling!</p>
<p><strong>Simple Image Gallery</strong>, is a new plug-in created to include a much needed functionality to Get Simple CMS. It uses the build in file manager to manipulate and upload new images to the server, then, just go to the plugins tab and click on the <em>Simple Image Gallery</em> link. The only thing you need to do here, is select the images you want to display in your image gallery. Once you have selected all the images you want to display in your page. Go to the <em>pages manager</em> and select the page you want to include the gallery. Once in the page editor, open the <em>page options</em> and select &#8220;Enable Image Gallery&#8221; and save the page and you are done!</p>
<p><img src="http://www.smooka.com/blog/wp-content/uploads/imagegal.gif" alt="" title="Square IT&#039;s Simple Image Gallery" width="600" height="175" class="aligncenter size-full wp-image-304" /></p>
<p>Installation is pretty simple. Just download the plugin, unzip it, upload the unzipped content to the plugins directory. </p>
<div style="background-color:#FFFC9C; padding:5px; margin:0 auto; width:90%; border:1px solid #F5D133">New version!! Download GSGallery v2.0 and my other plugins in the <a href="http://www.smooka.com/blog/getsimple-plugins/">GetSimple Plugins</a> page.</div>
<p><strong>Download:</strong> <a href="http://www.smooka.com/blog/wp-content/plugins/download-monitor/download.php?id=3" title="Downloaded 744 times">Simple Image Gallery Plugin</a> - v1.1.0</p>
<p>As always, if you have suggestions, concerns, you find bugs or just want to comment on how great the plugin is. Feel free to do so.</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/ZetcBVC19e0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2010/03/10/getsimple-simple-image-gallery-plugin/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>GetSimple Plugins: TweetMeme reTweet Button</title>
		<link>http://www.smooka.com/blog/2010/03/05/getsimple-tweetmeme-retweet-button-plugin/</link>
		<comments>http://www.smooka.com/blog/2010/03/05/getsimple-tweetmeme-retweet-button-plugin/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 03:59:01 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Get Simple]]></category>
		<category><![CDATA[getsimple]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[tweetmeme]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=276</guid>
		<description><![CDATA[This is my first attempt at creating plugins for Get Simple CMS, an awesome CMS system I&#8217;ve been playing around lately. So, I recommend you guys check [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.smooka.com/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/blog/wp-content/thumbnails/276.gif&amp;w=70&amp;h=70&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><img alt="Get Simple CMS" src="http://get-simple.info/theme/GS20_theme/images/logo.png" class="alignleft" width="225" height="32" />This is my first attempt at creating plugins for <a href="http://www.get-simple.info">Get Simple CMS</a>, an awesome CMS system I&#8217;ve been playing around lately. So, I recommend you guys check it out, if you are looking for a &#8220;Simple&#8221; content management system for your next project.</p>
<p>This plugin allows you to easily add TweetMeme&#8217;s reTweet Button to the content pages in GetSimple. It also includes a settings panel in the settings section of the administration area when you can customize the plugin. <span id="more-276"></span></p>
<p>Some of the available settings are:</p>
<blockquote><ul>
<li>Change the URL shortener</li>
<li>Change the size of the button (compact/expanded)</li>
<li>Change the @username who will be reTweeting the post</li>
<li>Disable the button for specific pages</li>
</ul>
</blockquote>
<p><strong>Download:</strong> <a href="http://www.smooka.com/blog/wp-content/plugins/download-monitor/download.php?id=2" title="Downloaded 220 times">TweetMeme reTweet GetSimple Plugin</a> - v1.0</p>
<p>Feel free to give feedback and let me know if you encounter any problems.</p>
<p><img src="http://www.smooka.com/blog/wp-content/uploads/retweetbtn.gif" alt="" title="GetSimple TweetMeme Retweet Button Plugin" width="542" height="200" class="aligncenter size-full wp-image-283" /></p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/vzRpqdjbPbE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2010/03/05/getsimple-tweetmeme-retweet-button-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Working with Google Charts and Visualization API</title>
		<link>http://www.smooka.com/blog/2009/11/09/working-with-google-charts-and-visualization-api/</link>
		<comments>http://www.smooka.com/blog/2009/11/09/working-with-google-charts-and-visualization-api/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 11:00:58 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Frameworks and API's]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=232</guid>
		<description><![CDATA[This week I had the chance to play around with Google&#8217;s charts API, and let me tell you that I&#8217;m loving it. In the past couple of [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.smooka.com/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/blog/wp-content/thumbnails/232.jpg&amp;w=70&amp;h=70&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><img alt="Red line chart with pale gray background" src="http://chart.apis.google.com/chart?cht=lc&amp;chd=s:pqokeYONOMEBAKPOQVTXZdecaZcglprqxuux393ztpoonkeggjp&amp;chco=FF0000&amp;chls=4.0,3.0,0.0&amp;chs=200x125&amp;chxt=x,y&amp;chxl=0:|Jun|July|Aug|1:||20|30|40|50&amp;chf=bg,s,EFEFEF" align="left"/>This week I had the chance to play around with Google&#8217;s charts API, and let me tell you that I&#8217;m loving it. In the past couple of years I&#8217;ve had to integrate charts into the different projects. I have used everything from Fusion Charts, to PHP/SWF Charts, and DOJO&#8217;s charting engine. But, since I learned that Google provided developers with an API to create charts on the fly, I wanted to give it a try. <span id="more-232"></span></p>
<p><b>To create static bart chart is as simple as:</b></p>
<pre class="brush: xml; light: true;">
&lt;img src=&quot;http://chart.apis.google.com/chart?
cht=bvs
&amp;chs=200x125
&amp;chd=t:10,50,60,80,40|50,60,100,40,20
&amp;chco=4d89f9,c6d9fd
&amp;chbh=20&amp;chds=0,160&quot;/&gt;
</pre>
<p><b>Let me break out the parameters for you into:</b><img src="http://chart.apis.google.com/chart?cht=bvs&#038;chs=200x125&#038;chd=t:10,50,60,80,40|50,60,100,40,20&#038;chco=4d89f9,c6d9fd&#038;chbh=20&#038;chds=0,160" align="right"/><br />
// this is the chart type<br />
<code>cht=bvs </code><br />
//this is the bar colors<br />
<code>chco=4D89F9,C6D9FD</code><br />
//this is the chart values<br />
<code>chd=t:10,50,60,80,40|50,60,100,40,20</code><br />
//chart dimensions<br />
<code>chds=0,160</code></p>
<p>In  the <a href="http://code.google.com/apis/chart/types.html" rel="nofollow" target="_blank">Google Charts API</a> website you can find more info regarding this simple but useful chart api. But, that&#8217;s not all. They also have the <a href="http://code.google.com/apis/visualization/" rel="nofollow" target="_blank">Google Visualization API</a> where they actually give you more advanced and dynamic set of visualization tools. They pretty much opened their entire library of data visualization helpers to allow developers like yourself create user interfaces that contain elements that some of your users will be used to seeing, since graphs, charts and other elements you will find in this API is already being implemented in google products.</p>
<p>I encourage you to check both, the more simple and straight forward <a href="http://code.google.com/apis/chart/types.html" rel="nofollow" target="_blank">Charts API</a>, or the more advanced and dynamic <a href="http://code.google.com/apis/visualization/" rel="nofollow" target="_blank">Visualtization API</a>. </p>
<p>Feel free to let me and the readers know on the exiting ways you are utilizing those API&#8217;s</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/7ABq0SACDCk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2009/11/09/working-with-google-charts-and-visualization-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Zend Studio on Ubuntu 64-bit</title>
		<link>http://www.smooka.com/blog/2009/11/02/installing-zend-studio-on-ubuntu-64-bit/</link>
		<comments>http://www.smooka.com/blog/2009/11/02/installing-zend-studio-on-ubuntu-64-bit/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 19:38:11 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=224</guid>
		<description><![CDATA[Today I tried to install Zend Studio 7.0 on the latest 64-bit version of Ubuntu (9.10). Initially, it would just throw an error. (exec: 2481: /tmp/install.dir.2855/Linux/resource/jre/bin/java: not [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.smooka.com/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/blog/wp-content/thumbnails/224.jpg&amp;w=70&amp;h=70&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>Today I tried to install Zend Studio 7.0 on the latest  64-bit version of Ubuntu (9.10). Initially, it would just throw an error. (<em>exec: 2481: /tmp/install.dir.2855/Linux/resource/jre/bin/java: not found</em>). Since, the error was related to the installer not being able to find the java JRE that came bundled with the installer, I decided to install with the system&#8217;s JRE using:</p>
<p><code>./ZendStudio7_0_0.bin LAX_VM /usr/bin/java</code></p>
<p>That seemed to do the trick, but, once the installer had finished. Trying to open Zend Studio would give me an error <em>(Failed to execute child process &#8220;/usr/local/Zend/Zend Studio-7.0.0/ZendStudio&#8221; (No such file or directory)</em>). At this point I was about to give up, until I did a little bit of research and found that the problem was more simple that I imagined.<span id="more-224"></span></p>
<p>Just run the following command in your terminal window:</p>
<p><code>sudo aptitude install libc6-i386 ia32-libs</code></p>
<p>ia32 is a package that contains runtime libraries for the ia32/i386 architecture, configured for use on systems running a 64-bit kernel. This will allow to install and run Zend Studio, but It will enable compatibility with any other application designed for 32-bit processors.</p>
<p>After running the above command, and installing Zend Studio, I ran into my second problem. A bug in eclipse that would not allow me to click on next or finish in certain windows. In my case, was when I was trying to create a new remote connection. To fix this problem I had to do the following steps:</p>
<ul>
<li>1). Open terminal and go to Zend Studio Directory.</li>
<li>2). Create a new file called ZendStudio.sh and open it.<br />
<code>vi ZendStudio.sh</code></li>
<li>3). Paste the following code, save and then close it:<br />
<code>#!/bin/sh<br />
CURDIR=`dirname $0`<br />
export GDK_NATIVE_WINDOWS=1<br />
$CURDIR/ZendStudio</code></li>
<li>4). Change the permissions of the file for execution<br />
<code>chmod +w ZendStudio.sh</code></li>
<li>5). Go to your application launcher, and right click and select properties.<br />
Once in the properties dialog, modify the command field.</p>
<p>Change the path from:</p>
<p><code>"/home/{USER}/Zend/ZendStudio-7.0.0/ZendStudio"</code></p>
<p>to</p>
<p><code>"/home/{USER}/Zend/ZendStudio-7.0.0/ZendStudio.sh"</code></p>
<p>So basically you are adding the .sh extension.</li>
<li>6). Close the window and open Zend Studio, everything should be working fine now.</li>
</ul>
<p>I hope this information helps you if you happen to run with the same problem I did. Let me know if you have a different solution.</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/5Ci4qLRGvuE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2009/11/02/installing-zend-studio-on-ubuntu-64-bit/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Best Practices – Displaying Application Messages and Alerts</title>
		<link>http://www.smooka.com/blog/2009/10/15/best-practices-displaying-application-messages-and-alerts/</link>
		<comments>http://www.smooka.com/blog/2009/10/15/best-practices-displaying-application-messages-and-alerts/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 13:00:37 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[alerts]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[jAlert]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=191</guid>
		<description><![CDATA[On my last post I wrote on how to debug and log error messages using Zend Framework and Firebug. Today I wanted to write on how to [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.smooka.com/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/blog/wp-content/thumbnails/191.jpg&amp;w=70&amp;h=70&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><img class="alignleft size-full wp-image-200" title="traffic-light" src="http://www.smooka.com/blog/wp-content/uploads/traffic-light.jpg" alt="traffic-light" width="125" height="125" />On my last post I wrote on <a href="http://www.smooka.com/blog/2009/08/21/zend-framework-firebug-log-debug/">how to debug and log error messages using Zend Framework and Firebug</a>. Today I wanted to write on how to properly display messages and alerts to users.</p>
<p>There are different type of messages you can display to a user in a web application. From the typical validation messages, to a dreadful fatal error in your app.  Here are some rules I tend to follow when alerting the users that they must take an action without causing confusion:</p>
<ul>
<li>Use the same massaging system to display all messages</li>
<li>Stick to 3 different types: warning (<span style="color: #ffcc00;">yellow</span>),  success (<span style="color: #008000;">green</span>), and error (<span style="color: #ff0000;">red</span>)</li>
<li>On system error, do not display the system error to the user</li>
<li>Display informative messages when interface can be confusing</li>
</ul>
<p><span id="more-191"></span></p>
<p>Users tend to adapt to applications, but if you are not consistent with your user interface, users will have a more difficult time associating things. That&#8217;s why I suggest you stick to one messaging system (format). This will create a balance in the application and users will be less prone to confusion.</p>
<p>Associating color to different types of actions or messages has been used for decades and not just on the web. The clearest example is traffic lights were you see the common <span style="color: #ff0000;">red</span>, <span style="color: #f8cc06;">yellow</span> and <span style="color: #008000;">green</span>.<br />
So, why re-invent the wheel and introduce new types of messages with weird color associations. Stick to at least these 3 basic colors, and use them accordingly. For example, if you have a fatal error or you want the user to stop the current action use <span style="color: #ff0000;">red</span>. To warn or inform the user then use <span style="color: #ffcc00;">yellow</span>, and last but not least use <span style="color: #008000;">green</span> for success messages.</p>
<p>On system error, do not display the system error to the user. This rule should be obvious, but for some reason there are still developers that like to show errors or exceptions that the application throws. Always display a user friendly message. Something along the lines of &#8220;Sorry, an unexpected error occurred. Please try again, and if the problem persists please let us know&#8221;. Remember to log the error, so you can troubleshoot the problem at a later time if necessary.</p>
<p style="text-align: center;"><img class="size-full wp-image-197 aligncenter" title="FreshBooks" src="http://www.smooka.com/blog/wp-content/uploads/fresh2.JPG" alt="FreshBooks" width="530" height="240" /></p>
<p>My last rule is about guiding the users on how to use your application. When I&#8217;m creating a new application, I always have some idea on how the user should use a certain feature within the app. This does not  mean they will use it how you thought. So why not train them while the use the application. My suggestion is to display messages that will be helpful, especially in places were the application can be confusing, or you want them to follow some sort of path. Never assume the user will be smart enough to figure out how to use your application!</p>
<p>That being said, I developed <a href="http://www.smooka.com/blog/2009/02/22/jalert-jquery-alert-box-plugin/" target="_self">jAlert, a plug-in for jQuery</a> that will aid you in displaying messages accordingly to the rules I discussed. Feel free to to use it on any of your projects.</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/2BpTHDZXxMw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2009/10/15/best-practices-displaying-application-messages-and-alerts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework and Firebug – Log and Debug your Projects</title>
		<link>http://www.smooka.com/blog/2009/08/21/zend-framework-firebug-log-debug/</link>
		<comments>http://www.smooka.com/blog/2009/08/21/zend-framework-firebug-log-debug/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 12:53:57 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[Frameworks and API's]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[wildfire]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=162</guid>
		<description><![CDATA[When developing an application there are some important factors that you have to pay close attention to avoid problems in the future. I think one of the [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.smooka.com/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/blog/wp-content/thumbnails/162.jpg&amp;w=70&amp;h=70&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><img src="http://www.smooka.com/blog/wp-content/uploads/firebug.jpg" alt="firebug" title="firebug" width="162" height="162" class="alignleft size-full wp-image-167" />When developing an application there are some important factors that you have to pay close attention to avoid problems in the future. I think one of the most important is logging information on how your application is working and when it fails.</p>
<p>Must of us like to log only big exceptions and fatal errors, but the truth is, that when you are in the development process it&#8217;s very important to keep track of not just errors, but important information of when something gets executed. As a web developer one of the most important tools to have is <a href="http://getfirebug.com/">FireBug</a>. If you didn&#8217;t know, FireBug has an API that you can use to send console messages for logging purposes, when debugging JavaScript. But, did you know you can use FireBug to debug your php applications?<span id="more-162"></span></p>
<p>Through <a href="http://www.wildfirehq.org/">Wildfire</a>, a project that was created to help developers have a standard way for sending messages between different programming languages and scripts. The <a href="http://framework.zend.com/">Zend Framework</a> is now able to communicate to the Firebug console in order to display logging messages injected by PHP.</p>
<p>Using this component is pretty straight forward if you are using Zend_Controller_Front (MVC) with zend Framework.</p>
<p>Place this in your bootstrap file before dispatching your front controller</p>
<pre class="brush: php;">
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);
</pre>
<p>Then whenever you want to log something to Firebug just use it in your model, view, or controller like this.</p>
<pre class="brush: php;">
$logger-&gt;log('This is an INFORMATIONAL log message!', Zend_Log::INFO);
$logger-&gt;log('This is a WARNING log message!', Zend_Log::WARN);
$logger-&gt;log('This is an ERROR log message!', Zend_Log::ERROR);
</pre>
<p>If you notice in the example above, you can specify the type of message you want to log (INFO, WARN, etc..). This is helpful when you want to clearly identify what type of message you are viewing since it will apply a special formatting and in some instances provide more information.</p>
<p>If you want to use the <a href="http://framework.zend.com/manual/en/zend.log.writers.html#zend.log.writers.firebug">Zend_Log_Writer_Firebug </a>as a stand alone here is the sample code you can use:</p>
<pre class="brush: php;">
//Instantiate the Firebug Writer
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);

//start the wildfire component
$request = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel-&gt;setRequest($request);
$channel-&gt;setResponse($response);

// Start output buffering
ob_start();

// Now you can make calls to the logger

$logger-&gt;log('This is a log message!', Zend_Log::INFO);

// Flush log data to browser
$channel-&gt;flush();
$response-&gt;sendHeaders();
</pre>
<p>If you don&#8217;t use ZendFramework there is another alternative to php developers. FirePhp, will also enable you to send log messages to Firebug by using php method calls. Be sure to check <a href="http://www.firephp.org/">FirePhp website</a> to get more information.</p>
<p>So remember that this is just one easy and great way to debug your projects, there are many other tools and methods you can incorporate into your projects. If you want to share other ways or simply just want to ask a question regarding this post, feel free to leave a comment.</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/OJq1qx1zxFc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2009/08/21/zend-framework-firebug-log-debug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Facebook iPhone App 3.0</title>
		<link>http://www.smooka.com/blog/2009/08/18/facebook-iphone-app-3-0/</link>
		<comments>http://www.smooka.com/blog/2009/08/18/facebook-iphone-app-3-0/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 20:32:27 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://www.smooka.com/blog/?p=146</guid>
		<description><![CDATA[According to Joe Hewitt, developer of the facebook app. Version 3.0 of the facebook application has already been submitted to apple, and it&#8217;s waiting for approval. Here [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.smooka.com/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/blog/wp-content/thumbnails/146.jpg&amp;w=70&amp;h=70&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>According to <a rel="nofollow" href="http://twitter.com/joehewitt">Joe Hewitt</a>, developer of the facebook app. Version 3.0 of the facebook application has already been submitted to apple, and it&#8217;s waiting for approval.<br />
<span id="more-146"></span><br />
<img class="alignleft size-medium wp-image-150" title="facebook 3.0" src="http://www.smooka.com/blog/wp-content/uploads/	6015_119271043379_6628568379_2445795_651735_n.jpg" alt="facebook 3.0" width="208" height="300" /></p>
<p><strong>Here is what&#8217;s new on the version of the app will contain:</strong></p>
<ul>
<li>New and improved Home screen that allows you to create shortcuts to your favorite friends and Pages</li>
<li>Events: the new events screen will allow you to see your upcoming Events and RSVP</li>
<li>Pages: support for pages was added so you can easily see and become fan of Pages and if you are a Page admin you can now post updates and photos to your pages.</li>
<li>Birthdays: see your friends&#8217; b-days.</li>
<li>Notes: now you can write Notes and read your friends&#8217; Notes</li>
<li>Complete photo management (create albums, delete albums, delete photos, delete photo tags, Upload photos to any album)</li>
<li>Upload videos from an iPhone 3GS</li>
<li>Change your Profile Picture</li>
<li>Zoom into photos</li>
<li>Like functionality was added so you can like posts and photos</li>
<li>See the same News Feed as the Facebook website</li>
<li>Visit links in a built-in web browser</li>
<li>See all of your friends&#8217; friends and Pages</li>
<li>See mutual friends</li>
<li>Easily search for people and Pages</li>
<li>Make friend requests</li>
<li>Quickly call or text your friends</li>
<li>Friends sorted by first or last name according to your settings</li>
<li>Chat friends sorted alphabeticaly</li>
</ul>
<p>There are a few missing functionality that we have been waiting for. But Joe Hewitt already mentioned in his twitter account that he already started development of version 3.1 of the facebook app and it will include &#8220;Push Notifications&#8221; and &#8220;Landscape Mode&#8221; and I guess he will throw in a few more small features.</p>
<p>Now with version 3.0 of the facebook application Will we ever need to go into the full facebook.com website? I guess that depends on how you use facebook, but, in my opinion I will be visiting the site less.</p>
<p><strong>Update: </strong> According to the developer of the application the update it&#8217;s live on the iPhone App Store. So go grab it and let us know what you think.</p>
<img src="http://feeds.feedburner.com/~r/smookablog/~4/8SGFJwwUzJQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.smooka.com/blog/2009/08/18/facebook-iphone-app-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
