<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The WEB way</title>
	<atom:link href="http://kvorobyov215.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kvorobyov215.wordpress.com</link>
	<description>Web Application Development Blog</description>
	<lastBuildDate>Sun, 06 Dec 2009 12:52:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kvorobyov215.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The WEB way</title>
		<link>http://kvorobyov215.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kvorobyov215.wordpress.com/osd.xml" title="The WEB way" />
	<atom:link rel='hub' href='http://kvorobyov215.wordpress.com/?pushpress=hub'/>
		<item>
		<title>There is no data there is only XUL</title>
		<link>http://kvorobyov215.wordpress.com/2009/12/06/there-is-no-data-there-is-only-xul/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/12/06/there-is-no-data-there-is-only-xul/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 12:52:54 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=54</guid>
		<description><![CDATA[XUL is an XML based user Interface language developed by Mozilla project. Basically XUL is the way of defining Mozilla extensions &#8211; plugins with rich functionality and advanced features. Xul is used in the Most gecko-based browsers, such as Firefox, Icedove, Iceweasel, Icecat &#8211; pretty much every browser based on mozilla. Components Being an XML [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=54&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>XUL</strong> is an <strong>XML</strong> based user Interface language developed by Mozilla project. Basically XUL is the way of defining <strong>Mozilla</strong> extensions &#8211; plugins with rich functionality and advanced features. Xul is used in the Most gecko-based browsers, such as Firefox, Icedove, Iceweasel, Icecat &#8211; pretty much every browser based on mozilla.</p>
<p><em>Components</em><br />
Being an XML based language XUL inherits all XML good and bad sides, well-formedness, specifications and can be easily integrated with any language of XML family. Xul application is based on the sets of components defined in 3 main groups:</p>
<ol>
<li>Content &#8211; layout and interface</li>
<li>Skins &#8211; CSS slylesheets  &#8211; the appearance of the application</li>
<li>Localization Files &#8211; definitions for locale setting, languages, time-formates etc.</li>
</ol>
<p><em>XUL includes:</em></p>
<ul>
<li> widgets &#8211; numerous frameworks for building applications with .NET and java Swing toolkit</li>
<li> MVC architecture framework</li>
<li> Rich support for the number of languages -perl, PHP, python, java, c++, javascript and so on.</li>
<li> Messaging via XML-RPC and SOAP</li>
</ul>
<p><em>Elements </em><br />
<strong> Top-Level Containers :</strong><br />
windows, frames, dialogs<br />
<strong>Widgets</strong><br />
buttons, labels, several types of boxes, drop-down lists, toolbars, color-pickers<br />
<strong>Models</strong><br />
box, grid, stack &#8211; etc.<br />
<strong>Templates</strong><br />
Templating the application and extending existing templates</p>
<p>XUL Explorer<br />
Xul is becoming very popular, many applications, not only Mozilla ones uses it. For example activestate has released a Komodo IDE which extensively uses it and where it is possible to program it. However xul has its own ide targeted exclusively for it &#8211; XUL Explorer. The IDE is fairly simple and provides only the very basic functionality along with independent editor and pop-up windows where you can preview XUL code.</p>
<p>Links used in this post:</p>
<p><a href="http://en.wikipedia.org/wiki/XUL">http://en.wikipedia.org/wiki/XUL</a><br />
<a href="https://wiki.mozilla.org/XUL:Home_Page">https://wiki.mozilla.org/XUL:Home_Page</a><br />
<a href="http://articles.sitepoint.com/article/xul-nets-biggest-secret-1#">http://articles.sitepoint.com/article/xul-nets-biggest-secret-1#</a><br />
<a href="http://xulblog.de/xul/">http://xulblog.de/xul/</a><br />
<a href="http://starkravingfinkle.org/blog/xul-explorer/">http://starkravingfinkle.org/blog/xul-explorer/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=54&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/12/06/there-is-no-data-there-is-only-xul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>Perl and Python</title>
		<link>http://kvorobyov215.wordpress.com/2009/12/06/perl-and-python/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/12/06/perl-and-python/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 12:47:32 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=51</guid>
		<description><![CDATA[There&#8217;s been and actually there is great polemics on what computer language is better. Python and perl has been rivals for quite a long time and as they serve approximately one purpose many people use one or another, arguing that one or another is better. I am afraid I am a little bit biased here [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=51&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been and actually there is great polemics on what computer language is better. Python and perl has been rivals for quite a long time and as they serve approximately one purpose many people use one or another, arguing that one or another is better. I am afraid I am a little bit biased here as I am clearly a perl-person and just love the way in which perl does things.</p>
<p>At first there was perl and then was the rest. I am not actually sure whether perl is the oldest scripting language but it&#8217;s definitely one of the eldest. Being &#8220;born&#8221; in 1985 perl is still one of the most frequently used languages and one of the<br />
most powerful ones. One of the main differences, I am not sure whether it&#8217;s a benefit or not &#8211; it&#8217;s almost a compiled one. It always had a compiler and written purely in the c programming language. However the compiling is still dynamic and perl behaves as a regular scripting one. This gives a huge benefit of speed, as it is possible to write pure c code and use it in perl programming. Python has emerged later in 1989, however became very popular much later.</p>
<p>Perl is called a Unix biased language &#8211; it emerged from unix environment and implements great number of unix utilities such as grep, map, sort. With a great support of regular expressions which work incredibly fast. Python does not have such a great regex support, however it is much more cross-platform oriented and has much better support for windows based systems &#8211; perl has 2 main windows distributions &#8211; strawberry perl and activestate perl, both have their flaws<br />
and a unix distribution is obviously more natural to use. In fact all unix-based systems comes with pre-installed perl. Python should be installed explicitly.</p>
<p>Perl has 2 main phrases which describe a way perl do things &#8211; There are more than 2 ways of doing things in perl and for some reasons half of them does not work <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  That&#8217;s true, perl is really diverse, and one tiny bit can be redefined in numerous ways. Perl is also called a &#8220;kitchen sink&#8221; typing language (particularly I do not really like this one). Perl syntax allows coding with absolutely any style as well as with all possible violations. Python is an &#8220;indentation&#8221; language, where brackets are dismissed and white spaces become the part of code, hence Python is said to be much better human readable and in fact Python is easier to learn, perl sometimes has odd structures and non-obvious hard-to-read code. On the other hand perl can be much shorter due to the great amount of inbuilt variables which are invoked automatically with no explicit need of typing them.</p>
<p>The main difference and the main point in this debate is Object Orientedness. Python is an OO language, perl is not. In fact you can have an object in perl, but they are very non-obvious, quite difficult to learn and might use totally different syntax on usage and invocation. Python is much more persistent, very little thing is defined and always the same.</p>
<p>OO brings its benefits as modularity, support for global variables, inheritance etc. In my opinion those are negative aspects as well. In perl does not have c pointers &#8211; but references. And references are explicitly declared, so if a programmer wants a reference he/she declares it otherwise it is never used. In Python all those is done automatically with a garbage-collector on the background which cleans all the &#8220;mess&#8221;. I think it&#8217;s just the matter of taste which approach to use and certainly with some problems OO is extremely useful as well as sometimes it&#8217;s not at all.</p>
<p>So both perl and Python are very powerful mature and very well supported languages. With huge library collections and support. Some things might be done better in perl, some in python but i think that the bottom line here is in programmer;s taste, preferences and the current task which demands certain language ability.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=51&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/12/06/perl-and-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>Html 5 &#8211; new Features</title>
		<link>http://kvorobyov215.wordpress.com/2009/12/06/html-5-new-features/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/12/06/html-5-new-features/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 12:43:56 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=49</guid>
		<description><![CDATA[It&#8217;s been a while since HTML 4.01 specification has been released and for the past years there are a lot of rumors on the new standards HTML 5 and XHTML 2.0. Some browsers, like Mozilla claim to support some new features, some less famous stick to the current standard. However there is no guarantee whatsoever [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=49&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since HTML 4.01 specification has been released and for the past years there are a lot of rumors on the new standards HTML 5 and XHTML 2.0.</p>
<p>Some browsers, like Mozilla claim to support some new features, some less famous stick to the current standard. However there is no guarantee whatsoever that the HTML 5 specification that is defined now will remain and I still think that it will take a while till all browsers will provide full support. As standards are standards but, html relies on browsers and it does not really matter whether standard is on or not, but whether it is supported by browsers and to what extent.</p>
<p><strong>Some new Features:</strong></p>
<p><em>&lt;Doctype html&gt;</em> &#8211; one of the declared changes is in the declaration of document, for now html 5 documents will need only this very short and convenient type, on the contrast to html 4, which I, for example was never able to memorise, but rather copy over and over again.</p>
<p>From now on (or not really, that&#8217;s W3C to decide) tags similar to &lt;input&gt;, which are not really closed ones, should not be necessarily closed, for example &lt;input type=&#8221;button&#8221;/&gt; or &lt;input type=button&gt; will be of the same effect. That&#8217;s a little bit weird, I would think that strictness should be enforced, rather than dismissed, anyway &lt;input&gt; is an absolutely valid tag</p>
<p>Of course, html5 introduces a bunch of new tags abandon support of a fairly impressive amount of old ones. One of new features is the article-type template that is to be made with brand new tags:<br />
- Top: <em>&lt;header&gt;</em><br />
- Bottom : <em>&lt;header&gt;</em><br />
- Sides : <em>&lt;nav&gt;</em><br />
- Inside : <em>&lt;article&gt;</em><br />
Of course this structure can be nested in many ways, and none of those tags are really compulsory. For better navigation new tag &lt;section&gt; is introduced for the reasons of division new document template into appropriate sections:</p>
<p>Some other tags:<br />
<em> &lt;figure&gt;</em> &#8211; group of media content<br />
<em> &lt;datalist&gt;</em> &#8211; drop down menu<br />
<em> &lt;command&gt;</em> &#8211; command button<br />
<em> &lt;embed&gt;</em> &#8211; embedded into page media content<br />
<em> &lt;source&gt;</em> &#8211; media resources<br />
<em> &lt;time&gt;</em> &#8211; date/time definitions<br />
<em> &lt;video&gt;</em> &#8211; video content<br />
<em> &lt;audio&gt;</em> &#8211; audio content<br />
<em> &lt;canvas&gt;</em> &#8211; graphics</p>
<p>Deprecated and not supported tags:<br />
<em>&lt;applet&gt;<br />
&lt;basefont&gt;<br />
&lt;font&gt;<br />
&lt;big&gt;<br />
&lt;center&gt;</em><br />
<em>&lt;frame&gt;</em> and <em>&lt;frameset&gt;<br />
&lt;strike&gt;</em></p>
<p>I still ask myself a simple question why these tags are really deprecated ones, in my experience some of them are not that &#8220;evil&#8221; and might be quite useful, even though that&#8217;s a &#8220;bad&#8221; style to use them. For example I totally agree with definition of everything in CSS, however we can not get rid of cross-browser issues where <em>&lt;center&gt;</em> tag is sometimes a panacea. On the other hand, why, oh why <em>&lt;blink&gt;</em> is a supported. And what to to with all resources with frames that already exist and are based on framesets, javadocs, as an example.</p>
<p>One of the main features in future is multimedia support, when there would not be necessary to bring an external players, but audio and video would be simple embedded into pages, as well as drag and drop support, based exclusively on html in contrast to slow and complex javascript functions.</p>
<p>New Html is claimed to have a great javascript support, embedded into it. I am not sure how that will be done, but in fact sounds impressive.</p>
<p>In my opinion html 5 owuld be a great step towards new Web technologies. However I do not think that this change will happen any time soon. Additionally it is not that clear what browsers would do in that situation, clearly tags that are claimed to be non-supported would not be as there are too many legacy projects that rely on that. I believe the best way is to leave all the existing functionality in place, but add some new features, that would give much more freedom to the developers and the resources to produce things in a way they want and not depend too much on new technologies</p>
<p>Sources used in this post:<br />
<a href="http://www.w3.org/TR/html5-diff/">http://www.w3.org/TR/html5-diff/</a><br />
<a href="http://www.w3schools.com/html5/html5_reference.asp">http://www.w3schools.com/html5/html5_reference.asp</a><br />
<a href="http://www.smashingmagazine.com/2009/07/16/html5-and-the-future-of-the-web/">http://www.smashingmagazine.com/2009/07/16/html5-and-the-future-of-the-web/</a><br />
<a href="http://diveintohtml5.org/semantics.html">http://diveintohtml5.org/semantics.html</a><br />
<a href="http://www.readwriteweb.com/archives/google_dumps_gears_for_html5.php">http://www.readwriteweb.com/archives/google_dumps_gears_for_html5.php</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=49&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/12/06/html-5-new-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>Groovy</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/30/groovy/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/30/groovy/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 06:39:53 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=45</guid>
		<description><![CDATA[Groovy is a scripting language designed to support agile and rapid web development. Groovy is a fully-blown object oriented language and is actually considered as the second language for Java platform. And is it is a scripting language &#8211; and in contrast to Java has a interpretor instead of a compiler. This is not exactly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=45&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Groovy</strong></em> is a scripting language designed to support agile and rapid web development. <strong>Groovy</strong> is a fully-blown object oriented language and is actually considered as the second language for Java platform. And is it is a scripting language &#8211; and in contrast to Java has a interpretor instead of a compiler. This is not exactly true, as in fact similarly to <strong>perl Groovy</strong> uses <strong>JVM</strong> compiler and is a dynamically compiled language, rather than fully interpreted, which gives the benefit of speed. <strong>Groovy</strong> compiled code is in fact a java bytecode, in fact both <strong>Groovy</strong> and java bytecode can be used interchangeably and even syntactically both languages are very similar to the extend that almost all <strong>java </strong>is valid <strong>Groovy</strong> code. However as it might seem <strong>Groovy</strong> is not the subset or superset of <strong>java</strong> and is simpler and less verbose, supporting main features of scripting languages</p>
<p><em>Groovy and Java Differences:</em></p>
<ul>
<li> As <strong>Groovy</strong> is a dynamically typed and compiled language it can be executed with no compilation as pure source code on the contrast to <strong>Java</strong> which should be compiled;</li>
<li> <strong>Groovy</strong> does not demand import statements at the very top as <strong>Java</strong>, and the libraries are uploaded automatically when used;</li>
<li> Weird syntactical difference between &#8216;==&#8217; and &#8216;equals&#8217; is not used in <strong>Groovy</strong> and all objects can be compared only with &#8216;==&#8217;;</li>
<li> <strong>Groovy</strong> does not support a classic &#8216;for&#8217; loop, and used more sophisticated and more recently introduced for (each) one;</li>
<li> <strong>Groovy</strong> consider semicolons optional as long as line is terminate with &#8216;\n&#8217; character;</li>
<li> Native support for maps and lists (these data types are not included as external libraries but are the features of the language);</li>
<li> Native support for regular expressions, unlike java which has 3(!) classes for handling the very basic one;</li>
<li> Return keyword is optional as well as unchecked cast, it is just skipped if not used, in contrast to java which would not even consider compiling unless method that has a return type does not have a return statement;</li>
<li> No need for thorough exception declaration, methods that would throw the exceptions would throw them however there is no need to declare them;</li>
<li> easier string operations and much more powerful switch statement, which can handle strings as well. Java consider only integers or character as suitable input for &#8216;case&#8217;;</li>
<li> <strong>Groovy</strong> uses both &#8216; and &#8221; quotes for strings;</li>
<li> Method and variable declarations are optional, however are still the element of a good style;</li>
<li> Short and very nice <em>print</em> and instead of <em>System.out.print</em></li>
</ul>
<p>Hello World In Groovy:<br />
<em>println(&#8220;Hello World!&#8221;);</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=45&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/30/groovy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>WebSphere sMash</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/30/websphere-smash/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/30/websphere-smash/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 05:31:44 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=42</guid>
		<description><![CDATA[WebSphere sMash is a development platform and runtime environment designed for aglie development of web 2.0 applications. sMash supports development in PHP and Groovie scripting languages and enforces the use of RESTful web services. The sMash is developed via the &#8220;Project Zero&#8221; &#8211; commercial community driven open source where the newer version of the WebSphere [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=42&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>WebSphere sMash</strong></em> is a development platform and runtime environment designed for aglie development of web 2.0 applications. sMash supports development in PHP and Groovie scripting languages and enforces the use of RESTful web services. The sMash is developed via the &#8220;Project Zero&#8221; &#8211; commercial community driven open source where the newer version of the WebSphere are developed. The WebSphere was developed by IBM and has a move towards  open-source platform and is actually can be integrated into Eclipse IDE.</p>
<p><em><strong>Technologies </strong></em></p>
<ul>
<li> dynamic scripting java run-time environment that facilitate usage of the Groovy scripting language and PhP</li>
<li> optimizatin of applications and information exchange via SOA and REST based web services</li>
<li> heavy use of AJAX</li>
<li> integration of mash-ups and feeds with ATOM, JSON and RSS technologies on top</li>
</ul>
<p><em><strong>Ajax</strong></em><br />
WebSphere sMash uses an open source Dojo Toolkit for ajax interactions. IBM also incorporates it to the range of other products. Another ajax tool used is Open Ajax Alliance that allows WebSphere sMash components work with third party Ajax widget libraries that uses the same technology. These libraries are included by default, however their is not compulsory, a web application can be built with sMash without any Ajax interactions, in fact, although Ajax provide an excellent connectivity with a range of web services used. IBM has also inbuilt a range of security features into it, as ajax applications from different libraries can have multiple vulnerabilities when used. For example the OpenAjax Hub 1.1 implementation which facilitates securing the contents of HTML pages.</p>
<p><em><strong>Aglie Development and speed</strong></em><br />
End-to-end development and runtime environment &#8211; applications and components can be biult in the number of ways, which involve less coding and has increased speed of execution. End-to-end browser-based tooling facilitate concurrent development of both client and server side easily, in addition to it WebSpere is able to integrate and coexist with components that do not belong to a framework. WebSphere sMash enforces the usage of reusable code, content, templates, and patterns which results in less work and bugs that might occur during development process.</p>
<p><em><strong>Event-driven model</strong></em><br />
WebSphere sMash uses an event-driven programming model. Applications are referred to as modules &#8211; blocks of functionality that communicate with each other in eficient manner. These blocks are used for bunding other callback functions that are suppose to catch incoming events and execute when event is fired. This model allows usage of mixed tools and technologies, such as PHP, Java, Groovy or the Flow language.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=42&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/30/websphere-smash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>vi and emacs</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/29/vi-and-emacs/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/29/vi-and-emacs/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 15:20:28 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=39</guid>
		<description><![CDATA[These days, when the majority of developers use huge environments like Microsoft Visual Sudio, DreamWeaver, Eclipse or NetBeans which contain pretty much everything a developer might ever need uncluding versioning tools, webservers, ftp-access, build environments, debuggers and of course editors. Hence the choice of an editor is actually dictated by an IDE. Some people still [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=39&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>These days, when the majority of developers use huge environments like Microsoft Visual Sudio, DreamWeaver, Eclipse or NetBeans which contain pretty much everything a developer might ever need uncluding versioning tools, webservers, ftp-access, build environments, debuggers and of course editors. Hence the choice of an editor is actually dictated by an IDE.</p>
<p>Some people still prefer keep everything as simple as possible and use many small tools rather than one enormous one. Tne main reason is probably manual configuration &#8211; it is definitely easier to let the tool to build a project for you, but on the other hand it&#8217;s much more fun to write your own make file, keep it small and maintain along with the growth of the project.</p>
<p>There are many more plain text editors than IDEs which peacefully coexist and used by developers, but there are 2 major UNIX ones &#8211; the reason and a souce of the &#8220;Editor War&#8221; vi and emacs.</p>
<p>I believe many windows users might ask a reasonable question on why a eprson would ever use any of those. Similarly to my first reaction on vi when i just could not figure out how to close that thing.</p>
<p>Both editors are quite sophisticated and ancient pieces of software and it takes a long time to learn how to use it and a much longer time to feel comfortable with it. Programming using vi or emacs is much more fighting the editor at the beginnig. In fact bothe editors were designed to be used without a mouse. Simply there was not one at that time <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>vi</strong><br />
vi was written in 1976 by Bill joy in Unix system. Later it has been redeveloped into vim, and then a separate version with GUI has emerged. However an original version is still avaialble. vi is a modal editor &#8211; it operates in 2 modes &#8211; a command and insertion. In command mode the buttons that are usually used for entering the text are used to perform commands, such as save, copy paste and many many more, vi has more than a hundred.</p>
<p><strong>emacs</strong><br />
emacs was developed later and it is a modeless editor. The current version is Xemacs22. Emacs is more sophisticated than vi, is heavier and functionality commands are defined via key combinations.</p>
<p><em><strong>Benefits</strong></em><br />
<strong><span style="text-decoration:underline;">emacs</span></strong></p>
<ul>
<li> emacs has a greater number of plugins and addons which might include almost everything</li>
<li> emacs can be programmed, as it is the variant of LISP</li>
<li> emacs can be used as vi in fact, there&#8217;s a special mode for that as well as a special mode for windows like shortcuts</li>
<li> emacs is modeless</li>
<li> emacs supports typing in more than 20 languages</li>
<li> emacs supports many types of calculations, for example calendar calculations</li>
<li> emacs can perform plain-text into PostScript</li>
</ul>
<p><span style="text-decoration:underline;"><strong>vi</strong></span></p>
<ul>
<li> vi is smaller and faster, though emacs has much more embedded functionality, but it takes a considerably longer time to launch it</li>
<li> vi is usually used within the command line and the shell commands are typed in the shell directly, emacs uses a pipe</li>
<li> vi is embedded in all unix systems by default</li>
<li> vi does not 2-3 key shortcuts as emacs, commands are often defined by one button</li>
<li> vi does not need a lot of customization and keeps its settings in the simle plain text file</li>
</ul>
<p><em><strong>Editor Wars </strong></em><br />
*nix programming community sometimes treat their favourite piece of software with almost religious fanatism and the non-stopping debate on which editor is actually better are called &#8220;Editor Wars&#8221; similarly to Browser or Platform ones.<br />
Emacs fans has even created therir own Church of Emacs formed by Richard Stallman, as a joke though. It refers to vi vi vi (which is 666 in roman numerals) as the &#8220;editor of the beast&#8221;. In anser to that vi lovers has established the Cult of vi.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=39&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/29/vi-and-emacs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>The Go Programming Language</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/24/the-go-programming-language/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/24/the-go-programming-language/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 13:40:37 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=36</guid>
		<description><![CDATA[The GO Go (do not confuse with GO!) programming language is a brand new programming language developed and introduced by Google about a month ago (Novermber 2009). It is described as compiled, structured, concurrent and imperative programming language of a &#8216;c&#8217; language family (it&#8217;s syntax is very similar to original c). The distributions so far [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=36&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>The GO</strong></em></p>
<p><em><strong>Go</strong></em> (do not confuse with <em>GO!</em>) programming language is a brand new programming language developed and introduced by Google about a month ago (Novermber 2009). It is described as compiled, structured, concurrent and imperative programming language of a &#8216;c&#8217; language family (it&#8217;s syntax is very similar to original c). The distributions so far are for Linux and Mac operating systems (not for windows, so far, but I am sure there will be one soon enough).</p>
<p>The new language was bor out of frustration and with the purpose of making things faster,simplier,shorter and less mistake prone (as usual though). One of the main principles was to make language shorter, and in order to do that several approaches were followed:</p>
<ul>
<li> everything is declared only once (No Forward Declaration and common C header files)</li>
<li> use of := declare-and-initialize construct instead of heavy and verbose java like declarations: Foo foo = new Foo();</li>
<li> inproved type heirarchy &#8211; types just are, but no need to declare relationships between them, therefore methods are implemented for any type</li>
<li> despite teh language is similar to see the pointer arythmetic is not being used (as there&#8217;s no way then to get non-existing memory address)</li>
<li> for the same reasons prefix notation is not used</li>
<li> language has a garbage collection &#8211; mainly for the matter of simplification of memory management</li>
<li> the space of identifiers was extended to Unicode, not just ASCII</li>
<li> More interestingly Go does not have neither assertions nor exceptions. Generic types are not used as well. However Generic types and exceptions are still an open question and might be added in the later release</li>
<li> there&#8217;s no type inheritance in Go. The language  automatically satisfies any interface that specifies a subset of its methods</li>
<li> Go implements maps, (similar to perl hash data type)</li>
</ul>
<p>Hello World! in Go<em><br />
package main<br />
import fmt &#8220;fmt&#8221;<br />
func main() { fmt.Printf(&#8220;Hello, world;\n&#8221;); }</em></p>
<p>Go currently has 2 compilers<br />
6g are in C, using yacc/Bison and Gccgo with a C++ front-end with a recursive descent parser.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=36&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/24/the-go-programming-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>jQuery and YUI</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/24/jquery-and-yui/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/24/jquery-and-yui/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 12:59:39 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=34</guid>
		<description><![CDATA[Yahoo! YUI &#8211; User Interface Library &#8211; is a JavaScript library (similar to jQuery) that facilitates rich web applications development and provides identical featured and functionality in the range of common browsers. Currently there are 2 versions of YUI &#8211; YUI 2 (2006) and YUI 3 (2009). The latter was almost rebuild from scratch to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=34&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Yahoo! YUI</strong></em> &#8211; User Interface Library &#8211; is a JavaScript library (similar to <strong>jQuery)</strong> that facilitates rich web applications development and provides identical featured and functionality in the range of common browsers.</p>
<p>Currently there are 2 versions of YUI &#8211; YUI 2 (2006) and YUI 3 (2009). The latter was almost rebuild from scratch to be faster and more reliable.</p>
<p><em><strong>YUI</strong></em> includes 3 additional subprojects:</p>
<p><em>Also in the YUI Project:</em><br />
<em><strong>YUI Compressor</strong></em> &#8211; way of minifying of scripts<br />
<em><strong>YUI Doc</strong></em> &#8211; self-documenting Python-based framework<br />
<em><strong>YUI PHP Loader</strong></em> &#8211; managing back-end functionality issued.</p>
<p><em><strong>YUI Core</strong></em><br />
<strong>YUI</strong> object &#8211; main object in the library, the rest of functionality and plugins are accessed through it, similar to Jquery object. Benefits from the use of &#8216;use&#8217; function which allows to load a necessary modules. Unlike Query YUI is not divided into 2 libraries and contain everything in one. Jquery facilitates usage of different internal objects, (such as &#8220;.modal&#8221;, for example) YUI refer to those objects through a use function.</p>
<p>Additionally YUI Core includes &#8220;Node&#8221; and &#8220;Event&#8221; object that facilitates modification of DOM nodes and browser events. Events are organised similar to jQuery, however a &#8220;Node&#8221; object is a totally different one. jQuery accesses nodes through CSS selectors, YUI does almost the same job however &#8220;Node&#8221; functionality in YUI is slightly different and more extended.</p>
<p><em><strong>Utilities</strong></em></p>
<ul>
<li> <em><strong>Animation</strong></em> &#8211; definition of css properties of an element in one declaration. Similar to jQuery css function. the major difference here is that jQuery css processes one property at a time, with YUI a properties can be given as a set</li>
<li> Browser History Manager  &#8211; facilitates use and refering to browser &#8220;Go Back&#8221; button and bookmarks &#8211; no direct analogue in Jquery</li>
<li> <em><strong>AsyncQueue</strong></em> &#8211; a YUI ajax interface intended to create a series callback functions with sequential order of execution. Jquery provides similar functionality with .ajax object, where functions can be binded to events, based on the result of the query.</li>
<li> <em><strong>Cookie</strong></em> &#8211; inetrface for managing cookies in the browser. No direct analogue in jQuery</li>
<li> <em><strong>DataSource</strong></em> &#8211; API for data retrieval with variety of protocols (including XHR request)</li>
<li> <em><strong>DataType, DataSchema</strong></em> &#8211; data conversion and validating &#8211; no direct analogue in jquery</li>
<li> <em><strong>IO</strong></em> &#8211; managing ajax requests</li>
<li> <em><strong>Selector</strong></em> &#8211; element selection through CSS properties, almost exactly the same as selectors in jQuery</li>
<li> <em><strong>JSON</strong></em> &#8211; verfifcation and conversion of JSON data</li>
<li><em><strong> Get</strong></em> &#8211; the asynchronous loading  &#8211; similar so .GET function in jQuery</li>
<li> <em><strong>StyleSheet</strong></em> &#8211; dynamic modification of CSS properties, similar to jQuery css function</li>
</ul>
<p><em><strong>Widgets and Effects:</strong></em></p>
<p>Similar to jQuery UI YUI provides a wide range of effects:</p>
<ul>
<li> Draggable</li>
<li> Droppable</li>
<li> Resizable</li>
<li> Selectable</li>
<li> Modal Windows, etc.</li>
</ul>
<p>YUI is considered to have more visual effects, for example &#8220;File Tree&#8221;, which Jquery has as a plugin.  jQuery and YUI are similar libraries which were created with the similar purpose &#8211; make the work of a Javascript developer easier and forget of cross browser issues.</p>
<p>Initially libraries have some differences in the API, however given the countless amount of plugins for both have similar functionality.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=34&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/24/jquery-and-yui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Apps Engine</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/24/google-apps-engine/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/24/google-apps-engine/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 11:13:47 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=31</guid>
		<description><![CDATA[Google App Engine &#8211; is a platform for developing and hosting web applications on Google&#8217;s infrastructure. One of the core features is in no necessity for obtaining and maintaining servers &#8211; developed application can be uploaded and used via appspot.com free name domain. However Google Apps obviously support custom domain names as well. Google Apps [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=31&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Google App Engine</strong></em> &#8211; is a platform for developing and hosting web applications on Google&#8217;s infrastructure. One of the core features is in no necessity for obtaining and maintaining servers &#8211; developed application can be uploaded and used via appspot.com free name domain. However Google Apps obviously support custom domain names as well.</p>
<p><em><strong>Google Apps</strong></em> environment supports a range of computer languages &#8211; the first introduced ones were <strong>Java</strong> (JSP and servlets) and <strong>Python</strong>. Later a feature of using other languages that support java based interpretor was introduced (languages like <strong>Ruby</strong> or <strong>JavaScript)</strong>.</p>
<p><em><strong>Google Apps</strong></em> is not completely free of charge, the resources web application uses are measured in megabytes and should be paid for. However for small application (less than 500 Mb Google Apps is completely free). The measurements are performed in terms of Emails sent/received, Bandwidth in/out, CPU time, HTTP Requests, Datastore API calls, Data stored, Data Fetching calls</p>
<p>Google Apps engine uses an approach called &#8220;cloud computing&#8221; &#8211; applications developed with this language could be distributed all over the internet or distributed in a particular network with no access for non-authorised users. Here Google apps benefites from the overall infrastructure &#8211; Google accounts can be used to access the resource.</p>
<p><em><strong>Runtime anvironments</strong></em><br />
The run time environments supported by Google Apps Engine are already mentioned Java and Python ones:</p>
<ul>
<li><strong>Java</strong> &#8211; interaction with Java Servlet standards and the use of JSP (Java Server Pages). Engine primarily supports version 6 of java and includes support for application written for Java 5. Google apps include Java SE Runtime Environment (JRE) 6 platform and libraries.</li>
<li>Applications written in <strong>Python</strong> use interpreter version 2.52. Future releases are claimed to use Python 3 instead. For the matter of compliance to Python Programming standards Google Apps supports such development environment as Django and includes common Python packages and libraries.</li>
</ul>
<p><em><strong>Datastore</strong></em><br />
Google Apps provide a powerful database storage facility called a DataStore. This tool is a bit different to common relational SQL based databases. Data units are have a kind and a set of properties attached to it &#8211; for the matter<br />
of retrieving an object by a kind and sort and filter via property. The retrieval Mechanism is called GQL &#8211; similar to SQL, however it is different to the latter one &#8211; for example there is no &#8216;join&#8217; statement, select statement is able to retrieve not more than 1000 rows in one call and several more. In general sense it is not a relational database.</p>
<p>Google provides a set of restrictions, such as:<br />
Read-only access to the filesystem, HTTP only code execution, Pure Modules (Python c based modules are not allowed)</p>
<p><strong>Comparison to Ruby on Rails:</strong><br />
It&#8217;s very hard, in fact, to compare Google Apps Engine and ROR, even though they both are used for creation of web applications.<br />
In my opinion, they serve a little different purposes and uses quite different tools.</p>
<p>- Ruby On rails is more a framework for fascilitating development, in order not to reinvernt the wheel and concentrate of design, rather than on implementation. everything that can be done with ROR can be also done and integrated manually, however this environment brings everything together &#8211; things like webserver, language tools, databases are in all large piece. However this iis not the only feature. For me it looks like and IDE comparing to a simple text Editor. However the major differences might be described as following:</p>
<ul>
<li> ROR used Ruby as a major language, Google Apps are More python and Java base, however there is a support for Ruby</li>
<li> With ROR it is neede to maintain your own server, Google provides its own and its own infrustructure</li>
<li> In ROR many things are brought together, and they all are quite settable &#8211; for example the use of a relational database on your choice &#8211; MySQL, SQLite, Google Apps provides its own non-relational in a broad sense database engine</li>
<li> Google Apps provide a range of services, and therefore developers are mainly limited to the ways in which Google Apps work, in ROR it is up to a developer what tools to use, how to make calls, execute code, etc.</li>
</ul>
<p>Personally, I would probaly use neither of those or any other large and sophisticated development framework. I prefer do and combine everything manually with a simple text editor as a major tool. These frameworks enforces a range of principles and perform a lot of work automatically. I think custom build is always better. However this is just a personal preference</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=31&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/24/google-apps-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
		<item>
		<title>EditArea</title>
		<link>http://kvorobyov215.wordpress.com/2009/11/23/editarea/</link>
		<comments>http://kvorobyov215.wordpress.com/2009/11/23/editarea/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 15:40:27 +0000</pubDate>
		<dc:creator>kvorobyov</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kvorobyov215.wordpress.com/?p=27</guid>
		<description><![CDATA[Web nowadays provide a large amount of application where online-editing is the core feature,  therefore a large number of Javascript-based WYSIWYG open-source and proprietary editors are available &#8211; TinyMCE (probably the most recently used one), TextArea Rich, ScrypTik, openWYSIWYG, NicEdit, Free Rich Text Editor, Epoz and so on. The core idea is quite simple &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=27&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Web nowadays provide a large amount of application where online-editing is the core feature,  therefore a large number of Javascript-based WYSIWYG open-source and proprietary editors are available &#8211; TinyMCE (probably the most recently used one), TextArea Rich, ScrypTik, openWYSIWYG, NicEdit, Free Rich Text Editor, Epoz and so on. The core idea is quite simple &#8211; hide the HTML behind a nice interface and let user interact with it through a GUI.</p>
<p>However despite a large number of previously mentioned editors &#8211; programming plain text editors with syntax highlight are quite rare. One of the most popular ones is EditArea code editor written by Christophe Dolivet &#8211; <a href="http://www.cdolivet.com/">http://www.cdolivet.com/</a>.</p>
<p>It&#8217;s a very powerful tool and by his own words that is &#8220;That is no way a WYSIWYG editor&#8221;.</p>
<p>The core idea is quite similar to the WYSIWYG one, however there is no need to insert tags any more, in fact highlight can be performed through External CSS properties and the text is returned as is &#8211; therefore it can easily be a code that might be executed.</p>
<p>The main features of EditAera are:</p>
<ul>
<li> Syntax highlight</li>
<li> Search/replace text</li>
<li> Key bindings</li>
<li> Line numbering</li>
<li> Multilanguage support</li>
<li> Easily integrated with such libraries as prototype, jquery, mootools</li>
<li> Plugin integration</li>
<li> Undo/Redo buffers</li>
</ul>
<p><em>Syntax Highlight</em><br />
Edit Area provides syntax highlight for a number of languages (PHP, CSS, Javascript, Python, HTML, XML, VB, C, CPP and many more). The switch between different highlighting schemes could be located on the editor as a select box</p>
<p><em>Search/replace</em><br />
Editor provides a search/replace modal box. Additionally search can be performed via a regular expression and easily replaced &#8211; this is an incredibly useful feature especially when it is needed to replace one pattern (like variable name) that occurs in the large text multiple times</p>
<p><em>Key bindings  and Line numbering</em><br />
Editor provides line numbering a number of inbuilt shortcuts common to a regular system editor &#8211; the main feature is in indenting blocks<br />
of text with tab key.</p>
<p><em>Multi language support</em><br />
A large number of language schemes is provided &#8211; everything (including tool tips) can be easily translated into one of many language packs provided &#8211; Croatian, Czech, Danish, Dutch, English, Esperanto, French, German, Italian, Japanese, Macedonian, Polish, Portuguese, Russian and more<br />
.<br />
<em>Integration</em><br />
Editor easily works ion the environments built on top of common JavaScript libraries, such as Jquery or prototype</p>
<p><em>Plugins</em><br />
Additional buttons or select fields can be easily created with a plugin framework provided by editor  interface. A framework includes a number of ready-to-use functions.</p>
<p><em>Undo/Redo</em><br />
EditArea has a very well implemented settable undo and redo buffers &#8211; the number of &#8220;undo&#8221; and &#8220;redo&#8221; actions can be set by s user.</p>
<p>Additionally EditArea is very easy to use, provide a large number of functions for accessing and setting the editor, almost everything can be set including an interface for executing internal functions. Editor is very light and well documented. And in my opinion it should be the choice number one for online-coding purpose.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvorobyov215.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvorobyov215.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvorobyov215.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvorobyov215.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvorobyov215.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvorobyov215.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvorobyov215.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvorobyov215.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvorobyov215.wordpress.com&amp;blog=9526975&amp;post=27&amp;subd=kvorobyov215&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvorobyov215.wordpress.com/2009/11/23/editarea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5c71f1866bb25dfb773ea3f0b3d34e2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kvorobyov</media:title>
		</media:content>
	</item>
	</channel>
</rss>
