<?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>Vassilios Karakoidas Weblog</title>
	<atom:link href="http://bkarak.wizhut.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://bkarak.wizhut.com/blog</link>
	<description>Nice reflexes; we'll mail you home.</description>
	<lastBuildDate>Wed, 11 Jan 2012 20:55:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Webapp2 and Appengine 1.6.1 &#8211; Bug</title>
		<link>http://bkarak.wizhut.com/blog/2012/01/11/webapp2-and-appengine-1-6-1-bug/</link>
		<comments>http://bkarak.wizhut.com/blog/2012/01/11/webapp2-and-appengine-1-6-1-bug/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 20:55:48 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Appengine]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=387</guid>
		<description><![CDATA[One quick bug/tip that might save you lots of time. If you use Google&#8217;s appengine along with the webapp2 and using the Users module, you might encounter the following problem. Recently, the ndb graduated and its python module changed from ndb to google.appengine.ext.ndb. Webapp2 is bundled along with the SDK of appengine, but it seems they forgot to [...]]]></description>
			<content:encoded><![CDATA[<p>One quick bug/tip that might save you lots of time. <img src='http://bkarak.wizhut.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If you use <a href="http://appengine.google.com/">Google&#8217;s appengine</a> along with the <a href="http://webapp-improved.appspot.com/">webapp2</a> and using the Users module, you might encounter the following problem.</p>
<p>Recently, the <a href="http://code.google.com/p/appengine-ndb-experiment/">ndb</a> graduated and its python module changed from <strong>ndb </strong>to <strong>google.appengine.ext.ndb. </strong>Webapp2 is bundled along with the SDK of appengine, but it seems they forgot to update some modules in it, and they still use the previous package.</p>
<p>I encountered it when I tried to debug my application locally, using the webapp2 user &amp; authentication module, the application crashes from the bad import. When you deploy the application to the appengine server, you must provide a version of the webapp2, which overrides this problem (this worked as a workaround for me at least), thus the problem will not occur. But locally, you must go the installation directory of the appengine and delete it manually.</p>
<p>I spotted this bug roughly a month ago (23/12/2011), and there may be some fixes on the mainstream webapp2 release.</p>
<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2012/01/app_engine-64.png"><img class="alignnone size-full wp-image-394" title="app_engine-64" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2012/01/app_engine-64.png" alt="" width="64" height="64" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2012/01/11/webapp2-and-appengine-1-6-1-bug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>You are here!</title>
		<link>http://bkarak.wizhut.com/blog/2011/12/30/you-are-here/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/12/30/you-are-here/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 22:50:22 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=389</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/12/resolutions.png"><img class="alignnone size-full wp-image-391" title="resolutions" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/12/resolutions.png" alt="" width="749" height="599" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/12/30/you-are-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success!</title>
		<link>http://bkarak.wizhut.com/blog/2011/11/29/success/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/11/29/success/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 09:26:21 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=383</guid>
		<description><![CDATA[Great! We did it! Nothing working, but nevertheless the letter on the heading should be green. right?]]></description>
			<content:encoded><![CDATA[<p>Great! We did it! Nothing working, but nevertheless the letter on the heading should be green. right?</p>
<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/11/success.png"><img class="alignnone size-full wp-image-384" title="success" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/11/success.png" alt="" width="761" height="587" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/11/29/success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picture Yourself at Google &#8230;</title>
		<link>http://bkarak.wizhut.com/blog/2011/11/25/picture-yourself-at-google/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/11/25/picture-yourself-at-google/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 23:39:09 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=379</guid>
		<description><![CDATA[I was browsing at linked in the other day and saw the following Ad &#8230; Hahahahah, come on, get serious &#8230; picture yourself at google &#8230; ahhahaha.]]></description>
			<content:encoded><![CDATA[<p>I was browsing at linked in the other day and saw the following Ad &#8230;</p>
<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/11/Screen-Shot-2011-11-25-at-1.32.45-AM.png"><img class="alignnone size-full wp-image-380" title="Screen Shot 2011-11-25 at 1.32.45 AM" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/11/Screen-Shot-2011-11-25-at-1.32.45-AM.png" alt="" width="314" height="265" /></a></p>
<p>Hahahahah, come on, get serious &#8230; picture yourself at google &#8230; ahhahaha.</p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/11/25/picture-yourself-at-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appengine APIs are Missing C/C++ Implementations</title>
		<link>http://bkarak.wizhut.com/blog/2011/11/16/appengine-apis-are-missing-cc-implementations/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/11/16/appengine-apis-are-missing-cc-implementations/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 09:33:13 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Appengine]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=372</guid>
		<description><![CDATA[Recently I was messing with Appengine&#8217;s pull queue and noticed the following. They did not offer a C/C++ API. All the other usual suspects are there, like python, Java, go, even PHP and Obj-C. What happened to C/C++? It is not worth offering and maintaining any more an API for these two languages? Or google [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was messing with <a href="http://code.google.com/appengine/docs/python/taskqueue/overview-pull.html">Appengine&#8217;s pull queue</a> and noticed the following. They did not offer a C/C++ API. All the other usual suspects are there, like python, Java, go, even PHP and Obj-C.</p>
<p>What happened to C/C++? It is not worth offering and maintaining any more an API for these two languages? Or google wants to promote <a href="http://golang.org/">go!</a>, and pat the iOS developers with the Obj-C?</p>
<p>No, you cannot have a native app. That&#8217;s it! Maybe, because C/C++ do not offer by definition an HTTP protocol implementation.</p>
<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/11/api-list.png"><img class="alignnone size-full wp-image-373" title="api-list" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/11/api-list.png" alt="" width="705" height="283" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/11/16/appengine-apis-are-missing-cc-implementations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thinking in jQuery</title>
		<link>http://bkarak.wizhut.com/blog/2011/10/31/thinking-in-jquery/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/10/31/thinking-in-jquery/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 21:07:08 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Devil's Advocate]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=364</guid>
		<description><![CDATA[Recently I was doing some heavy-duty Javascript stuff for a web project. It was quite a while since the Firefox plug-in and in many ways, it was rather enjoyable experience (and in some other ways boring ). If you want to do some cool stuff in the web nowadays, the adoption of a Javascript library [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was doing some heavy-duty Javascript stuff for a web project. It was quite a while since the Firefox plug-in and in many ways, it was rather enjoyable experience (and in some other ways boring <img src='http://bkarak.wizhut.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
<p>If you want to do some cool stuff in the web nowadays, the adoption of a Javascript library like jQuery is typical. I had some experience in the past, but the development process showed me that I was not so experienced as I thought. jQuery has good documentation that can be used as a reference, but it is not very usefull, when you want to understand some basic concepts and you are in a hurry of doing some stuff to work.</p>
<p>So, this blog entry has one goal, to transfer my experience of doing stuff with jQuery as a set of rules/advices that will save time to inexperienced users like me.</p>
<p><strong>Rule #1: &#8220;When you are using jQuery, forget low-level Javascript functions&#8221;</strong></p>
<p>It is a good practice to use always jQuery&#8217;s functions to do the stuff you want. Never rely on the low-leve Javascript function. The reason is simple. jQuery offers an encapsulating object for all the elements of the DOM tree. If you select some nodes with the jQuery selectors and then try to access their children with the common DOM function offered by the standard Javascript API, you are done for. You lose that encapsulation and you are back in black.</p>
<p><strong>Rule #2: &#8220;Use # for the &#8216;id&#8217; selector, &#8216;.&#8217; for the class selector and always use backslashes in front of dots in ids&#8221;</strong></p>
<p>No special reason, just remember these three examples:</p>
<ul>
<li>$(&#8216;#theCoolId&#8217;) &#8211; id selector</li>
<li>$(&#8216;.myBigFatClass&#8217;) &#8211; class selector</li>
<li>$(&#8216;#theCoolId\\.With\\.Dots&#8217;) &#8211; more complex id selector</li>
</ul>
<p><strong>Rule #3: &#8220;When you have to insert code into an element, use html()&#8221;</strong></p>
<p>Simple as that, select the node and paste the code:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#theCoolNode'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&lt;h1&gt;Hey Stranger!&lt;/h1&gt;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Rule #4: &#8220;By default the ajax() call is asynchronous&#8221;</strong></p>
<p>&#8230;﻿ so if you want to load something, be sure to disable async, or else you will try to access something that is not ready. How can you do that? Simple!</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	type<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span>
	dataType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;xml&quot;</span><span style="color: #339933;">,</span>
	url<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;data/strings.xml&quot;</span><span style="color: #339933;">,</span>
	success<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>xml<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009966; font-style: italic;">/* success */</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	error<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #009966; font-style: italic;">/* error */</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	async<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span> <span style="color: #009966; font-style: italic;">/* I will wait to load the XML */</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Rule #5: &#8220;insertBefore() and insertAfter() take the selector as the parameter&#8221;</strong></p>
<p>I do not know about you, but I always thought that it is logical for the insertAfter() and insertBefore() to select a node, then append the node. But this is not the way they are implemented. A small example:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;h1&gt;Hey Joe!&lt;/h1&gt;'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">insertAfter</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#theCoolNode'</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p><strong>Rule #6: &#8220;It is always your fault&#8221;</strong></p>
<p>Usually it is, accept it and try to understand how things are working <img src='http://bkarak.wizhut.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , instead of trying to convince everyone that you are Mr. Right!</p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/10/31/thinking-in-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>In Memoriam &#8230;</title>
		<link>http://bkarak.wizhut.com/blog/2011/10/07/in-memoriam/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/10/07/in-memoriam/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 08:15:36 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[History]]></category>
		<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Socialize]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=360</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/10/jobs.jpg"><img class="alignnone size-full wp-image-361" title="jobs" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/10/jobs.jpg" alt="" width="720" height="720" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/10/07/in-memoriam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Playlist</title>
		<link>http://bkarak.wizhut.com/blog/2011/07/19/the-playlist/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/07/19/the-playlist/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 16:38:50 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=357</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-19-at-7.36.20-PM.png"><img class="alignnone size-medium wp-image-358" title="Screen shot 2011-07-19 at 7.36.20 PM" src="http://bkarak.wizhut.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-19-at-7.36.20-PM-300x242.png" alt="" width="300" height="242" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/07/19/the-playlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer and the Importance of being idle &#8230;</title>
		<link>http://bkarak.wizhut.com/blog/2011/07/07/summer-and-the-importance-of-being-idle/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/07/07/summer-and-the-importance-of-being-idle/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 10:42:27 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=354</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe width="560" height="349" src="http://www.youtube.com/embed/jySfU10IQu4" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/07/07/summer-and-the-importance-of-being-idle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pithos Client Update for Firefox 4</title>
		<link>http://bkarak.wizhut.com/blog/2011/05/24/pithos-client-update-for-firefox-4/</link>
		<comments>http://bkarak.wizhut.com/blog/2011/05/24/pithos-client-update-for-firefox-4/#comments</comments>
		<pubDate>Tue, 24 May 2011 17:00:49 +0000</pubDate>
		<dc:creator>bkarak</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Pithos]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://bkarak.wizhut.com/blog/?p=343</guid>
		<description><![CDATA[Hey, just checked compatibility of Pithos client with Firefox 4 and uploaded the new version for deployment. Enjoy! Download Pithos Firefox Extension from here.]]></description>
			<content:encoded><![CDATA[<p>Hey, just checked compatibility of Pithos client with Firefox 4 and uploaded the new version for deployment. Enjoy!</p>
<p>Download <em>Pithos Firefox Extension </em>from <a href="https://pithos.grnet.gr/node/18">here</a>.</p>
<p><a href="http://bkarak.wizhut.com/blog/wp-content/uploads/2010/03/Screen-shot-2010-03-29-at-3.34.19-μ.μ..png"><img class="alignnone size-medium wp-image-271" title="Screen shot 2010-03-29 at 3.34.19 μ.μ." src="http://bkarak.wizhut.com/blog/wp-content/uploads/2010/03/Screen-shot-2010-03-29-at-3.34.19-μ.μ.-300x187.png" alt="" width="300" height="187" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bkarak.wizhut.com/blog/2011/05/24/pithos-client-update-for-firefox-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

