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

<channel>
	<title>Spacebug Open Source Initiative</title>
	<atom:link href="https://spacebug.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://spacebug.com</link>
	<description>Keeping Software Simple, Open and Pragmatic.</description>
	<lastBuildDate>Thu, 20 May 2010 05:06:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.9</generator>
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>The Role of the Software Architect as a Roadblock</title>
		<link>https://spacebug.com/the-role-of-the-software-architect-as-a-roadblock/</link>
					<comments>https://spacebug.com/the-role-of-the-software-architect-as-a-roadblock/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Tue, 25 May 2010 08:57:34 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Opinion]]></category>
		<guid isPermaLink="false">http://spacebug.com/?p=417</guid>

					<description><![CDATA[A software architect has an impotent role in software development- he explores the business needs, chooses the right technologies, designs and aids in implementation. Amongst other things an architect serves as a quality gate in the origination, preventing bad technology decisions and migrating technological risks. But what happens when a quality gate is raised to [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://spacebug.com/wp-content/uploads/2010/05/roadblock.jpg"></a><a href="http://farm1.static.flickr.com/33/54408373_af2dfafa99.jpg"><img decoding="async" loading="lazy" class="alignright" title="roadblock" src="http://farm1.static.flickr.com/33/54408373_af2dfafa99.jpg" alt="" width="280" height="235" /></a>A software architect has an impotent role in software development- he explores the business needs, chooses the right technologies, designs and aids in implementation. Amongst other things an architect serves as a quality gate in the origination, preventing bad technology decisions and migrating technological risks. But what happens when a quality gate is raised to high and risk mitigation is more impotent than the needs for change – then the architect becomes a roadblock to any change and innovation, the architect them becomes a person you need to “pass” rather than “consult with”.</p>
<p><span id="more-417"></span></p>
<h3>The problem domain</h3>
<p>“We must pass the architects review” said the client to me with a frightened voice. “You do not know them, they are a real pain in the &#8230;” “I need you to manage and make our in-house architects happy, they can stop any project!” &#8211; I hear this often and it makes me think if these architects have forgotten why they are there for – to facilitate the empowerment of business through technology.</p>
<h3>Why are these architects blocking any new project?</h3>
<p>An architects needs to drive the satisfaction and enablement of business, but he also need to ensure that new solution conforms to security and technology standards he has put in place to ensure the quality of the overall enterprise/solution-set.</p>
<p>Business drivers (such as cost and timeframes) sometime conflict with the company’s overall technology strategy and if an architect sticks to the “perfect process, perfect framework, perfect technology” he could kill most projects proposed by business.</p>
<h3>How to be a roadblock</h3>
<ol>
<li>Enforce cumbersome technology approval processes that take a very long time.</li>
<li>Mandate unneeded documentation.</li>
<li>Criticise every decision without giving any alternatives</li>
<li>Drive SOA and integration where there are not needed</li>
<li>Mandate N-tier (N&gt;3) architecture even for the simplest of sites</li>
<li>Focus on technology and forget about business needs</li>
</ol>
<h3>How to be a productive architect</h3>
<ol>
<li>Streamline technology choices</li>
<li>Promote a pragmatic approach</li>
<li>Facilitate  business integration, when needed, through SOA</li>
<li>Understand the business and  it’s needs</li>
</ol>
<p>The architect needs to be the “go to guy”, guru or, at worst case, the Mega-geek &#8211; not the roadblock.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/the-role-of-the-software-architect-as-a-roadblock/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Does Google prefer WordPress over Drupal?</title>
		<link>https://spacebug.com/does-google-prefer-wordpress-over-drupal/</link>
					<comments>https://spacebug.com/does-google-prefer-wordpress-over-drupal/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Thu, 20 May 2010 09:59:43 +0000</pubDate>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">http://spacebug.com/?p=426</guid>

					<description><![CDATA[After 2 weeks of hard work, I have ported spacebug from Drupal to WordPress. I still believe that these are both great web platforms and have their unique advantages in their domain. I am planning to do a technological comparison between Drupal and WordPress later on this month, but the major change I see is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>After 2 weeks of hard work, I have ported spacebug from Drupal to WordPress. I still believe that these are both great web platforms and have their unique advantages in their domain. I am planning to do a technological comparison between Drupal and WordPress later on this month, but the major change I see is in terms of hits from Google.</p>
<p>I have noticed an<strong> immediate increase in hits from Google</strong> on the same content, using the same SEO principals and same links. The increase is significant (around <strong>20% more traffic</strong> over the last 5 days)</p>
<p>Which makes me wonder:<br />
<strong> Does Google prefer WordPress over Drupal?</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/does-google-prefer-wordpress-over-drupal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Javascript Object to String</title>
		<link>https://spacebug.com/javascript-object-to-string/</link>
					<comments>https://spacebug.com/javascript-object-to-string/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Wed, 19 May 2010 10:00:34 +0000</pubDate>
				<category><![CDATA[Deep Dive]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://spacebug.com/?p=400</guid>

					<description><![CDATA[Javascript is a little hard to debug, Firebug helps a lot, but sometime you just to need to convert a javascript object into a string. In order to do that (in firefox) you could use the toSource() method. Here is how you do it: // create an object var anyObject = {'someAtt':'someValue', 'otherAtt' : 'otherValue'}; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Javascript is a little hard to debug, Firebug helps a lot, but sometime you just to need to convert a javascript object into a string.<br />
In order to do that (in firefox) you could use the toSource() method.<br />
Here is how you do it:</p>
<pre>
<code>
// create an object
var anyObject = {'someAtt':'someValue', 'otherAtt' : 'otherValue'};
// get the object to source
var anyObjectToString = anyObject.toSource() ;
// now write the string
document.writeln(anyObjectToString );
</code>
</pre>
<p>Here is the printout of this code in firefox:</p>
<p><script type="text/javascript">
// create an object
var anyObject = {'someAtt':'someValue', 'otherAtt' : 'otherValue'};
// get the object to source
var anyObjectToString = anyObject.toSource() ;
// now write the string
document.writeln(anyObjectToString );
</script></p>
<p>In Internet Explorer and Chrome this will generate a Javascript error &#8211; but this is not for production so using it in Firefox would do fine.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/javascript-object-to-string/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Testing Windows Live Writer with Drupal</title>
		<link>https://spacebug.com/testing-windows-live-writer-with-drupal/</link>
					<comments>https://spacebug.com/testing-windows-live-writer-with-drupal/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Mon, 17 May 2010 07:52:41 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">http://spacebug.com/?p=395</guid>

					<description><![CDATA[Drupal blogger &#8211; aren&#8217;t you tiered of writing HTML for every blog post? I am using Drupal 6.X and it does not come with a WYSIWYG editor by default. I tried a couple of WYSIWYG modules but non of them were really good. Drupal 7 is suppose to have great WYSIWYG integration, till then I [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Drupal blogger &#8211; aren&#8217;t you tiered of writing HTML for every blog post? I am using Drupal 6.X and it does not come with a WYSIWYG editor by default. I tried a couple of WYSIWYG modules but non of them were really good. Drupal 7 is suppose to have great WYSIWYG integration, till then I will try my luck with a few desktop blogging tools</p>
<p>First one:</p>
<p><a href="http://get.live.com/writer/overview">Windows LiveWriter</a> is an impressive blog editor, and is probably the cleanest one. It provides the familiar user interface that one would expect from usual Microsoft applications. Writing a blog entry with intuitive features like a rich text editor and spell checker is easy. Users also have the ability to quickly add images and other media</p>
<p>Source &#8211;&nbsp; <a title="http://www.smashingmagazine.com/2008/08/01/15-desktop-blogging-tools-reviewed/" href="http://www.smashingmagazine.com/2008/08/01/15-desktop-blogging-tools-reviewed/">http://www.smashingmagazine.com/2008/08/01/15-desktop-blogging-tools-reviewed/</a></p>
<p>So here we start:</p>
<p><span id="more-395"></span></p>
<ul>
<li>here
</li>
<li>is
</li>
<li>a list </li>
</ul>
<ol>
<li>and an
</li>
<li>ordered
</li>
<li>one too </li>
</ol>
<p>Image:</p>
<p>&nbsp;<img decoding="async" loading="lazy" title="BLOG" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="153" alt="BLOG" src="http://spacebug.com/sites/default/files/blog-pic_3.jpg" width="240" border="0" /> </p>
<div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c7046df7-3831-4947-892d-71d372295358" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/blogging" rel="tag">blogging</a>,<a href="http://technorati.com/tags/tests" rel="tag">tests</a>,<a href="http://technorati.com/tags/WYSIWYG" rel="tag">WYSIWYG</a></div>
<p>how does it look on the desktop side:</p>
<p><a href="http://spacebug.com/sites/default/files/Capture2_2.jpg"><img decoding="async" loading="lazy" title="Capture2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="365" alt="Capture2" src="http://spacebug.com/sites/default/files/Capture2_thumb_1.jpg" width="500" border="0" /></a> </p>
<p>Do you know of a better desktop blogging tool?</p>
<p>Note- Since the publishing of this post I have ported my Blog to WordPress </p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/testing-windows-live-writer-with-drupal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CakePHP Ajax/JSON calls fail? Try turning debug output off</title>
		<link>https://spacebug.com/cakephp-ajax-json-calls-fail-try-turning-debug-output-off/</link>
					<comments>https://spacebug.com/cakephp-ajax-json-calls-fail-try-turning-debug-output-off/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Sun, 16 May 2010 23:34:17 +0000</pubDate>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://spacebug.com/wp/?p=383</guid>

					<description><![CDATA[CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. CakePHP provides several Ajax features, but if cakephp debug is not turned off, most Ajax calls and JSON encoding would fail. The problem / symptoms When calling a server side cakephp method through Ajax calls usualy [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://spacebug.com/sites/default/files/ajax_2.jpg"><img decoding="async" loading="lazy" title="ajax" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="189" alt="ajax" src="http://spacebug.com/sites/default/files/ajax_thumb.jpg" width="240" align="right" border="0"> CakePHP</a> is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. CakePHP provides several Ajax features, but if cakephp debug is not turned off, most Ajax calls and JSON encoding would fail.</p>
<h4>The problem / symptoms </h4>
<p>When calling a server side cakephp method through Ajax calls usualy in combination with JSON encoding, the call fails. The server returns HTTP 200 and everything seems fine, but the Ajax call just doesn&#8217;t work.</p>
<p><span id="more-383"></span></p>
<h4>Diagnostic</h4>
<p>By default, cakePHP adds debug information to it’s HTML output. This debug information is very useful, but also very disruptive to Ajax calls and JSON parsing.</p>
<h4>The solution </h4>
<p>Turn debug off by setting it to 0 &#8211; There are two ways you can do that:</p>
<p> 1) For the entire cakephp application – go to core.php under the app/config folder and replace this line “Configure::write(&#8216;debug&#8217;, 2);” with this line “Configure::write(&#8216;debug&#8217;, 0);”</p>
<p> 2) For only a specific method call &#8211; add this line to your relevant method in the controller &#8211; </p>
<p>function yourAjaxCallMethod() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configure::write(&#8216;debug&#8217;, 0); </p>
<p>… </p>
<p>}</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/cakephp-ajax-json-calls-fail-try-turning-debug-output-off/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>When to Stop Support for old Browsers such as FireFox 2 and Internet Explorer 6</title>
		<link>https://spacebug.com/when-to-stop-support-for-old-browsers-such-as-firefox-2-and-internet-explorer-6/</link>
					<comments>https://spacebug.com/when-to-stop-support-for-old-browsers-such-as-firefox-2-and-internet-explorer-6/#comments</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Sun, 16 May 2010 23:31:26 +0000</pubDate>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://spacebug.com/wp/?p=381</guid>

					<description><![CDATA[Let’s face it- old browsers are a pain in the rear. Browsers like FireFox 2 and Internet Explorer 6 do not behave like modern browsers. They do not render HTML in the same way and do not interpret JavaScript in the same way. You can, most of the time, fix these issues, but the process [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" style="border: 0px;" src="http://spacebug.com/img/browsers.jpg" border="0" alt="" align="right" /></p>
<p>Let’s face it- old browsers are a pain in the rear.  Browsers like FireFox 2 and Internet Explorer 6 do not behave like modern browsers. They do not render HTML in the same way and do not interpret JavaScript in the same way. You can, most of the time, fix these issues, but the process costs a lot in terms of testing, development, and time to market. I was just involved in a project were a client insistent on going through 12 browsers and paid hundreds of thousands of dollars for that line item.</p>
<p>The problem is that clients still use these browsers and expect to view your site properly with their legacy browsers. So, when do you stop supporting old browsers?</p>
<p><span id="more-381"></span></p>
<h4>Option 1 – follow the big companies</h4>
<p>Big companies like Google, Yahoo, and Microsoft announce their support for legacy browsers. When they stop supporting an old browser you know you can start doing that too.</p>
<ul>
<li>For yahoo check out &#8211; <a href="http://developer.yahoo.com/yui/articles/gbs/">http://developer.yahoo.com/yui/articles/gbs/</a></li>
<li>For Google check out &#8211; <a href="http://googledocs.blogspot.com/2010/01/web-browser-support-for-docs-and-sites.html">http://googledocs.blogspot.com/2010/01/web-browser-support-for-docs-and-sites.html</a></li>
<li>For Microsoft check out &#8211; <a href="http://office.microsoft.com/en-us/help/HP010294751033.aspx">http://office.microsoft.com/en-us/help/HP010294751033.aspx</a></li>
</ul>
<h4>Option 2 – Check out browser statistics</h4>
<p>If a browser costs you 10,000$ to support, but has only 0.5% market share, you have a good business case to removed it from your supported list.</p>
<p>Here is an example of where you find browser usage statistics &#8211; <a href="http://www.w3schools.com/browsers/browsers_stats.asp">http://www.w3schools.com/browsers/browsers_stats.asp</a></p>
<p>Here is another example &#8211;<br />
<a href="http://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_table"> http://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_table</a></p>
<h4>Option 3 &#8211; negotiate with your clients</h4>
<p>This is a tricky one, business owners have limited budget, you need to agree with your business owner which browsers should be supported. If he/she insists on supporting old browsers they need to know how much they are going to pay for that, and how much are they going to loss in other fields, such as functionality.</p>
<h4>Leverage your knowledge</h4>
<p>Know your clients, if you are developing an application for Mac users, you should definitely support safari. If you are developing an application for internal use, you can mandate a much smaller set of supported browsers.</p>
<h4>Rule of Thumb</h4>
<p>As a rule of thumb, I recommend supporting at least two of the latest versions of most popular browsers.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/when-to-stop-support-for-old-browsers-such-as-firefox-2-and-internet-explorer-6/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Great New Free WordPress Themes From Skinpress</title>
		<link>https://spacebug.com/great-new-free-wordpress-themes-from-skinpress/</link>
					<comments>https://spacebug.com/great-new-free-wordpress-themes-from-skinpress/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Thu, 29 Apr 2010 18:20:42 +0000</pubDate>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://spacebug.com/wp/?p=116</guid>

					<description><![CDATA[There are a lot of good WordPress themes out there and a lot of deprecated ones too. In my pursuit for a great WordPress theme I went over hundreds of themes. I finally came across skinpress themes. IMHO they provide a great set of themes, offering WordPress 2.9.2 new features support and all the social [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There are a lot of good WordPress themes out there and a lot of deprecated ones too. In my pursuit for a great WordPress theme I went over hundreds of themes. I finally came across skinpress themes. IMHO they provide a great set of themes, offering WordPress 2.9.2 new features support and all the social goodies.</p>
<p>Here are two examples:</p>
<p><a href="http://spacebug.com/wp/wp-content/uploads/2010/04/wordpress-skinpress2.jpg"><img decoding="async" loading="lazy" class="aligncenter size-medium wp-image-118" title="wordpress-skinpress2" src="http://spacebug.com/wp/wp-content/uploads/2010/04/wordpress-skinpress2-300x147.jpg" alt="" width="300" height="147" srcset="https://spacebug.com/wp-content/uploads/2010/04/wordpress-skinpress2-300x147.jpg 300w, https://spacebug.com/wp-content/uploads/2010/04/wordpress-skinpress2-1024x505.jpg 1024w, https://spacebug.com/wp-content/uploads/2010/04/wordpress-skinpress2.jpg 1251w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="http://www.skinpress.com/grungie-wp-theme/" target="_blank">Grungie wp theme</a></p>
<p><img decoding="async" loading="lazy" class="aligncenter size-medium wp-image-117" title="wordpress-skinpress" src="http://spacebug.com/wp/wp-content/uploads/2010/04/wordpress-skinpress-300x139.jpg" alt="" width="300" height="139" srcset="https://spacebug.com/wp-content/uploads/2010/04/wordpress-skinpress-300x139.jpg 300w, https://spacebug.com/wp-content/uploads/2010/04/wordpress-skinpress-1024x476.jpg 1024w, https://spacebug.com/wp-content/uploads/2010/04/wordpress-skinpress.jpg 1267w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><a href="http://www.skinpress.com/izen-wordpress-theme/" target="_blank">iZen wp theme<br />
</a></p>
<p>Disclaimer: WordPress themes evolve very rapidly, if you are reading this post in a year from now (let’s say April 2011) this recommendation might be deprecated.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/great-new-free-wordpress-themes-from-skinpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Useful JQuery Plugin to Display Errors, Messages, and Alerts: Gritter</title>
		<link>https://spacebug.com/useful-jquery-plugin-to-display-errors-messages-and-alerts-gritter/</link>
					<comments>https://spacebug.com/useful-jquery-plugin-to-display-errors-messages-and-alerts-gritter/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Fri, 23 Apr 2010 22:44:55 +0000</pubDate>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false"/>

					<description><![CDATA[Real estate on your web page could be as important as real estate in real life. You got very little space on your client screen and need to use every inch (or pixels).  Errors and messages take up valuable space that could be better used for more important things.
 
That is why <a href="http://boedesign.com/blog/2009/07/11/growl-for-jquery-gritter/">Gritter</a> is a great <a href="http://jquery.com/">JQuery</a> plugin - it saves real estate on your page by showing alerts, messages and errors in a floating bubble way, that is both informative and (because you can configure Gritter to fade away after a few seconds) non intrusive:

<img style="border:0px"  border=0 src="http://spacebug.com/img/gritter.jpg">

This image was taken from one of our new site's design, we decided to use Gritter instead of putting the errors and notification inline.
]]></description>
										<content:encoded><![CDATA[<p>Real estate on your web page could be as important as real estate in real life. You got very little space on your client screen and need to use every inch (or pixels).  Errors and messages take up valuable space that could be better used for more important things.</p>
<p>That is why <a href="http://boedesign.com/blog/2009/07/11/growl-for-jquery-gritter/">Gritter</a> is a great <a href="http://jquery.com/">JQuery</a> plugin &#8211; it saves real estate on your page by showing alerts, messages and errors in a floating bubble way, that is both informative and (because you can configure Gritter to fade away after a few seconds) non intrusive:</p>
<p><img decoding="async" style="border: 0px;" src="http://spacebug.com/img/gritter.jpg" border="0" alt="" /></p>
<p>This image was taken from one of our new site&#8217;s design, we decided to use Gritter instead of putting the errors and notification inline.<br />
<!--break--><br />
Check out Gritter&#8217;s <a href="http://boedesign.com/demos/gritter/">demo site</a> and <a href="http://boedesign.com/blog/2009/07/11/growl-for-jquery-gritter/">project site</a> and, for CakePHP developers, here is an <a href="http://duckranger.com/2010/04/use-gritter-for-jquery-growl-for-flash-in-cakephp/">article</a> about integrating Gritter with CakePHP.</p>
<p>It is open source, looks great, easy to integrate, and is very useful!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/useful-jquery-plugin-to-display-errors-messages-and-alerts-gritter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CakeOTP 1.1 – User Registration with One Time Password for CakePHP Released</title>
		<link>https://spacebug.com/cakeotp_1-1-user_registration_with_one_time_password_for_cakephp_released/</link>
					<comments>https://spacebug.com/cakeotp_1-1-user_registration_with_one_time_password_for_cakephp_released/#respond</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Tue, 20 Apr 2010 10:05:08 +0000</pubDate>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[New Release]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Authentication]]></category>
		<guid isPermaLink="false"/>

					<description><![CDATA[<img style="border:0px" border=0 align="right" src="http://spacebug.com/img/release.png">

CakeOTP is a reference implementation of User Registration with a <a href='http://spacebug.com/tableless_secure_one_time_password'>secure, table-less and expirable implementation of One Time Password</a> for the popular <a href="http://cakephp.org/">CakePHP</a> development framework.

<h4>New in CakeOTP release 1.1</h4>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" style="border: 0px;" src="http://spacebug.com/img/release.png" border="0" alt="" align="right" /></p>
<p>CakeOTP is a reference implementation of User Registration with a <a href="http://spacebug.com/tableless_secure_one_time_password">secure, table-less and expirable implementation of One Time Password</a> for the popular <a href="http://cakephp.org/">CakePHP</a> development framework.</p>
<h4>New in CakeOTP release 1.1</h4>
<p>1) Automatic login process, after the account activation- The user is automatically logged into the site and is redirected to an internal page, immediately after activating his/her account.<br />
2) User email validation.</p>
<p>Download this release <a href="http://spacebug.com/cakeotp/release/1.1/cakeotp.zip">here</a>.</p>
<p>Checkout the <a href="http://spacebug.com/cakeotp/demo/">Online Demo</a>, <a href="http://spacebug.com/CakeOTP-One_Time_Password_Reference_Implementation_for_CakePHP">project page</a> and <a href="http://spacebug.com/CakeOTP-CakePHP_One_Time_Password-Getting_Started">getting started page</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/cakeotp_1-1-user_registration_with_one_time_password_for_cakephp_released/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JQuery AJAX POST Sending Only Partial Data? Try URL Encoding.</title>
		<link>https://spacebug.com/jquery_ajax_post-url_encoding/</link>
					<comments>https://spacebug.com/jquery_ajax_post-url_encoding/#comments</comments>
		
		<dc:creator><![CDATA[Amir Shevat]]></dc:creator>
		<pubDate>Sat, 17 Apr 2010 09:26:44 +0000</pubDate>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Deep Dive]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Software development]]></category>
		<guid isPermaLink="false"/>

					<description><![CDATA[<img style="border:0px"  border=0 align="right" src="http://spacebug.com/img/ajax_small.jpg">
<a href="http://jquery.com/">JQuery</a> is a great JavaScript framework that makes web developer life much easier. But like all framework, you need to learn its <a href="http://en.wikipedia.org/wiki/Gotcha_%28programming%29">gotchas</a> in order to work effectively with it. Here is one of those gotchas -

<a href="http://api.jquery.com/jQuery.post/">Jquery POST</a> method lets you create Ajax HTTP POST request to the server. It is actually a shorthand to the <a href="http://api.jquery.com/category/ajax/">JQuery Ajax</a> method:

<pre><code>
$.ajax({
  type: "POST",url: "save.php",
  data: "param1="+paramValue1
  +"&#038;param2=paramValue2",
  complete: function(){ }, //manage the complete if needed
  success: function(){}}//get some data back to the screen if needed
});  
</code></pre>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" style="border: 0px;" src="http://spacebug.com/img/ajax_small.jpg" border="0" alt="" align="right" /><br />
<a href="http://jquery.com/">JQuery</a> is a great JavaScript framework that makes web developer life much easier. But like all framework, you need to learn its <a href="http://en.wikipedia.org/wiki/Gotcha_%28programming%29">gotchas</a> in order to work effectively with it. Here is one of those gotchas &#8211;</p>
<p><a href="http://api.jquery.com/jQuery.post/">Jquery POST</a> method lets you create Ajax HTTP POST request to the server. It is actually a shorthand to the <a href="http://api.jquery.com/category/ajax/">JQuery Ajax</a> method:</p>
<pre>
<code>
$.ajax({
  type: "POST",url: "save.php",
  data: "param1="+paramValue1
  +"&amp;param2=paramValue2",
  complete: function(){ }, //manage the complete if needed
  success: function(){}}//get some data back to the screen if needed
});
</code></pre>
<p><!--break--></p>
<h4>The problem</h4>
<p>When executing the AJAX call, only part of the data is passed to the server and the rest vanishes. You usually see that some or all of the parameters you tried to pass are missing or cut in the middle.</p>
<h4>The cause</h4>
<p>JQuery uses &#8216;&amp;&#8217; as a separator between the parameters. If you have a &#8216;&amp;&#8217; within your key or value parameters, then the JQuery AJAX request gets really messed up.</p>
<h4>The solution</h4>
<p>Encode the parameters, replace &amp; with %26 which is the standard encoding for that character.</p>
<h5>Semi-Automatic</h5>
<p>Use .replace(/&amp;/g, &#8220;%26&#8221;) &#8211;</p>
<p>Here is a working example:</p>
<pre ><code>
$.ajax({
  type: "POST",url: "save.php",
  data: "param1="+paramValue1.replace(/&amp;/g, "%26")
  +"&amp;param2=paramValue2.replace(/&amp;/g, "%26")",
  complete: function(){ }, //manage the complete if needed
  success: function(){}}//get some data back to the screen if needed
});
</code></pre>
<h5>Fully Automatic</h5>
<p>A more elegant way is to slightly change the way we call the meethod and let JQuery do that encoding for you &#8211;</p>
<p>Here is a working example:</p>
<pre ><code>
$.ajax({
 type: "POST",url: "save.php",
 data: { "param1": paramValue1,
 "param2": paramValue2 },
 complete: function(){ }, //manage the complete if needed
 success: function(){}//get some data back to the screen if needed
});
</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://spacebug.com/jquery_ajax_post-url_encoding/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>