<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24340914</id><updated>2011-10-17T09:19:25.501+03:00</updated><category term='windows live'/><category term='mobile'/><category term='flash'/><category term='Visual Studio'/><category term='xaml'/><category term='ecmascript'/><category term='3d'/><category term='books'/><category term='flash media server'/><category term='gwt'/><category term='regexp'/><category term='adobe'/><category term='altova'/><category term='api'/><category term='db2'/><category term='chrome'/><category term='maxthon'/><category term='firefox'/><category term='audio'/><category term='devices'/><category term='css'/><category term='web 2.0'/><category term='symbian'/><category term='flex data services'/><category term='internet os'/><category term='sun'/><category term='video'/><category term='nosql'/><category term='.net'/><category term='ajax oracle'/><category term='weborb'/><category term='amf'/><category term='openajax'/><category term='mambo'/><category term='eclipse'/><category term='windows mobile'/><category term='actionscript'/><category term='active widgets'/><category term='prism'/><category term='barcode'/><category term='facebook'/><category term='xml'/><category term='iis'/><category term='jQuery'/><category term='waml'/><category term='goa'/><category term='java'/><category term='webinar'/><category term='security'/><category term='Java FX'/><category term='legal'/><category term='bindows'/><category term='cloud'/><category term='flex'/><category term='networking'/><category term='pdf'/><category term='oracle'/><category term='server side'/><category term='mq'/><category term='patents'/><category term='mvc'/><category term='mywdk'/><category term='ui'/><category term='dojo'/><category term='android'/><category term='iPhone'/><category term='tutorials'/><category term='desktop'/><category term='Grafeio'/><category term='palm'/><category term='saas'/><category term='asp.net'/><category term='vzaar'/><category term='ria'/><category term='components'/><category term='JavaScript'/><category term='wso2'/><category term='web os'/><category term='sketching'/><category term='json'/><category term='ide'/><category term='prototype'/><category term='google'/><category term='yui'/><category term='qooxdoo'/><category term='couchdb'/><category term='OpenLaszlo'/><category term='apple'/><category term='backbase'/><category term='wsdl'/><category term='curl'/><category term='http'/><category term='qnx'/><category term='gaia'/><category term='browsers'/><category term='data sources'/><category term='ibm'/><category term='xquery'/><category term='webkit'/><category term='cms'/><category term='amazon'/><category term='laszlo'/><category term='jasper'/><category term='moonlight'/><category term='callbacks'/><category term='usability'/><category term='software ag'/><category term='hardware'/><category term='lotus'/><category term='tamino'/><category term='IDEA'/><category term='dreamweaver'/><category term='air'/><category term='php'/><category term='silverlight'/><category term='ajax'/><category term='aol'/><category term='volta'/><category term='morfik'/><category term='novell'/><category term='music'/><category term='xslt'/><category term='web services'/><category term='cdn'/><category term='widgets'/><category term='ie'/><category term='mxml'/><category term='seo'/><category term='ruby on rails'/><category term='aswing'/><category term='jobs'/><category term='flashdevelop'/><category term='Operating Systems'/><category term='ror'/><category term='microsoft'/><category term='Programing Languages'/><category term='mozilla'/><category term='mono'/><category term='failure'/><category term='aptana'/><title type='text'>Skitsanos for RIA</title><subtitle type='html'>Webware development dedicated blog by Evgenios Skitsanos. ASP.NET, XML, RIA, Adobe Flex, ActionScript 3, AIR, AJAX, Web 2.0, Backbase, CGI development with RealBasic and other web development issues.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default?start-index=101&amp;max-results=100'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>739</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24340914.post-3672909819295269237</id><published>2010-12-22T13:08:00.001+02:00</published><updated>2010-12-22T13:08:45.042+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>No Callbacks Required: StratifiedJS Returns Sequential Programming to JavaScript</title><content type='html'>&lt;p align="justify"&gt;JavaScript is fundamentally single threaded, no parallel threads in sight. Asynchronous programming is necessary for any task that might block; JavaScript programming usually involves creating and passing around a lot of callbacks, essentially forcing the developer to manually translate sequential code into continuation passing style.&lt;/p&gt;  &lt;p align="justify"&gt;One solution was introduced at the Emerging Languages Camp at OSCON 2010: &lt;a href="http://onilabs.com/presentations/OSCON2010/"&gt;StratifiedJS&lt;/a&gt;. The language is essentially JavaScript with a few more keywords and concurrency constructs which permit the developer to write sequential code. Yet it all still runs on normal JavaScript engines that come in todays browsers.&lt;/p&gt;  &lt;p align="justify"&gt;How's that possible? InfoQ talked to &lt;b&gt;Alexander Fritze&lt;/b&gt;, CTO of &lt;a href="http://onilabs.com/"&gt;Onilabs&lt;/a&gt;, to find out. Onilabs is behind &lt;a href="http://onilabs.com/apollo"&gt;Apollo&lt;/a&gt;, a free and MIT licensed, browser based implementation of StratifiedJS. &lt;/p&gt;  &lt;p align="justify"&gt;More at &lt;a href="http://www.infoq.com/articles/stratifiedjs" target="_blank"&gt;http://www.infoq.com/articles/stratifiedjs&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3672909819295269237?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3672909819295269237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3672909819295269237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3672909819295269237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3672909819295269237'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/12/no-callbacks-required-stratifiedjs.html' title='No Callbacks Required: StratifiedJS Returns Sequential Programming to JavaScript'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6788562121186334027</id><published>2010-09-19T13:36:00.002+03:00</published><updated>2010-09-19T14:04:26.419+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='failure'/><title type='text'>ASP.NET Security Vulnerability</title><content type='html'>Source: &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx"&gt;ScottGu’s Blog&lt;/a&gt;&lt;br /&gt;few hours ago we released a &lt;a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx"&gt;Microsoft Security Advisory&lt;/a&gt; about a security vulnerability in ASP.NET.&amp;nbsp; This vulnerability exists in all versions of ASP.NET.&lt;br /&gt;&lt;br /&gt;This vulnerability was publically disclosed late Friday at a security conference.&amp;nbsp; We recommend that all customers immediately apply a workaround (described below) to prevent attackers from using this vulnerability against your ASP.NET applications.&lt;br /&gt;&lt;h5&gt;&lt;u&gt;What does the vulnerability enable?&lt;/u&gt;&lt;/h5&gt;An attacker using this vulnerability can request and download files within an ASP.NET Application like the web.config file (which often contains sensitive data).&lt;br /&gt;At attacker exploiting this vulnerability can also decrypt data sent to the client in an encrypted state (like ViewState data within a page).&lt;br /&gt;&lt;h5&gt;&lt;u&gt;How the Vulnerability Works&lt;/u&gt;&lt;/h5&gt;To understand how this vulnerability works, you need to know about cryptographic oracles. An oracle in the context of cryptography is a system which provides hints as you ask it questions. In this case, there is a vulnerability in ASP.NET which acts as a padding oracle. This allows an attacker to send cipher text to the web server and learn if it was decrypted properly by examining which error code was returned by the web server.&amp;nbsp; By making many such requests (and watching what errors are returned) the attacker can learn enough to successfully decrypt the rest of the cipher text.&lt;br /&gt;&lt;h5&gt;&lt;u&gt;How to Workaround The Vulnerability&lt;/u&gt;&lt;/h5&gt;A workaround you can use to prevent this vulnerability is to enable the &amp;lt;customErrors&amp;gt; feature of ASP.NET, and explicitly configure your applications to &lt;u&gt;always return the same error page&lt;/u&gt; - regardless of the error encountered on the server. By mapping all error pages to a single error page, you prevent a hacker from distinguishing between the different types of errors that occur on a server.&lt;br /&gt;&lt;strong&gt;Important&lt;/strong&gt;: It &lt;u&gt;is not&lt;/u&gt; enough to simply turn on CustomErrors or have it set to RemoteOnly. You also need to make sure that all errors are configured to return the same error page.&amp;nbsp; This requires you to &lt;u&gt;explicitly&lt;/u&gt; set the “defaultRedirect” attribute on the &amp;lt;customErrors&amp;gt; section and ensure that no per-status codes are set.&lt;br /&gt;&lt;h5&gt;&lt;u&gt;Enabling the Workaround on ASP.NET V1.0 to V3.5&lt;/u&gt;&lt;/h5&gt;If you are using ASP.NET 1.0, ASP.NET 1.1, ASP.NET 2.0, or ASP.NET 3.5 then you should follow the below steps to enable &amp;lt;customErrors&amp;gt; and map all errors to a single error page:&lt;br /&gt;1) Edit your ASP.NET Application’s root Web.Config file.&amp;nbsp; If the file doesn’t exist, then create one in the root directory of the application.&lt;br /&gt;2) Create or modify the &amp;lt;customErrors&amp;gt; section of the web.config file to have the below settings:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;configuration&amp;gt;        &lt;br /&gt;&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;customErrors mode="On" defaultRedirect="~/error.html" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/system.web&amp;gt;        &lt;br /&gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;3) You can then add an error.html file to your application that contains an appropriate error page of your choosing (containing whatever content you like).&amp;nbsp; This file will be displayed anytime an error occurs within the web application.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Notes:&lt;/strong&gt; The important things to note above is that customErrors is set to “on”, and that all errors are handled by the defaultRedirect error page.&amp;nbsp; There &lt;u&gt;are not any per-status code error pages defined&lt;/u&gt; – which means that there are no &amp;lt;error&amp;gt; sub-elements within the &amp;lt;customErrors&amp;gt; section.&amp;nbsp; This avoids an attacker being able to differentiate why an error occurred on the server, and prevents information disclosure&lt;br /&gt;&lt;h5&gt;&lt;u&gt;Enabling the Workaround on ASP.NET V3.5 SP1 and ASP.NET 4.0&lt;/u&gt;&lt;/h5&gt;If you are using ASP.NET 3.5 SP1 or ASP.NET 4.0 then you should follow the below steps to enable &amp;lt;customErrors&amp;gt; and map all errors to a single error page:&lt;br /&gt;&lt;br /&gt;1) Edit your ASP.NET Application’s root Web.Config file.&amp;nbsp; If the file doesn’t exist, then create one in the root directory of the application.&lt;br /&gt;&lt;br /&gt;2) Create or modify the &amp;lt;customErrors&amp;gt; section of the web.config file to have the below settings.&amp;nbsp; Note the use of redirectMode=”ResponseRewrite” with .NET 3.5 SP1 and .NET 4.0:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/error.aspx" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/system.web&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;3) You can then add an Error.aspx to your application that contains an appropriate error page of your choosing (containing whatever content you like).&amp;nbsp; This file will be displayed anytime an error occurs within the web application.&lt;br /&gt;&lt;br /&gt;4) We recommend adding the below code to the Page_Load() server event handler within the Error.aspx file to add a random, small sleep delay. This will help to further obfuscate errors.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;VB Version&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Below is a VB version of an Error.aspx file that you can use, and which has a random, small sleep delay in it.&amp;nbsp; You &lt;u&gt;do not&lt;/u&gt; need to compile this into an application – you can optionally just save this Error.aspx file into the application directory on your web-server:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;%@ Page Language="VB" AutoEventWireup="true" %&amp;gt;&lt;br /&gt;&amp;lt;%@ Import Namespace="System.Security.Cryptography" %&amp;gt;&lt;br /&gt;&amp;lt;%@ Import Namespace="System.Threading" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script runat="server"&amp;gt;&lt;br /&gt;Sub Page_Load()&lt;br /&gt;Dim delay As Byte() = New Byte(0) {}&lt;br /&gt;Dim prng As RandomNumberGenerator = New RNGCryptoServiceProvider()&lt;br /&gt;&lt;br /&gt;prng.GetBytes(delay)&lt;br /&gt;Thread.Sleep(CType(delay(0), Integer))&lt;br /&gt;&lt;br /&gt;Dim disposable As IDisposable = TryCast(prng, IDisposable)&lt;br /&gt;If Not disposable Is Nothing Then&lt;br /&gt;disposable.Dispose()&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head runat="server"&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Error&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;Sorry - an error occured&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;u&gt;C# Version&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Below is a C# version of an Error.aspx file that you can use, and which has a random, small sleep delay in it.&amp;nbsp; You &lt;u&gt;do not&lt;/u&gt; need to compile this into an application – you can optionally just save it into the application directory on your web-server:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;%@ Page Language="C#" AutoEventWireup="true" %&amp;gt;&lt;br /&gt;&amp;lt;%@ Import Namespace="System.Security.Cryptography" %&amp;gt;&lt;br /&gt;&amp;lt;%@ Import Namespace="System.Threading" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script runat="server"&amp;gt;&lt;br /&gt;void Page_Load() {&lt;br /&gt;byte[] delay = new byte[1];&lt;br /&gt;RandomNumberGenerator prng = new RNGCryptoServiceProvider();&lt;br /&gt;&lt;br /&gt;prng.GetBytes(delay);&lt;br /&gt;Thread.Sleep((int)delay[0]);&lt;br /&gt;&lt;br /&gt;IDisposable disposable = prng as IDisposable;&lt;br /&gt;if (disposable != null) { disposable.Dispose(); }&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head runat="server"&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Error&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;An error occurred while processing your request.&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;h5&gt;&lt;u&gt;How to Verify if the Workaround is Enabled&lt;/u&gt;&lt;/h5&gt;Once you have applied the above workaround, you can test to make sure the &amp;lt;customErrors&amp;gt; section is correctly configured by requesting a URL like this from your site: &lt;a href="http://mysite.com/pagethatdoesnotexist.aspx"&gt;http://mysite.com/pagethatdoesnotexist.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you see the custom error page appear (because the file you requested doesn’t exist) then your configuration should be setup correctly.&amp;nbsp; If you see a standard ASP.NET error then it is likely that you missed one of the steps above.&amp;nbsp; To see more information about what might be the cause of the problem, you can try setting &amp;lt;customErrors mode=”remoteOnly”/&amp;gt; – which will enable you to see the error message if you are connecting to the site from a local browser.&lt;br /&gt;&lt;h5&gt;&lt;u&gt;How to Find Vulnerable ASP.NET Applications on Your Web Server&lt;/u&gt;&lt;/h5&gt;We have &lt;a href="http://www.asp.net/media/782788/detectcustomerrorsdisabledv30.zip"&gt;published a .vbs script&lt;/a&gt; that you can save and run on your web-server to determine if there are ASP.NET applications installed on it that either have &amp;lt;customErrors&amp;gt; turned off, or which differentiate error messages depending on status codes.&lt;br /&gt;&lt;br /&gt;You can download the .vbs script &lt;a href="http://www.asp.net/media/782788/detectcustomerrorsdisabledv30.zip"&gt;here&lt;/a&gt;.&amp;nbsp; Simply copy/paste the script into a text file called “DetectCustomErrors.vbs” and save it to disk.&amp;nbsp; Then launch a command window that is elevated as admin and run “cscript DetectCustomErrors.vbs” to run it against your local web-server.&amp;nbsp; It will enumerate all of the applications within your web server and verify that the correct &amp;lt;customErrors&amp;gt; configuration has been specified.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scottgu.com/blogposts/command.png"&gt;&lt;img alt="command[1]" border="0" height="126" src="http://www.scottgu.com/blogposts/command.png" title="command[1]" width="677" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It will flag any application where it finds that an application’s web.config file doesn’t have the &amp;lt;customErrors&amp;gt; section (in which case you need to add it), or doesn’t have it set correctly to workaround this attack (in which case you need to update it).&amp;nbsp; It will print “ok” for each application web.config file it finds that is fine.&amp;nbsp; This should hopefully make it easier to locate issues.&lt;br /&gt;&lt;br /&gt;Note: We have developed this detection script over the last few hours, and will be refining it further in the future.&amp;nbsp; I will post an update in this section each time we make a change to it.&lt;br /&gt;&lt;h5&gt;&lt;u&gt;How to Find More Information about this Vulnerability&lt;/u&gt;&lt;/h5&gt;You can learn more about this vulnerability from:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx"&gt;Microsoft Security Advisory 2416728&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.technet.com/b/srd/archive/2010/09/17/understanding-the-asp-net-vulnerability.aspx"&gt;Understanding the ASP.NET Vulnerability&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.technet.com/b/msrc/archive/2010/09/17/security-advisory-2416728-released.aspx"&gt;Microsoft Security Response Center Blog Post&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;&lt;u&gt;Forum for Questions&lt;/u&gt;&lt;/h5&gt;We have setup a dedicated forum on the &lt;a href="http://forums.asp.net/1233.aspx"&gt;www.asp.net&lt;/a&gt; site to help answer questions about this vulnerability.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/1233.aspx"&gt;Post questions here&lt;/a&gt; to ask questions and get help about this vulnerability.&lt;br /&gt;&lt;h5&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/h5&gt;We will post more details as we learn more, and will also be releasing a patch that can be used to correct the root cause of the issue (and avoid the need for the above workaround).&lt;br /&gt;&lt;br /&gt;Until then, please apply the above workaround to all of your ASP.NET applications to prevent attackers from exploiting it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6788562121186334027?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6788562121186334027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6788562121186334027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6788562121186334027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6788562121186334027'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/aspnet-security-vulnerability.html' title='ASP.NET Security Vulnerability'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1072392077523587503</id><published>2010-09-19T13:32:00.001+03:00</published><updated>2010-09-19T13:32:14.941+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Turning HTML Tables Into Advanced Editable Components</title><content type='html'>&lt;p&gt;&lt;a href="http://www.webismymind.be/editablegrid/"&gt;EditableGrid&lt;/a&gt; is an open source Javascript library aimed at turning HTML tables into advanced editable components. It focuses on simplicity: only a few lines of code are required to get your first table up and running.&lt;/p&gt;  &lt;p&gt;It loads grid from XML or attach to an existing HTML table. Built-in validators for columns of type integer, double, url, email and date. Sort columns accordingly to their types, by clicking on the column header. Open Flash Chart integration to render charts from the grid data. Callbacks for all events: load, edition, sorting, etc.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.webismymind.be/editablegrid/"&gt;&lt;img title="editable-grid" alt="editable-grid" src="http://maxcdn.webappers.com/img/2010/09/editable-grid.jpg" width="480" height="189" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Requirements: Javascript Enabled   &lt;br /&gt;Demo: &lt;a href="http://www.webismymind.be/editablegrid/"&gt;http://www.webismymind.be/editablegrid/&lt;/a&gt;    &lt;br /&gt;License: GPL License&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1072392077523587503?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1072392077523587503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1072392077523587503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1072392077523587503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1072392077523587503'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/turning-html-tables-into-advanced.html' title='Turning HTML Tables Into Advanced Editable Components'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-9046909441943037671</id><published>2010-09-19T13:29:00.001+03:00</published><updated>2010-09-19T13:29:37.004+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Easy To Use jQuery Plugin For Radical Web Typography</title><content type='html'>&lt;p&gt;Web Typography is exploding all over the web. In many instances we would need to style individual letters. We need a system to keep our markup maintainable. Something agile enough that a text change wouldn’t ruin us.&lt;/p&gt;  &lt;p&gt;The solution was to call upon the power of Javascript to insert some easy to remember span tags. Here we have&lt;a href="http://daverupert.com/2010/09/lettering-js/"&gt;Lettering.JS&lt;/a&gt; which is a lightweight, easy to use jQuery plugin for radical Web Typography.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://daverupert.com/2010/09/lettering-js/"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="lettering-js" alt="lettering-js" src="http://maxcdn.webappers.com/img/2010/09/lettering-js.jpg" width="480" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Requirements: jQuery Framework     &lt;br /&gt;Demo: &lt;a href="http://daverupert.com/2010/09/lettering-js/"&gt;http://daverupert.com/2010/09/lettering-js/&lt;/a&gt;      &lt;br /&gt;License: WTFPL License&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-9046909441943037671?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/9046909441943037671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=9046909441943037671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/9046909441943037671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/9046909441943037671'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/easy-to-use-jquery-plugin-for-radical.html' title='Easy To Use jQuery Plugin For Radical Web Typography'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7677662794406390810</id><published>2010-09-18T11:39:00.001+03:00</published><updated>2010-09-18T11:39:48.053+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery UI 1.8.5</title><content type='html'>&lt;p&gt;The fifth maintenance release for jQuery UI 1.8 is out. This update brings bug fixes for jQuery UI Core, the Widget Factory and the Position utility as well as the Autocomplete, Button, Datepicker Dialog, and Tabs widgets. For the full list of changes, see the &lt;a href="http://jqueryui.com/docs/Changelog/1.8.5"&gt;changelog&lt;/a&gt;. You can download it here:&lt;/p&gt;  &lt;h3&gt;Download&lt;/h3&gt;  &lt;p&gt;File Downloads&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Development Bundle: &lt;a href="http://jquery-ui.googlecode.com/files/jquery-ui-1.8.5.zip"&gt;http://jquery-ui.googlecode.com/files/jquery-ui-1.8.5.zip&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Themes Package: &lt;a href="http://jquery-ui.googlecode.com/files/jquery-ui-themes-1.8.5.zip"&gt;http://jquery-ui.googlecode.com/files/jquery-ui-themes-1.8.5.zip&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://code.google.com/p/jquery-ui/source/checkout"&gt;Svn&lt;/a&gt; (CONTAINS FINAL FILES AS THEY ARE IN THE ZIP, WITH @VERSION REPLACED WITH 1.8.5, ALL THEMES)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tag: &lt;a href="http://jquery-ui.googlecode.com/svn/tags/1.8.5/"&gt;http://jquery-ui.googlecode.com/svn/tags/1.8.5/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Themes: &lt;a href="http://jquery-ui.googlecode.com/svn/tags/1.8.5/themes/"&gt;http://jquery-ui.googlecode.com/svn/tags/1.8.5/themes/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://github.com/jquery/jquery-ui/"&gt;Git&lt;/a&gt; (CONTAINS PRE-BUILD FILES, WITH @VERSION NOT YET REPLACED WITH 1.8.5, BASE THEME ONLY)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tag: &lt;a href="http://github.com/jquery/jquery-ui/tree/1.8.5"&gt;http://github.com/jquery/jquery-ui/tree/1.8.5&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://code.google.com/apis/libraries/devguide.html#jqueryUI"&gt;Google Ajax Libraries API&lt;/a&gt; (CDN)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Uncompressed: &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js"&gt;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Compressed: &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"&gt;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Themes:     &lt;br /&gt;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/base/jquery-ui.css"&gt;base&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/black-tie/jquery-ui.css"&gt;black-tie&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/blitzer/jquery-ui.css"&gt;blitzer&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/cupertino/jquery-ui.css"&gt;cupertino&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/dark-hive/jquery-ui.css"&gt;dark-hive&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/dot-luv/jquery-ui.css"&gt;dot-luv&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/eggplant/jquery-ui.css"&gt;eggplant&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/excite-bike/jquery-ui.css"&gt;excite-bike&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/flick/jquery-ui.css"&gt;flick&lt;/a&gt;,&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/hot-sneaks/jquery-ui.css"&gt;hot-sneaks&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/humanity/jquery-ui.css"&gt;humanity&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/le-frog/jquery-ui.css"&gt;le-frog&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/mint-choc/jquery-ui.css"&gt;mint-choc&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/overcast/jquery-ui.css"&gt;overcast&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/pepper-grinder/jquery-ui.css"&gt;pepper-grinder&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/redmond/jquery-ui.css"&gt;redmond&lt;/a&gt;,&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/smoothness/jquery-ui.css"&gt;smoothness&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/south-street/jquery-ui.css"&gt;south-street&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/start/jquery-ui.css"&gt;start&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/sunny/jquery-ui.css"&gt;sunny&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/swanky-purse/jquery-ui.css"&gt;swanky-purse&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/trontastic/jquery-ui.css"&gt;trontastic&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/ui-darkness/jquery-ui.css"&gt;ui-darkness&lt;/a&gt;, &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/ui-lightness/jquery-ui.css"&gt;ui-lightness&lt;/a&gt;, and &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/vader/jquery-ui.css"&gt;vader&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;Microsoft Ajax CDN&lt;/a&gt; (CDN)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Uncompressed: &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.js"&gt;http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.js&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Compressed: &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.min.js"&gt;http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.min.js&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Themes:     &lt;br /&gt;&lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/base/jquery-ui.css"&gt;base&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/black-tie/jquery-ui.css"&gt;black-tie&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/blitzer/jquery-ui.css"&gt;blitzer&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/cupertino/jquery-ui.css"&gt;cupertino&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/dark-hive/jquery-ui.css"&gt;dark-hive&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/dot-luv/jquery-ui.css"&gt;dot-luv&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/eggplant/jquery-ui.css"&gt;eggplant&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/excite-bike/jquery-ui.css"&gt;excite-bike&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/flick/jquery-ui.css"&gt;flick&lt;/a&gt;,&lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/hot-sneaks/jquery-ui.css"&gt;hot-sneaks&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/humanity/jquery-ui.css"&gt;humanity&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/le-frog/jquery-ui.css"&gt;le-frog&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/mint-choc/jquery-ui.css"&gt;mint-choc&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/overcast/jquery-ui.css"&gt;overcast&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/pepper-grinder/jquery-ui.css"&gt;pepper-grinder&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/redmond/jquery-ui.css"&gt;redmond&lt;/a&gt;,&lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/smoothness/jquery-ui.css"&gt;smoothness&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/south-street/jquery-ui.css"&gt;south-street&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/start/jquery-ui.css"&gt;start&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/sunny/jquery-ui.css"&gt;sunny&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/swanky-purse/jquery-ui.css"&gt;swanky-purse&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/trontastic/jquery-ui.css"&gt;trontastic&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/ui-darkness/jquery-ui.css"&gt;ui-darkness&lt;/a&gt;, &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/ui-lightness/jquery-ui.css"&gt;ui-lightness&lt;/a&gt;, and &lt;a href="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/themes/vader/jquery-ui.css"&gt;vader&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Custom Download Builder&lt;/h3&gt;  &lt;h5&gt;New CDN&lt;/h5&gt;  &lt;p&gt;We’re pleased to announce that Microsoft is now hosting jQuery UI on the &lt;a href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;Microsoft Ajax CDN&lt;/a&gt;. Microsoft is hosting uncompressed and compressed versions as well as all of our pre-built themes. For more information check out &lt;a href="http://stephenwalther.com/blog/archive/2010/09/17/jquery-ui-on-the-microsoft-cdn.aspx"&gt;Stephen Walther’s announcement from Microsoft&lt;/a&gt;.&lt;/p&gt;  &lt;h5&gt;New Features&lt;/h5&gt;  &lt;p&gt;In this release, we’ve added jQuery.support.minHeight which detects whether the browser supports the minHeight style.&lt;/p&gt;  &lt;h6&gt;DIALOG&lt;/h6&gt;  &lt;p&gt;You can now pass an object containing specific properties to set in the buttons option.&lt;/p&gt;  &lt;h5&gt;Changelog&lt;/h5&gt;  &lt;p&gt;See the &lt;a href="http://jqueryui.com/docs/Upgrade_Guide/1.8.5"&gt;1.8.5 Upgrade Guide&lt;/a&gt; for a list of changes that may affect you when upgrading from 1.8.4. For full details on what’s included in this release see the &lt;a href="http://jqueryui.com/docs/Changelog/1.8.5"&gt;1.8.5 Changelog&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7677662794406390810?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7677662794406390810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7677662794406390810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7677662794406390810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7677662794406390810'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/jquery-ui-185.html' title='jQuery UI 1.8.5'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4087771026248832380</id><published>2010-09-11T21:30:00.001+03:00</published><updated>2010-09-11T21:30:17.555+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='couchdb'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>WDK.API.CouchDb for upcoming SiteAdmin CMS</title><content type='html'>&lt;p align="justify"&gt;&lt;img style="margin: 0px 0px 0px 10px; display: inline" alt="SiteAdmin CMS on CouchDB" align="right" src="http://svn.apache.org/repos/asf/couchdb/trunk/share/www/image/logo.png" /&gt;As you probably heard already about our plans to drop completely support for SQL Server and run away from from this ugly monster, so after all we decided to move new SiteAdmin CMS build entirely on Apache CouchDB (&lt;a href="http://couchdb.apache.org/"&gt;&lt;u&gt;http://couchdb.apache.org/&lt;/u&gt;&lt;/a&gt; for more details). CouchDB has too many benefits to ignore, plus for content management i i couldn’t think of better option for the moment. for past few years SiteAdmin CMS content objects were serialized into XML and stored into XML fields in SQL Server, which is not exactly the best way of doing things. &lt;/p&gt;  &lt;p align="justify"&gt;So, in order to move existing content objects into CouchDB we actually needed some database client that allows us to connect to CouchDb and do the job quickly without overloading us and our users with complex syntax. Initially i went through bunch of .NET implementations of CouchDB clients, like Divan, SharpCouch and God knows what else it was, yea some of them were quite interesting and complete, but problem mainly with them that they are too complex. (&lt;em&gt;Come on guys why you have to write things in ugly ways? Just because you learned some how-to-be-MVP bullshit in a book last night or been sitting you ass down in university for 5 years and had nothing better to do? What about keeping thing just simple?&lt;/em&gt;)&lt;/p&gt;  &lt;p align="justify"&gt;As i was saying, we need something simple that does the job right and quickly, so here we go: WDK. API.CouchDb library for SiteAdmin CMS (well, actually you can use it outside of SiteAdmin CMS, as any other libraries from Skitsanos WDK.* set).&lt;/p&gt;  &lt;p align="justify"&gt;Some of the features available at this moment:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Get database server version;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Get list of databases&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Check if database exists&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Create database&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Count documents in database&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Get documents&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Create document&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Create design document&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Get document by ID&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Get design view&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Delete document&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Couple of code examples in VB.NET:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Dim db As New WDK.API.CouchDb(&amp;quot;localhost&amp;quot;, 5984) &lt;/p&gt;    &lt;p&gt;'- get database server version&amp;#160; &lt;br /&gt;Debug.WriteLine(db.Version) &lt;/p&gt;    &lt;p&gt;Dim dbs As List(Of String) = db.getDatabases&amp;#160; &lt;br /&gt;Debug.WriteLine(dbs.Count) &lt;/p&gt;    &lt;p&gt;'- Get list of databases&amp;#160; &lt;br /&gt; db.getDatabases() &lt;/p&gt;    &lt;p&gt;'- Check if database exists      &lt;br /&gt;Debug.WriteLine(db.databaseExists(&amp;quot;siteadmincms2&amp;quot;)) &lt;/p&gt;    &lt;p&gt;'- Create a Database&amp;#160; &lt;br /&gt; db.createDatabase(&amp;quot;siteadmincms&amp;quot;) &lt;/p&gt;    &lt;p&gt;'- Count documents in the database&amp;#160; &lt;br /&gt; db.countDocuments(&amp;quot;siteadmincms&amp;quot;) &lt;/p&gt;    &lt;p&gt;'- Get All documents&amp;#160; &lt;br /&gt; Dim docs As List(Of DocumentInfo) = db.getAllDocuments(&amp;quot;siteadmincms&amp;quot;) &lt;/p&gt;    &lt;p&gt;'- create document&amp;#160; &lt;br /&gt; Dim entry As New LogEntryType&amp;#160; &lt;br /&gt; entry.content = &amp;quot;testing... (&amp;quot; + Now.ToString + &amp;quot;)&amp;quot;&amp;#160; &lt;br /&gt; db.createDocument(&amp;quot;siteadmincms&amp;quot;, entry) &lt;/p&gt;    &lt;p&gt;'- create design document&amp;#160; &lt;br /&gt; db.createDesignDocument(&amp;quot;siteadmincms&amp;quot;, &amp;quot;ApplicationLog&amp;quot;, &amp;quot;showAll&amp;quot;, &amp;quot;function(doc){if (doc.type &amp;amp;&amp;amp; doc.type == 'LogEntryType') emit(doc.createdOn, doc);}&amp;quot;) &lt;/p&gt;    &lt;p&gt;'- Get document by ID&amp;#160; &lt;br /&gt; Debug.WriteLine(db.getDocumentAsJson(&amp;quot;siteadmincms&amp;quot;, &amp;quot;_design/ApplicationLog&amp;quot;))&amp;#160; &lt;br /&gt; Debug.WriteLine(db.getDocumentAsJson(&amp;quot;siteadmincms&amp;quot;, &amp;quot;4ac4e0e0f94b1e73e40403d1b3008628&amp;quot;))&amp;#160; &lt;br /&gt;Dim entry As LogEntryType = db.getDocument(Of LogEntryType)(&amp;quot;siteadmincms&amp;quot;, &amp;quot;4ac4e0e0f94b1e73e40403d1b3008628&amp;quot;)&amp;#160; &lt;br /&gt; Debug.WriteLine(entry.content) &lt;/p&gt;    &lt;p&gt;'- delete document by id&amp;#160; &lt;br /&gt; db.deleteDocument(&amp;quot;siteadmincms&amp;quot;, &amp;quot;4ac4e0e0f94b1e73e40403d1b3008628&amp;quot;) &lt;/p&gt;    &lt;p&gt;'-get all documents via design view&amp;#160; &lt;br /&gt; Dim di As Object = db.getDesignView(Of LogEntryType)(&amp;quot;siteadmincms&amp;quot;, &amp;quot;ApplicationLog&amp;quot;, &amp;quot;showAll&amp;quot;) &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hope this help you anyhow.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4087771026248832380?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4087771026248832380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4087771026248832380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4087771026248832380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4087771026248832380'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/wdkapicouchdb-for-upcoming-siteadmin.html' title='WDK.API.CouchDb for upcoming SiteAdmin CMS'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2564429631570205412</id><published>2010-09-10T12:07:00.001+03:00</published><updated>2010-09-10T12:07:18.910+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery Powered Full Page Scrollable Image Gallery</title><content type='html'>&lt;p&gt;&lt;strong&gt;Codrops&lt;/strong&gt; is sharing a stunning &lt;strong&gt;Full Page Image Gallery with scrollable thumbnails and a scrollable full screen preview&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;It has a thumbnails bar at the bottom of the page that scrolls automatically when user moves the mouse. When a thumbnail is clicked, it moves to the center of the page and the full screen image is loaded in the background.&lt;/p&gt;  &lt;p&gt;&lt;img title="jQuery Powered Full Page Scrollable Image Gallery" alt="jQuery Powered Full Page Scrollable Image Gallery" src="http://www.greepit.com/wp-content/uploads/2010/09/full-page-image-gallery.jpg" width="525" height="243" /&gt;&lt;/p&gt;  &lt;p&gt;The demo is best viewed in Webkit browsers like Google Chrome or Apple Safari because this &lt;strong&gt;full page image gallery&lt;/strong&gt; is using &lt;strong&gt;CSS3 Webkit properties to enhance the look&lt;/strong&gt; and jQuery for the functionality.&lt;/p&gt;  &lt;p&gt;The image gallery comes with a handy tutorial that is very easy to understand and follow.&lt;/p&gt;  &lt;p&gt;Website: &lt;a href="http://tympanus.net/codrops/2010/09/08/full-page-image-gallery/"&gt;http://tympanus.net/codrops/2010/09/08/full-page-image-gallery/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2564429631570205412?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2564429631570205412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2564429631570205412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2564429631570205412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2564429631570205412'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/jquery-powered-full-page-scrollable.html' title='jQuery Powered Full Page Scrollable Image Gallery'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7686675069217416326</id><published>2010-09-08T22:01:00.001+03:00</published><updated>2010-09-08T22:01:21.452+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Open Source WYSIWYG HTML Editor Using jQuery UI</title><content type='html'>&lt;p&gt;&lt;a href="http://elrte.org/"&gt;elRTE&lt;/a&gt; is an &lt;strong&gt;open-source WYSIWYG HTML-editor&lt;/strong&gt; written in JavaScript using jQuery UI. It features rich text editing, options for changing its appearance, style and many more. You can use it in any commercial or non-commercial projects. elRTE has been tested in Firefox 3.5+, Internet Explorer 7 &amp;amp; 8, Safari 4, Opera 10 and Chrome.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://elrte.org/"&gt;&lt;img title="elrte" alt="elrte" src="http://maxcdn.webappers.com/img/2010/09/elrte.jpg" width="480" height="299" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Requirements: Firefox 3.5+, IE 7 &amp;amp; 8, Safari 4, Opera 10 and Chrome     &lt;br /&gt;Demo: &lt;a href="http://elrte.org/demo"&gt;http://elrte.org/demo&lt;/a&gt;      &lt;br /&gt;License: BSD License&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7686675069217416326?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7686675069217416326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7686675069217416326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7686675069217416326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7686675069217416326'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/open-source-wysiwyg-html-editor-using.html' title='Open Source WYSIWYG HTML Editor Using jQuery UI'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8744458459424885347</id><published>2010-09-07T11:50:00.001+03:00</published><updated>2010-09-07T11:50:03.389+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>An Infinite, Circular jQuery Carousel: carouFredSel</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://caroufredsel.frebsite.nl/"&gt;carouFredSel&lt;/a&gt;&lt;/strong&gt; is a jQuery plugin that turns any kind of &lt;strong&gt;HTML element into an infinite, circular carousel&lt;/strong&gt;. It supports pagination and can &lt;strong&gt;scroll one or multiple items simultaneously&lt;/strong&gt;, horizontal or vertical, automatically, by pressing buttons or keys on the keyboard.&lt;/p&gt;  &lt;p&gt;&lt;img title="An Infinite, Circular jQuery Carousel" alt="An Infinite, Circular jQuery Carousel" src="http://www.greepit.com/wp-content/uploads/2010/09/infinite-circular-jquery-carousel-caroufredsel.jpg" width="525" height="161" /&gt;&lt;/p&gt;  &lt;p&gt;carouFredSel Feetures&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scrolls automatically and/or by user interaction &lt;/li&gt;    &lt;li&gt;Built in keyboard-navigation and pagination &lt;/li&gt;    &lt;li&gt;Dynamically add and remove items to/from the carousel &lt;/li&gt;    &lt;li&gt;Compatible with most popular (jQuery) lightbox-plugins &lt;/li&gt;    &lt;li&gt;Intelligent custom events and loads of options&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Website: &lt;a href="http://caroufredsel.frebsite.nl/"&gt;http://caroufredsel.frebsite.nl/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8744458459424885347?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8744458459424885347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8744458459424885347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8744458459424885347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8744458459424885347'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/09/infinite-circular-jquery-carousel.html' title='An Infinite, Circular jQuery Carousel: carouFredSel'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6730434105724867835</id><published>2010-08-14T11:09:00.001+03:00</published><updated>2010-08-14T11:09:09.034+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>The jQuery Project is Proud to Announce the jQuery Mobile Project</title><content type='html'>&lt;p&gt;Source: jQuery UI Blog&lt;/p&gt;  &lt;p&gt;Mobile web development is an emerging hot topic in the web development community. As such, the jQuery Team has been hard at work on determining the strategy and direction that the jQuery Project will take. Today, &lt;a href="http://jquerymobile.com/2010/08/announcing-the-jquery-mobile-project/"&gt;we are proud to announce&lt;/a&gt; the jQuery Mobile Project. We&amp;#8217;ve launched a new site at &lt;a href="http://jquerymobile.com"&gt;jquerymobile.com&lt;/a&gt; that publicly outlines our strategy, research and UI designs.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jquerymobile.com"&gt;&lt;img alt="" src="http://blog.jquery.com/wp-content/uploads/2010/08/jquerymobile.png" width="485" height="380" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As always, we want to hear from you.&amp;#160; We&amp;#8217;ve created a new &lt;a href="http://forum.jquery.com/jquery-mobile"&gt;Mobile jQuery&lt;/a&gt; forum to collect feedback from the community.&amp;#160; Please feel free to join in on the discussion and &lt;a href="http://jquerymobile.com/2010/08/announcing-the-jquery-mobile-project/"&gt;read more in the announcement&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6730434105724867835?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6730434105724867835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6730434105724867835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6730434105724867835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6730434105724867835'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/08/jquery-project-is-proud-to-announce.html' title='The jQuery Project is Proud to Announce the jQuery Mobile Project'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8807690902359409381</id><published>2010-07-31T01:03:00.001+03:00</published><updated>2010-07-31T01:03:24.987+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><category scheme='http://www.blogger.com/atom/ns#' term='db2'/><title type='text'>DB2 Express-C database now 44% lighter</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://db2expressc.blogspot.com/2010/07/db2-express-c-database-now-44-lighter.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+DB2ExpcTeamBlog+(DB2+Express-C+Team+Blog)" target="_blank"&gt;DB2 Express-C Team Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The DB2 Express-C database server is downloaded worldwide, but broadband internet is not yet universal. Because of this, we are releasing a light version of DB2 Express-C 9.7.2 for Windows. It's an amazing 44% smaller than the full download.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Unlike the lighter download, the DB2 Express-C (full) includes the Control Center, Full Text Search, Configuration Assistant, and the First Steps wizard. It also has support for non-English languages in its user interface. However, if you don't need these features, you can grab the DB2 Express-C (light) for a quicker download and a simpler installation.&lt;/p&gt;  &lt;p&gt;For example, if you are setting up a DB2 database on a Windows server that you plan to administer remotely with Data Studio, then the light version of DB2 Express-C is a great choice.   &lt;br /&gt;Download it now:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&amp;amp;S_PKG=dlwin32&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;&lt;b&gt;DB2 Express-C for Windows&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&amp;amp;S_PKG=dlwin64&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;&lt;b&gt;DB2 Express-C for Windows x64&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&amp;amp;S_PKG=dllinux32&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;DB2 Express-C for Linux&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&amp;amp;S_PKG=dllinux64&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;DB2 Express-C for Linux x86-64&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&amp;amp;S_PKG=dllinuxpower&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;DB2 Express-C for Linux on POWER&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&amp;amp;S_PKG=dlsun&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;DB2 Express-C for Solaris x86-64&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;br /&gt;Administrative tools:  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-idssa&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;Data Studio Standalone&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ibm.com/services/forms/preLogin.do?source=swg-idside&amp;amp;S_TACT=teamblog&amp;amp;S_CMP=ECDDWW01"&gt;Data Studio IDE&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;br /&gt;Free books:&amp;#160; &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/wikis/display/DB2/FREE+Book-+Getting+Started+with+DB2+Express-C"&gt;Getting Started with DB2 Express-C &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="https://www.ibm.com/developerworks/wikis/display/db2oncampus/FREE+ebook+-+Getting+started+with+IBM+Data+Studio+for+DB2"&gt;Getting Started with Data Studio&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8807690902359409381?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8807690902359409381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8807690902359409381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8807690902359409381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8807690902359409381'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/07/db2-express-c-database-now-44-lighter.html' title='DB2 Express-C database now 44% lighter'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5136059787781026362</id><published>2010-07-29T22:05:00.001+03:00</published><updated>2010-07-29T22:05:56.343+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='saas'/><title type='text'>Open Source Status Dashboard for APIs &amp; SaaS Services</title><content type='html'>&lt;p&gt;&lt;a href="http://www.stashboard.org/"&gt;Stashboard&lt;/a&gt; is a &lt;strong&gt;status dashboard for APIs and software services&lt;/strong&gt;. It’s similar to the &lt;strong&gt;Amazon AWS Status Page&lt;/strong&gt; or the &lt;strong&gt;Google Apps Status Page&lt;/strong&gt;. Stashboard was originally written by Twilio to provide status information on its Voice and SMS APIs. Stashboard is designed to provide a generic status dashboard for any hosted service or API. The code can be downloaded, customized, and run on any Google App Engine account.&lt;/p&gt;  &lt;p&gt;You are able to Track multiple different API or SaaS services, Set custom status messages and icons such as Up/Down, Show historical status for each service, CNAME to http://status.yourapp.com. Stashboard is written in Python and hosted on Google App Engine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.stashboard.org/"&gt;&lt;img title="statsboard" alt="statsboard" src="http://maxcdn.webappers.com/img/2010/07/statsboard.jpg" width="480" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Download: &lt;a href="http://www.stashboard.org/" target="_blank"&gt;Stashboard Website&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5136059787781026362?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5136059787781026362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5136059787781026362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5136059787781026362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5136059787781026362'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/07/open-source-status-dashboard-for-apis.html' title='Open Source Status Dashboard for APIs &amp;amp; SaaS Services'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1077863416943085896</id><published>2010-07-02T22:23:00.001+03:00</published><updated>2010-07-02T22:23:13.419+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='vzaar'/><title type='text'>Using SWFUpload on Vzaar API</title><content type='html'>&lt;p&gt;One of the ways to upload files on Vzaar is to use SWFUpload library that you can find &lt;a href="http://www.swfupload.org/"&gt;here&lt;/a&gt;. It allows you to upload files from the web page without actually leaving this page. In this article we will explain how to perform file uploading with use of library and PHP.&lt;/p&gt;  &lt;p&gt;SWFUpload is a small JavaScript/Flash library to get the best of both worlds. It features the great upload capabilities of Flash and the accessibility and ease of HTML/CSS.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SWFUpload Features&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Upload multiple files at once by ctrl/shift-selecting in dialog &lt;/li&gt;    &lt;li&gt;Javascript callbacks on all events &lt;/li&gt;    &lt;li&gt;Get file information before upload starts &lt;/li&gt;    &lt;li&gt;Style upload elements with XHTML and css &lt;/li&gt;    &lt;li&gt;Display information while files are uploading using HTML &lt;/li&gt;    &lt;li&gt;No page reloads necessary &lt;/li&gt;    &lt;li&gt;Works on all platforms/browsers that has Flash support. &lt;/li&gt;    &lt;li&gt;Degrades gracefully to normal HTML upload form if Flash or javascript is unavailable &lt;/li&gt;    &lt;li&gt;Control filesize before upload starts &lt;/li&gt;    &lt;li&gt;Only display chosen filetypes in dialog &lt;/li&gt;    &lt;li&gt;Queue uploads, remove/add files before starting upload &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How To&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To use SWFUpload you need to have couple of things done. First of all, please make sure you have latest API library files downloaded. You can grab them from here:&lt;a href="http://code.google.com/p/vzaar/"&gt;http://code.google.com/p/vzaar/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For this example you will need &lt;a href="http://vzaar.googlecode.com/svn/trunk/api/php/trunk/tests/SWFUpload/swfupload.swf"&gt;SWFupload.swf&lt;/a&gt; and actual &lt;a href="http://vzaar.googlecode.com/svn/trunk/api/php/trunk/tests/SWFUpload/index.php"&gt;php script&lt;/a&gt; that we are going to review below.&lt;/p&gt;  &lt;p&gt;The whole of actions is like this&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Set Vzaar API credentials &lt;/li&gt;    &lt;li&gt;Get Upload Signature &lt;/li&gt;    &lt;li&gt;Define SWFUpload settings object &lt;/li&gt;    &lt;li&gt;Initialize SWFUpload with settings defined &lt;/li&gt;    &lt;li&gt;Upload &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Let's review step by step all these actions:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Setting Vzaar API credentials&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First of all, please make sure you have your API token generated, if you haven't done it yet, you can do it here: &lt;a href="http://vzaar.com/settings/api"&gt;http://vzaar.com/settings/api&lt;/a&gt; - you need to be logged in to see that page. To set API credentials in your PHP code you need to have token and secret (which is your Vzaar username). So authentication bits will look like this:&lt;/p&gt;  &lt;h6&gt;PHP code:&lt;/h6&gt;  &lt;p&gt;&lt;em&gt;require_once 'Vzaar.php'; Vzaar::$useSandbox = false;      &lt;br /&gt;Vzaar::$token = &amp;quot;API_TOKEN_GOES_HERE&amp;quot;;       &lt;br /&gt;Vzaar::$secret = &amp;quot;YOUR_VZAAR_USERNAME&amp;quot;;       &lt;br /&gt;Vzaar::$enableFlashSupport = true;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Get Upload Signature&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To get a signature we need to perform a call getUploadSignature, but because we need it within JavaScript, let's mix it all together with converting signature object into JavaScript JSON representation:&lt;/p&gt;  &lt;h6&gt;JavaScript code:&lt;/h6&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; var vzaar_signature = &amp;lt;?php echo(json_encode(Vzaar::getUploadSignature()));?&amp;gt;      &lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Define SWFUpload settings object&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The signature object we obtained with inline Vzaar::getUploadSignature() PHP call we can use now to set our SWFUpload settings object:    &lt;br /&gt;&lt;em&gt;var settings = {      &lt;br /&gt;flash_url : &amp;quot;swfupload.swf&amp;quot;,       &lt;br /&gt;upload_url: '&lt;a href="http://'+vzaar_signature[&amp;quot;vzaar-api&amp;quot;].bucket+'.s3.amazonaws.com/"&gt;http://'+vzaar_signature[&amp;quot;vzaar-api&amp;quot;].bucket+'.s3.amazonaws.com/&lt;/a&gt;',       &lt;br /&gt;post_params: {       &lt;br /&gt;&amp;quot;content-type&amp;quot; : &amp;quot;binary/octet-stream&amp;quot;,       &lt;br /&gt;&amp;quot;acl&amp;quot; : vzaar_signature[&amp;quot;vzaar-api&amp;quot;].acl,       &lt;br /&gt;&amp;quot;policy&amp;quot; : vzaar_signature[&amp;quot;vzaar-api&amp;quot;].policy,       &lt;br /&gt;&amp;quot;AWSAccessKeyId&amp;quot; : vzaar_signature[&amp;quot;vzaar-api&amp;quot;].accesskeyid,       &lt;br /&gt;&amp;quot;signature&amp;quot; : vzaar_signature[&amp;quot;vzaar-api&amp;quot;].signature,       &lt;br /&gt;&amp;quot;success_action_status&amp;quot; : &amp;quot;201&amp;quot;,       &lt;br /&gt;&amp;quot;key&amp;quot; : vzaar_signature[&amp;quot;vzaar-api&amp;quot;].key       &lt;br /&gt;}&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Complete code you can see &lt;a href="http://vzaar.googlecode.com/svn/trunk/api/php/trunk/tests/SWFUpload/index.php"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Initialize SWFUpload with settings defined&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now all we need is to use our settings object when we initialize SWFUpload:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;var swfu = new SWFUpload(settings);&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Upload&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So, when whole thin is set, all we need to do is wait for a user to click Browse button on SWFUpload and start uploading.&lt;/p&gt;  &lt;p&gt;Please keep in mind that this example is only for uploading videos to a storage. To make your video visible within your dashboard you need to implement also video processing call.&lt;/p&gt;  &lt;p&gt;When video get's uploaded as result you will have XML 'message' returned to you back, &amp;lt;key/&amp;gt; node of it will be a point of your interest because it will contain long string which looks somewhat like this:    &lt;br /&gt;&lt;em&gt;vzaar/vzb/3cb/source/vzb3cb82a5c1c3410ea6c615edbf421d48/${filename}&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;To process video with Vzaar::processVideo API call you would need to have 4 parameters, like GUID (obtained after uploading file to a storage), title, description and ID for the video profile (aka quality). So to get a GUID from that long string we need a bit of JavaScript:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;var arrKey = this.key.split('/'); var guid = arrKey[arrKey.length-2];&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This will return you &lt;em&gt;vzb3cb82a5c1c3410ea6c615edbf421d48&lt;/em&gt; which is your GUID. Now you can call processVideo method.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1077863416943085896?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1077863416943085896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1077863416943085896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1077863416943085896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1077863416943085896'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/07/using-swfupload-on-vzaar-api.html' title='Using SWFUpload on Vzaar API'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2919330205459863750</id><published>2010-06-29T17:15:00.001+03:00</published><updated>2010-06-29T17:15:09.499+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>Introducing IIS Express</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx" target="_blank"&gt;ScottGu’s Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Developers today build and test ASP.NET sites and applications using one of two web-servers:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The ASP.NET Development Server that comes built-into Visual Studio &lt;/li&gt;    &lt;li&gt;The IIS Web Server that comes built-into Windows&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Both of the above options have their pros and cons, and many ASP.NET developers have told us: “I wish I could have the ease of use of the ASP.NET Development Server, but still have all the power and features of IIS”.&amp;#160; Today I’m happy to announce a new, free option that we are enabling – IIS Express - that combines the best characteristics of both, and which will make it easier to build and run ASP.NET sites and applications.&lt;/p&gt;  &lt;p&gt;IIS Express will work with VS 2010 and Visual Web Developer 2010 Express, will run on Windows XP and higher systems, does not require an administrator account, and does not require any code changes to use.&amp;#160; You will be able to take advantage of it with all types of ASP.NET applications, and it enables you to develop using a full IIS 7.x feature-set.&lt;/p&gt;  &lt;p&gt;Read more at &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx" target="_blank"&gt;ScottGu’s Blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2919330205459863750?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2919330205459863750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2919330205459863750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2919330205459863750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2919330205459863750'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/06/introducing-iis-express.html' title='Introducing IIS Express'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3924491137016613281</id><published>2010-05-27T18:30:00.001+03:00</published><updated>2010-05-27T18:30:56.639+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='vzaar'/><title type='text'>Start Creating Playlists with vzaar</title><content type='html'>&lt;p&gt;The playlist feature allows you to filter selected videos in order to create a personal playlist that can be embedded into any website or eBay listing. By using our vzaar player settings, you can also customize your playlist to suit your own style, just like you can with individual videos.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://vzaar.com/images/features/video_playlists.png" /&gt;&lt;/p&gt;  &lt;p&gt;More at &lt;a href="http://vzaar.com" target="_blank"&gt;vzaar.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3924491137016613281?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3924491137016613281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3924491137016613281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3924491137016613281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3924491137016613281'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/05/start-creating-playlists-with-vzaar.html' title='Start Creating Playlists with vzaar'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2663008397719780030</id><published>2010-05-20T18:09:00.001+03:00</published><updated>2010-05-20T18:09:00.437+03:00</updated><title type='text'>Barnes &amp; Noble to Offer Digital Self-Publishing</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.publishersweekly.com/pw/by-topic/industry-news/bookselling/article/43228-barnes--noble-to-offer-digital-self-publishing.html"&gt;Publishers Weekly&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Barnes &amp;amp; Noble is entering the self-publishing business with the summer launch of PubIt! by Barnes &amp;amp; Noble that will allow independent publishers and self-publishing writers to distribute their works digitally through Barnes &amp;amp; Noble.com and the Barnes &amp;amp; Noble eBookstore. Publication and distribution will be limited to digital works with no sales through the B&amp;amp;N stores. The company said it will release details of the royalty model and compensation process at a later date.&lt;/p&gt;  &lt;p&gt;To distinguish itself from other companies offering digital self-publishing services, B&amp;amp;N is highlighting access through the Nook and other devices compatible with the ePub format. “As a company that has achieved much of its success by building mutually beneficial relationships with publishers and authors, Barnes &amp;amp; Noble’s new PubIt! service represents an exciting evolution and significant opportunity in the digital content arena,” said Theresa Horner, director, Digital Products, Barnes &amp;amp; Noble. “Barnes &amp;amp; Noble is uniquely positioned to support writers and publishers and bring their exciting digital works to the broadest audience of readers anywhere.”&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2663008397719780030?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2663008397719780030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2663008397719780030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2663008397719780030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2663008397719780030'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/05/barnes-noble-to-offer-digital-self.html' title='Barnes &amp;amp; Noble to Offer Digital Self-Publishing'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-229385346821696110</id><published>2010-05-19T20:37:00.001+03:00</published><updated>2010-05-19T20:37:46.662+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>Google To Launch Amazon S3 Competitor ‘Google Storage’ At I/O</title><content type='html'>&lt;p&gt;Read more: &lt;a href="http://techcrunch.com/2010/05/18/google-to-launch-amazon-s3-competitor-google-storage-at-io/#ixzz0oOjpKANf"&gt;Tech Crunch&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Amazon’s cloud storage services are going to be getting another major competitor this week: Google. We hear that this week during its I/O &lt;a href="http://code.google.com/events/io/2010/"&gt;conference&lt;img src="http://i.ixnp.com/images/v6.30/t.gif" /&gt;&lt;/a&gt;, Google will be announcing a new service that is a direct competitor with Amazon’s S3 cloud storage. Google’s service will be called Google Storage for Developers, or ‘GS’. We believe it will be available in a private beta initially. We also hear that the service will be positioned to make it very easy for existing S3 customers to make the switch to Google Storage.&lt;/p&gt;  &lt;p&gt;Features will include a REST API, the ability to use Google accounts to offer authenticated downloads, and data redundancy. Developers will be able to use a command line tool to manage their data, and there will be a web interface as well.&lt;/p&gt;  &lt;p&gt;We’d previously &lt;a href="http://techcrunch.com/2010/04/12/google-plans-to-expand-cloud-computing-services-think-aws-on-steroids/"&gt;reported&lt;/a&gt; that Google was looking to expand its cloud service offerings, but that it would primarily be focused on ‘value-added’ services that took advantage of technology Google has been using internally, like its translation tools and video processing. We’re hearing that such value-added services will &lt;em&gt;not&lt;/em&gt; be part of this launch, but it is highly likely that they will be coming in the future. And that’s the key here — competitors will have a hard time matching the array of technologies and infrastructure Google has spent years developing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-229385346821696110?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/229385346821696110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=229385346821696110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/229385346821696110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/229385346821696110'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/05/google-to-launch-amazon-s3-competitor.html' title='Google To Launch Amazon S3 Competitor ‘Google Storage’ At I/O'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4686735451545147309</id><published>2010-05-14T23:49:00.001+03:00</published><updated>2010-05-14T23:49:30.386+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>The truth about Flash</title><content type='html'>&lt;p&gt;Adobe published a few numbers about Flash Player, numbers that we may already know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;98% of Internet connected PCs have Flash Player &lt;/li&gt;    &lt;li&gt;85% of the top 100 websites use Flash Player (Alexa) &lt;/li&gt;    &lt;li&gt;75% of web video is viewed using Flash Player (Comscore) &lt;/li&gt;    &lt;li&gt;98% of enterprises rely on Flash Player (Forrester) &lt;/li&gt;    &lt;li&gt;70% of web games are delivered using Flash Player (Evans Data Corp.) &lt;/li&gt;    &lt;li&gt;3.5 million developers use the Flash Platform &lt;/li&gt;    &lt;li&gt;19 of the top 20 device manufacturers worldwide have committed to shipping Flash technology on their devices&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Read more on Adobe’s article: &lt;a href="http://www.adobe.com/choice/flash.html"&gt;http://www.adobe.com/choice/flash.html&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4686735451545147309?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4686735451545147309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4686735451545147309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4686735451545147309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4686735451545147309'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/05/truth-about-flash.html' title='The truth about Flash'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3519688670118117395</id><published>2010-05-11T20:58:00.001+03:00</published><updated>2010-05-11T20:58:04.998+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Android chugs ahead of Apple</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blog.connectedplanetonline.com/unfiltered/2010/05/10/android-chugs-ahead-of-apple/"&gt;Connected Planet&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Android may have started out slow but it’s made up a lot of ground in the last year. According to new data from the NPD Group, Google’s Android operating surpassed Apple’s iPhone in U.S. unit sales in smartphones in Q1.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Apple’s OS was in 21% of the smartphones sold (namely iPhones), while Android accounted for 28%. Research In Motion continues to hold the No. 1 slot with 36% market share.   &lt;br /&gt;Perhaps what’s most interesting about NPD’s Q1 data is that smartphones appear to be driving up handset pricing, the opposite of what we’d expect to see in an industry where devices constantly get cheaper — perhaps Apple’s anti-commoditization powers are now being used on the mobile market. &lt;a href="http://www.npd.com/press/releases/press_100510.html"&gt;According to NPD’s press release:&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The continued popularity of messaging phones and smartphones resulted in slightly higher prices for all mobile phones, despite an overall drop in the number of mobile phones purchased in the first quarter. The average selling price for all mobile phones in Q1 reached $88, which is a 5 percent increase from Q1 2009. Smartphone unit prices, by comparison, averaged $151 in Q1 2010, which is a 3 percent decrease over the previous year.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="fitchardicon" border="0" alt="fitchardicon" align="left" src="http://blog.connectedplanetonline.com/unfiltered/wp-content/uploads/2010/05/fitchardicon4.jpg" width="30" height="30" /&gt;&lt;strong&gt;Connected Planet’s take,     &lt;br /&gt;Kevin Fitchard&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Apple may make the single most popular phone in the U.S., but it’s now starting to witness the power of the platform. By offering up Android to any device-maker and any operator, Google is ensuring its OS will be everywhere, even if the individual devices may not be able to compete head to head with the iPhone. Now we’ll have to see how long it takes Android to pass RIM.&lt;/p&gt;  &lt;p&gt;RIM’s BlackBerry portfolio is definitely more diverse than Apple’s, and it works with any operator — Apple essentially sells one device through a single carrier to all comers, refreshing the software and hardware every summer — but it’s still a single manufacturer with it’s own proprietary operating system. The beauty of Google’s strategy — and to a lesser extend Microsoft’s and Symbian’s — is the more successful it becomes the more successful it becomes. The more its OS penetrates, the more developers hop on board, meaning more and better apps, which in turn means more interest from handset operators and carriers in supporting Android devices.&lt;/p&gt;  &lt;p&gt;The only drawback is that Android’s quick penetration into different portfolios of manufacturers and vendors and its attempts to keep the platform fresh and up-to-date have led to a lot of &lt;a href="http://connectedplanetonline.com/mobile-apps/news/android-os-fragmentation-0407/index.html"&gt;fragmentation among the different versions of the Android OS&lt;/a&gt;. One thing RIM and Apple can do easily is control the releases of their software so they don’t have to worry about a hodge-podge of OS versions being sold simultaneously across the world. It’s not a problem for Android so far, but it well could be.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3519688670118117395?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3519688670118117395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3519688670118117395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3519688670118117395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3519688670118117395'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/05/android-chugs-ahead-of-apple.html' title='Android chugs ahead of Apple'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7666028292379614049</id><published>2010-05-04T19:36:00.001+03:00</published><updated>2010-05-04T19:36:03.026+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Google TV — and TV apps play — ready for debut</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blog.connectedplanetonline.com/unfiltered/2010/04/30/google-tv-and-tv-apps-play-ready-for-debut/"&gt;Connected Planet&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Looks like Google TV will finally get its premiere. &lt;a href="http://online.wsj.com/article/SB10001424052748704302304575214433053915188.html?mod=WSJ_latestheadlines"&gt;The Wall Street Journal is reporting&lt;/a&gt; the Android-based TV UI will debut at the search giant’s I/O Developer conference in May. Google has apparently lined up hardware partners, including Sony, Intel and Logitech (with Samsung mulling a move too). Alongside Google’s Fiber Communities broadband project, it is beginning to put together the pieces to make a move into the video to the home market in much the way it’s tackled mobile.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://online.wsj.com/article/SB10001424052748704302304575214433053915188.html?mod=WSJ_latestheadlines"&gt;According to The Wall Street Journal:&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The decision to address developers suggests that the Internet giant may be hoping to kick-start a race to build applications for its TV platform, much in the same way that Google, Apple Inc. and others have courted developers for smartphones. The app-store approach has already begun to gain traction among some players in the TV market, too, aided by the advent of TVs, Blu-ray players and other hardware with Internet connections.&lt;/p&gt;    &lt;p&gt;But before developers invest in TV apps from Google, they’ll want to see significant adoption of the software among hardware makers. Intel, the dominant player in chips for PCs, has been trying for years to play a bigger role in set-top boxes, with its efforts focusing lately around a chip called Atom that is used in low-end laptop PCs called netbooks.&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7666028292379614049?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7666028292379614049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7666028292379614049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7666028292379614049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7666028292379614049'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/05/google-tv-and-tv-apps-play-ready-for.html' title='Google TV — and TV apps play — ready for debut'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4179910747782651679</id><published>2010-04-28T23:21:00.001+03:00</published><updated>2010-04-28T23:21:59.324+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='palm'/><title type='text'>HP to Acquire Palm for $1.2 Billion</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://mashable.com/2010/04/28/hp-acquires-palm/"&gt;Mashable&lt;/a&gt;&lt;/p&gt; &lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://mashable.com/wp-content/uploads/2009/09/palm_pre.jpg" /&gt;  &lt;p&gt;Ending weeks of speculation about its future, Palm has been acquired by Hewlett-Packard for $1.2 billion.&lt;/p&gt;  &lt;p&gt;As such, it appears that Palm’s mobile operating system — webOS — has lived to fight another day, with Palm CEO Jon Rubinstein saying in a &lt;a href="http://finance.yahoo.com/news/HP-to-Acquire-Palm-for-12-bw-3412218042.html?x=0&amp;amp;.v=1"&gt;statement&lt;/a&gt; that “HP’s longstanding culture of innovation, scale and global operating resources make it the perfect partner to rapidly accelerate the growth of webOS.”&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4179910747782651679?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4179910747782651679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4179910747782651679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4179910747782651679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4179910747782651679'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/hp-to-acquire-palm-for-12-billion.html' title='HP to Acquire Palm for $1.2 Billion'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6683357317190521172</id><published>2010-04-23T13:04:00.001+03:00</published><updated>2010-04-23T13:04:32.329+03:00</updated><title type='text'>Keeping eye on flash</title><content type='html'>&lt;p&gt;Happen to be at ‘Adobe FlashCamp 2010 Bucharest’ last Thursday, got many interesting indirect hints about what to expect near time soon and how it would affect RIA world and as result what would be possible behavior for end user. Not a secret for anyone that for today we have 3 main players on the market that fighting for &lt;em&gt;mobile user&lt;/em&gt;, Google, Microsoft and Adobe, oh yea, Apple is also somewhere there, but from other side of barricades, Apple is the one who simply sells phones most of it’s free time, where rest of the time they just annoy developers with their creepy App store rules.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Mobility&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Well nothing changed much since early 90’s, people trying to live busy lives anywhere they go, even during their sleep, only thing changed from back then is the size of the device and computing power. Today we are dealing basically just with two forms of these – phones and *pads (webpad, wepad, ipad, whateverpad, you name it). If initially we had only Microsoft, Apple and RIM (Blackberry) as main players on mobile devices market, now we have Nokia, Palm and Google. Well with Google we all know – they going to make it till the end with minimum stress, they started feeding people with Chrome browser first, then Android OS, own mobile phone and now with &lt;a href="http://gizmodo.com/5461948/is-this-how-a-google-tablet-will-look-in-action"&gt;own pad/tablet device&lt;/a&gt;. Good move. Nokia, – these guys definitely up to something but for some reason i don’t see much results from them even by knowing that they have an army of programmers, good ones, but most of them busy making apps for Nokia phones. And now Palm. Palm is really strange company, sometimes i think they lack of … guess lack of many things. Recently Bloomberg reported that Palm is working with Goldman Sachs and Frank Quattrone's Qatalyst Partners to find a buyer. What&amp;#160; a surprise? Not, actually. Palm has own strange story of different acquisitions followed with failure to run things properly, so even if they actually managed to bring &lt;a href="http://en.wikipedia.org/wiki/WebOS"&gt;webOS&lt;/a&gt; they failed after all to push it as a product that sells… So, yes, they will be sold after all.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Flash Player on Mobile device&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Mike Chambers, Principal Product Manager for developer relations for the Flash Platform at Adobe, has confirmed that development of Flash for iPhone is dead. (Read more: &lt;a href="http://www.geek.com/articles/mobile/adobe-throws-in-the-towel-on-flash-for-iphone-20100421/#ixzz0loGhWrK7"&gt;Adobe throws in the towel on Flash for iPhone&lt;/a&gt;). With all Adobe’s and it’s Flash/Flex developers community efforts, as we all see now there is no way Apple iPhone would have all these rich applications that already and will be available for all other mobile devices. Don’t want to say iPhone will die, but with Apple’s current policy it goes to that direction, at least i see it this way.&lt;/p&gt;  &lt;p&gt;Adobe Platform Evangelist Lee Brimelow indicated Monday that Adobe's efforts to bring Flash capabilities to smartphones are a result of substantial support from Apple's major rivals. &amp;quot;We are able to get tremendous performance on Android devices because Google and the various handset manufacturers have chosen to work closely with us to provide the best possible experience to the end user,&amp;quot; Brimelow observed. &lt;/p&gt;  &lt;p&gt;Though Brimelow declined to give a precise release date for Flash Player 10.1, recent comments from Adobe CEO Shantanu Narayen indicate that it will come in time to help developers release compatible products in the second half of 2010. For example, he told Fox Business News last week that Adobe has a number of excited partners who are working aggressively with the company to bring Flash to their mobile devices. &amp;quot;So companies like Google and RIM and Palm are going to be releasing versions of Flash on smartphones and tablets in the second half of the year,&amp;quot; Narayen said. (Ref.: &lt;a href="http://www.toptechnews.com/story.xhtml?story_id=11000CA74EX0"&gt;Top Tech News&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Adobe has pretty amazing plans for it’s Flash Player, especially for mobile version of it, it’s not just about actual platform coverage, but also development tools will be having new features, like hardware accelerated processing, multi-touch and so on, you can already have an idea about new ActionScript language additions if you looking at recently published beta docs. One of the biggest announcements Adobe did last week here is that Flex for Mobile devices would be available somewhere this year, as understood we should expect it somewhere this summer. Adobe obviously had to make this move, especially now when its rival Microsoft came up with new Silverlight version and development tools for Windows Mobile 7. Don’t see here Microsoft as big threat to Adobe actually, because Flash Player still works on ‘old hardware’, where Silverlight already can’t do anything. I’m typing this article on my TC1000 tablet PC, i have no problems running Flash on it, but Silverlight already not working on it because Microsoft consider my hardware as not supported one. So after all Adobe has and will have wider coverage for mobile devices as well.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Changes in Video processing&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;While we all expecting proper flash video support on mobile devices that suppose to appear this summer, Google meanwhile to open source $124.6m video codec (Source: &lt;a href="http://www.theregister.co.uk/2010/04/13/reports_says_google_will_open_source_on2_codec_in_may/"&gt;The Register&lt;/a&gt;). For a while now, Internet video was simple. You used &lt;a href="http://www.adobe.com/products/flashplayer"&gt;Adobe Flash&lt;/a&gt;, with its 95% plus market share, and that was that. Then things changed. The next Web standard, &lt;a href="http://www.computerworld.com/s/article/9174323/Opinion_HTML_5_Less_than_it_s_cracked_up_to_be"&gt;HTML 5, came along&lt;/a&gt;, but it didn't spell out that Flash or anything else would be the video codec standard. Then, &lt;a href="http://www.computerworld.com/s/article/9175157/Apple_blocks_Adobe_s_iPhone_end_around_plans"&gt;Apple refused to have anything to do with Flash&lt;/a&gt; on its 'i' family of devices. Now it seems Google may be open-sourcing the VP8 video codec. Internet video is about to get a lot more complicated (Ref: &lt;a href="http://blogs.computerworld.com/15921/google_open_sourcing_vp8_video_may_change_internet_video_forever"&gt;ComputerWorld&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Whatever its intentions with the On2 codec, when it comes the issue of free and open video playback, Google has spent the past few months playing both sides of the fence. Along with Opera and Mozilla, Google attempted to include the free and open Ogg Theora codec as a requirement of the HTML5 video tag. But its Chrome browser uses both Ogg Theora and the patent-tied H.264 codec, and Google has received criticism from the likes of Mozilla for continuing to use Adobe Flash and H.264 on YouTube. &lt;/p&gt;  &lt;p&gt;Google could at least balance out its Flash play by open sourcing VP8, a higher quality codec than Ogg. OggTheora is actually based on an earlier incarnation of the On2 codec, VP3. In 2001, On2 opened VP3 under an irrevocable free license.&lt;/p&gt;  &lt;p&gt;But that still leaves Apple and Microsoft. Apple uses H.264 with its Safari browser, arguing that Ogg is burdened by scant hardware support and an &amp;quot;uncertain patent landscape,&amp;quot; and one wonders if the Jobsian cult would apply the same arguments to an open source VP8. Meanwhile, Microsoft just announced that the upcoming Internet Explorer 9 will lean on H.264 as well.&lt;/p&gt;  &lt;p&gt;According to company open source guru Chris DiBona, Google has continued to use Flash on YouTube because Ogg can't match the performance of H.264. But presumably, an open VP8 would solve this alleged performance issue. When On2 introduced VP8 in 2008, it promised &amp;quot;50 per cent bandwidth savings compared to H.264.&amp;quot;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6683357317190521172?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6683357317190521172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6683357317190521172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6683357317190521172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6683357317190521172'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/keeping-eye-on-flash.html' title='Keeping eye on flash'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6187796809328969424</id><published>2010-04-21T23:33:00.001+03:00</published><updated>2010-04-21T23:33:30.606+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><title type='text'>Adobe AIR on the Android Platform</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blogs.adobe.com/conversations/2010/04/adobe_air_on_the_android_platf.html"&gt;Adobe Featured Blogs&lt;/a&gt;&lt;/p&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://www.docster.info/wp-content/uploads/2009/11/adobe-air.png" /&gt;  &lt;p&gt;Partnerships have been at the very heart of Android, the first truly open and comprehensive mobile platform, since we first introduced it with the Open Handset Alliance. Through close relationships with carriers, device manufacturers, developers, and others, Google is working to enable an open ecosystem for the mobile world by creating a standard, open mobile software platform. Today we're excited that, working with Adobe, we will be able to bring both AIR and Flash to Android.    &lt;br /&gt;Google believes that developers should have their choice of tools and technologies to create applications. By supporting Adobe AIR on Android we hope that millions of creative designers and developers will be able to express themselves more freely when they create applications for Android devices. More broadly, AIR will foster rapid and continuous innovation across the mobile ecosystem.&lt;/p&gt;  &lt;p&gt;Google is happy to be partnering with Adobe to bring the full web, great applications, and developer choice to the Android platform. Our engineering teams have been working closely to bring both AIR and Flash Player to Google's mobile operating system and devices. The Android platform is enjoying great adoption, and we expect our work with Adobe will help that growth continue.&lt;/p&gt;  &lt;p&gt;We also look forward to all the innovative content and applications created for Android and Flash. Join us at Google I/O in May to learn more about our work together with Adobe to open up the world of Flash on mobile devices.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6187796809328969424?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6187796809328969424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6187796809328969424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6187796809328969424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6187796809328969424'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/adobe-air-on-android-platform.html' title='Adobe AIR on the Android Platform'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2628150311840160317</id><published>2010-04-21T20:24:00.001+03:00</published><updated>2010-04-21T20:24:18.201+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Introducing ZaaIL – 40+ Image format support for Flash</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.zaalabs.com/2010/04/introducing-zaail-40-image-format-support-for-flash/"&gt;ZaaLabs&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Recently, I’ve been doing a lot of work with images and bitmaps… and I grew very frustrated with the lack of image support built into the player.&amp;#160; After a having a conversation with my friend &lt;a href="http://www.coderhump.com"&gt;Ben Garney&lt;/a&gt; of &lt;a href="http://www.pblabs.com"&gt;PushButton Labs&lt;/a&gt; he pointed me to an open source image library in C called &lt;a href="http://openil.sourceforge.net/"&gt;DevIL&lt;/a&gt; (originally OpenIL).&lt;/p&gt;  &lt;p&gt;Today I’m extremely excited to announce that by using Adobe’s &lt;a href="http://labs.adobe.com/technologies/alchemy/"&gt;Alchemy toolset&lt;/a&gt; we have a working port of DevIL on the Adobe Flash Platform!&amp;#160; This means that we now have support for 40+ image formats in the Flash Player.&amp;#160; And yes… it works in both Adobe AIR as well as Flash Player.&lt;/p&gt;  &lt;p&gt;The port was done by &lt;a href="http://twitter.com/boushley"&gt;Aaron Boushley&lt;/a&gt; and &lt;a href="http://twitter.com/jnbeck"&gt;Nate Beck&lt;/a&gt; of ZaaLabs.&lt;/p&gt;  &lt;p&gt;Best news of all… we are releasing ZaaIL under the &lt;a href="http://www.opensource.org/licenses/mit-license.php"&gt;MIT License&lt;/a&gt;!&lt;/p&gt;  &lt;h5&gt;Supported Formats&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Blizzard game textures – .blp &lt;/li&gt;    &lt;li&gt;Windows Bitmap – .bmp &lt;/li&gt;    &lt;li&gt;Multi-PCX – .dcx &lt;/li&gt;    &lt;li&gt;DirectDraw Surface – .dds &lt;/li&gt;    &lt;li&gt;Dicom – .dicom, .dcm &lt;/li&gt;    &lt;li&gt;Flexible Image Transport System – .fits, .fit &lt;/li&gt;    &lt;li&gt;Graphics Interchange Format – .gif &lt;/li&gt;    &lt;li&gt;Radiance High Dynamic – .hdr &lt;/li&gt;    &lt;li&gt;Macintosh icon – .icns &lt;/li&gt;    &lt;li&gt;Windows icon/cursor – .ico, .cur &lt;/li&gt;    &lt;li&gt;Interchange File Format – .iff &lt;/li&gt;    &lt;li&gt;Interlaced Bitmap – .lbm, .ilbm &lt;/li&gt;    &lt;li&gt;Infinity Ward Image (doesn’t work with MW2 iwi files) – .iwi &lt;/li&gt;    &lt;li&gt;Jpeg – .jpg, .jpe, .jpeg &lt;/li&gt;    &lt;li&gt;Jpeg 2000 – .jp2 &lt;/li&gt;    &lt;li&gt;Homeworld texture – .lif &lt;/li&gt;    &lt;li&gt;Half-Life Model – .mdl &lt;/li&gt;    &lt;li&gt;MPEG-1 Audio Layer 3 (Amazon MP3s work, Apple’s do not) – .mp3 &lt;/li&gt;    &lt;li&gt;Kodak PhotoCD – .pcd &lt;/li&gt;    &lt;li&gt;ZSoft PCX – .pcx &lt;/li&gt;    &lt;li&gt;Softimage PIC – .pic &lt;/li&gt;    &lt;li&gt;Alias | Wavefront – .pix &lt;/li&gt;    &lt;li&gt;Portable Network Graphics – .png &lt;/li&gt;    &lt;li&gt;Portable Anymap – .pbm, .pgm, .pnm, .pnm &lt;/li&gt;    &lt;li&gt;Adobe PhotoShop – .psd &lt;/li&gt;    &lt;li&gt;PaintShop Pro – .psp &lt;/li&gt;    &lt;li&gt;Pixar – .pxr &lt;/li&gt;    &lt;li&gt;Raw data – .raw &lt;/li&gt;    &lt;li&gt;Homeworld 2 Texture – .rot &lt;/li&gt;    &lt;li&gt;Silicon Graphics – .sgi, .bw, .rgb, .rgba &lt;/li&gt;    &lt;li&gt;Sun Microsystems, .sun &lt;/li&gt;    &lt;li&gt;Creative Assembly Texture – .texture &lt;/li&gt;    &lt;li&gt;Truevision Targa – .tga &lt;/li&gt;    &lt;li&gt;Tagged Image File Format – .tif &lt;/li&gt;    &lt;li&gt;Gamecube Texture – .tpl &lt;/li&gt;    &lt;li&gt;Unreal Texture – .utx &lt;/li&gt;    &lt;li&gt;Valve Texture Format – .vtf &lt;/li&gt;    &lt;li&gt;Game Archive – .wad &lt;/li&gt;    &lt;li&gt;Quake 2 Texture – .wal &lt;/li&gt;    &lt;li&gt;Wireless Bitmap File Format – .wbmp &lt;/li&gt;    &lt;li&gt;HD Photo – .wdp, .hdp &lt;/li&gt;    &lt;li&gt;X Pixel Map – .xpm &lt;/li&gt;    &lt;li&gt;Doom Graphics&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Features currently supported:&lt;/h5&gt;  &lt;p&gt;This is just our first cut of ZaaIL, therefore it is not on full parity with the features in DevIL yet (it may never be)… but it’s a start.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Decoding 40+ image formats &lt;/li&gt;    &lt;li&gt;Access to the image bitmap data&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Features planning to be supported:&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Support for encoding bitmap data to 20+ image formats &lt;/li&gt;    &lt;li&gt;Palette swapping&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Get It Here&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://zaalabs.com/demo/TestZaaIL/"&gt;See it in action&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2628150311840160317?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2628150311840160317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2628150311840160317' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2628150311840160317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2628150311840160317'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/introducing-zaail-40-image-format.html' title='Introducing ZaaIL – 40+ Image format support for Flash'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-310883374083475256</id><published>2010-04-21T20:04:00.001+03:00</published><updated>2010-04-21T20:04:28.318+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='failure'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle charges $90 for Sun's free ODF plug-in</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.theregister.co.uk/2010/04/19/oracle_charges_for_odf_office_plugiin/"&gt;The Register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Oracle is now charging $90 for the free Sun plug-in that teaches Microsoft Office how to use the latest open document format.&lt;/p&gt;  &lt;p&gt;As noticed by &lt;em&gt;The H&lt;/em&gt;, if you visit the &lt;a href="http://www.sun.com/software/star/odf_plugin/"&gt;home&lt;/a&gt; of the Sun ODF Plugin for Microsoft Office, there's still a big red button that says you can &amp;quot;Get it Now. Free.&amp;quot; But if you actually click on that button, Oracle says you can't get it now unless you fork over $9,000. That's $90 per user, with a minimum of 100 users.&lt;/p&gt;  &lt;p&gt;Oracle is also offering support for the not-so-free plug-in. That'll cost you $19.80 per user for the first year - aka a minium of $1,980 - but you don't have to pay this if you don't feel like it.&lt;/p&gt;  &lt;p&gt;You do have to pay the $9,000.&lt;/p&gt;  &lt;p&gt;The latest version of the Sun PDF Plugin teaches Microsoft Office how to read, edit, and save in ODF 1.2, the version used by OpenOffice 3.2. Redmond introduced ODF with Microsoft Office 2007 Service Pack 2, but the best it can do is ODF 1.0. The plug-in also plugs into Microsoft Office 2003, XP, and Microsoft Office 2000.&lt;/p&gt;  &lt;p&gt;The plug-in was never open source. It was just free. So, Oracle isn't reversing an open source promise. But it is charging $90 for a plug-in. The Home and Student edition of Microsoft Office 2007 costs $149.95, and the standard edition is $399.94. So, even if we're kind, the cost of four plug-ins buys you the entire suite.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-310883374083475256?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/310883374083475256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=310883374083475256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/310883374083475256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/310883374083475256'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/oracle-charges-90-for-sun-free-odf-plug.html' title='Oracle charges $90 for Sun&amp;#39;s free ODF plug-in'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1811785808493642920</id><published>2010-04-19T21:56:00.001+03:00</published><updated>2010-04-19T21:56:25.075+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>Json.NET 3.5 Release 7 – Biggest Release Ever Edition</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://james.newtonking.com/archive/2010/04/16/json-net-3-5-release-7-bson-binary-json-part-deux.aspx"&gt;James Newton-King&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bsonspec.org/"&gt;BSON&lt;/a&gt; performance has improved markedly in R7. Deserializing is as fast as it was before (i.e. ridiculously fast) but writing BSON has gotten a big boost when writing large complex objects. Using an extreme example this benchmark compares the previous release with the new BSON serializer:&lt;/p&gt;  &lt;p&gt;&lt;img title="All right, all right, you win. Heh. I see you&amp;#39;ve played knifey-spooney before." border="0" alt="All right, all right, you win. Heh. I see you&amp;#39;ve played knifey-spooney before." src="http://james.newtonking.com/images/Json.NET.5Release7BSONBinaryJSONPartDeux_E9CA/jsonbsonperformance.png" width="471" height="262" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ShouldSerialize&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Did you know that the good old &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;XmlSerializer&lt;/a&gt; had support for conditionally deciding what to serialize through &lt;a href="http://msdn.microsoft.com/en-us/library/53b8022e%28VS.71%29.aspx"&gt;ShouldSerialize&lt;/a&gt; methods? Me neither.&lt;/p&gt;  &lt;p&gt;Not to be outdone, Json.NET is now able to dynamically include and exclude properties the same way. Add a boolean method with the same name as a property and then prefixed the method name with ShouldSerialize. The result of the method determines whether the property is serialized.&lt;/p&gt;  &lt;p&gt;More details, samples and changes log you can find on &lt;a href="http://james.newtonking.com/archive/2010/04/16/json-net-3-5-release-7-bson-binary-json-part-deux.aspx"&gt;original web site&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1811785808493642920?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1811785808493642920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1811785808493642920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1811785808493642920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1811785808493642920'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/jsonnet-35-release-7-biggest-release.html' title='Json.NET 3.5 Release 7 – Biggest Release Ever Edition'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4347094520988622424</id><published>2010-04-19T17:37:00.001+03:00</published><updated>2010-04-19T17:37:51.345+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google Cloud Print Reveals the Future of Printing</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://mashable.com/2010/04/16/google-cloud-print/"&gt;Mashable&lt;/a&gt;&lt;/p&gt; &lt;img src="http://mashable.com/wp-content/uploads/2010/04/cloud_print.jpg" /&gt;   &lt;p&gt;To print out a document, you rely on your local operating system, which must have a driver installed for the printer you intend to use. Most of the time, it’s not an issue; at home, you probably have one printer and all of your PCs have the required drivers.&lt;/p&gt;  &lt;p&gt;Things get a bit more complicated when you want to print something from a mobile device, like an &lt;a href="http://mashable.com/2010/01/27/apple-ipad/"&gt;iPad&lt;/a&gt;, or from a laptop based on Google’s Chrome OS, which relies entirely on web apps and services. This is why Google is working on &lt;a href="http://blog.chromium.org/2010/04/new-approach-to-printing.html"&gt;Google Cloud Print&lt;/a&gt;, a service that enables “any application (web, desktop, or mobile) on any device to print to any printer.”&lt;/p&gt;  &lt;p&gt;Google Cloud Print is still in the early days of development, but Google made the &lt;a href="http://codereview.chromium.org/1566047/show"&gt;code&lt;/a&gt; and &lt;a href="http://code.google.com/apis/cloudprint/docs/overview.html"&gt;documentation&lt;/a&gt; public as part of the Chromium and Chromium OS projects. The documentation reveals how Google plans to solve some of the issues it will inevitably face, such as making Cloud Print work with legacy printers.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“The ideal experience is for your printer to have native support for connecting to cloud print services. Under this model, the printer has no need for a PC connection of any kind or for a print driver. The printer is simply registered with one or more cloud print services and awaits print jobs. Cloud-aware printers don’t exist yet, but one of our main goals in publishing this information at an early stage is to begin engaging industry leaders and the community in developing cloud-aware printers and the necessary open protocols for these printers to communicate with cloud print services.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;“We want users to be able to print to legacy printers via Google Cloud Print. This is accomplished through the use of a proxy, a small piece of software that sits on a PC where the printer is installed. The proxy takes care of registering the printer with Google Cloud Print and awaiting print jobs from the service. When a job arrives, it submits the print job to the printer using the PC operating system’s native print stack and sends job status back to the printer.”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;There are obviously some obstacles ahead, but it’s an amazing idea. If print jobs are handled in the cloud you won’t need drivers, and most of the problems users have with printing from devices like smartphones and tablets will be solved.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4347094520988622424?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4347094520988622424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4347094520988622424' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4347094520988622424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4347094520988622424'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/google-cloud-print-reveals-future-of.html' title='Google Cloud Print Reveals the Future of Printing'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1202006254379578849</id><published>2010-04-19T10:49:00.001+03:00</published><updated>2010-04-19T10:49:46.912+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>CSSDesk: A playground for CSS</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://ajaxian.com/archives/cssdesk-a-playground-for-css"&gt;Ajaxian&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We have seen a lot of playgrounds out there with &lt;a href="http://jsfiddle.net"&gt;JS Fiddle&lt;/a&gt; being the most recent. The latest is &lt;a href="http://cssdesk.com/"&gt;CSS Desk&lt;/a&gt;. It is an incredibly simple playground where you put in HTML and CSS, and see a live preview. That is it.&lt;/p&gt;  &lt;p&gt;However, &lt;a href="http://pixelmatrixdesign.com/"&gt;Pixel Matrix Design&lt;/a&gt;… the folks behind it… show that they design very clean and beautiful web apps.&lt;/p&gt;  &lt;p&gt;&lt;img title="cssdesk" alt="cssdesk" src="http://ajaxian.com/wp-content/images/cssdesk.png" width="480" height="435" /&gt;&lt;/p&gt;  &lt;p&gt;It looks and feels SproutCore/Cappuccino-esque, but it is actually simple markup with sprinkling of jQuery. Nice animations and drop over effects. Click on the toggle buttons. Click on the arrows for drop downs and panel show/hide. Very nice.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1202006254379578849?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1202006254379578849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1202006254379578849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1202006254379578849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1202006254379578849'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/cssdesk-playground-for-css.html' title='CSSDesk: A playground for CSS'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4379152817602779752</id><published>2010-04-17T23:11:00.001+03:00</published><updated>2010-04-17T23:11:44.956+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><title type='text'>Silverlight 4 Released</title><content type='html'>&lt;p&gt;The final release of Silverlight 4 is now available.&lt;/p&gt;  &lt;p&gt;Silverlight 4 contains &lt;u&gt;a ton&lt;/u&gt; of new features and capabilities.&amp;#160; In particular we focused on three scenarios with this release:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Further enhancing media support &lt;/li&gt;    &lt;li&gt;Building great business applications &lt;/li&gt;    &lt;li&gt;Enabling out of the browser experiences&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;On Tuesday &lt;a href="http://weblogs.asp.net/scottgu"&gt;ScottGu&lt;/a&gt; gave a &lt;a href="http://www.microsoft.com/presspass/presskits/silverlight/videogallery.aspx"&gt;60 minute keynote about Silverlight 4&lt;/a&gt; which showed off many of the new features and capabilities now available.&amp;#160; You can &lt;a href="http://www.microsoft.com/presspass/presskits/silverlight/videogallery.aspx"&gt;watch ScottGu’s keynote&lt;/a&gt; to learn more about Silverlight 4 and see a ton of great demos of it in action.&lt;/p&gt;  &lt;p&gt;Also check out these three great posts by Tim Heuer that talk about the new features and provide a guide to the new Silverlight 4 capabilities:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx"&gt;Silverlight 4 Beta – A Guide to the New Features&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://timheuer.com/blog/archive/2010/03/15/whats-new-in-silverlight-4-rc-mix10.aspx"&gt;Silverlight 4 RC – What was updated&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://timheuer.com/blog/archive/2010/04/15/download-silverlight-4-released.aspx"&gt;Silverlight 4 Released&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Also read David Anson’s great &lt;a href="http://blogs.msdn.com/delay/archive/2010/04/15/alive-and-kickin-new-silverlight-4-toolkit-released-with-today-s-silverlight-4-rtw.aspx"&gt;Silverlight 4 Toolkit&lt;/a&gt; post to learn more about the new controls and functionality also available within the Silverlight Toolkit release we also made available today.&amp;#160; Visit &lt;a href="http://www.microsoft.com/silverlight/pivot/"&gt;this page&lt;/a&gt; to learn more about the new Pivot functionality in Silverlight 4 – which makes it really easy to visualize and interact with collections of images using Silverlight.&lt;/p&gt;  &lt;p&gt;Lastly – make sure to visit the &lt;a href="http://www.silverlight.net"&gt;www.silverlight.net&lt;/a&gt; web-site and visit the “&lt;a href="http://www.silverlight.net/getstarted/"&gt;Get Started&lt;/a&gt;” section to find free tutorials that you can use.&lt;/p&gt;  &lt;p&gt;Only bad thing about it is that i can’t use it on my TC1000 Tablet PC…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4379152817602779752?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4379152817602779752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4379152817602779752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4379152817602779752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4379152817602779752'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/silverlight-4-released.html' title='Silverlight 4 Released'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8593630827774362410</id><published>2010-04-16T23:41:00.001+03:00</published><updated>2010-04-16T23:41:52.923+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>Cassandra Release Brings Speed Boost: Beginning of the End for MySQL?</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://ostatic.com/blog/cassandra-release-brings-speed-boost-beginning-of-the-end-for-mysql"&gt;OStatic&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="left" src="http://ostatic.com/files/cassandra.jpg" /&gt;The Apache Software Foundation (ASF) has pushed out the 0.6 release of &lt;a href="http://cassandra.apache.org/"&gt;Cassandra&lt;/a&gt; with support for Apache Hadoop, and several improvements to the Cassandra architecture and speed. Don't let the release number fool you, Cassandra is in production use on some of the busiest sites on the Web, and may be giving MySQL a run for its money soon.&lt;/p&gt;  &lt;p&gt;Cassandra is a NoSQL distributed database that was originally developed and open sourced by &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt; and is now used by Rackspace, Digg, Twitter, and many others. The project was picked up by the Apache Software Foundation's incubator project in 2009 and became a top-level project in February of this year. The 0.6 release is the first since graduating from ASF's Incubator.&lt;/p&gt;  &lt;p&gt;The big news with 0.6 is the support for Hadoop and the speed improvements. Cassandra is being deployed by services dealing with thousands, maybe millions, of users making requests every second. The 0.6 release notes claim a 30% improvement in speed, which means maybe a little less Fail Whale and a little more Tweet goodness.&lt;/p&gt;  &lt;p&gt;The Hadoop support adds the ability to &lt;a href="http://wiki.apache.org/cassandra/HadoopSupport"&gt;run Hadoop queries&lt;/a&gt; against data in Cassandra. Prior to 0.6, you could insert Hadoop output to Cassandra, but this release brings native support and makes it much easier for the applications to work together.&lt;/p&gt;  &lt;p&gt;Cassandra has been growing by leaps and bounds, and may be one of the projects where development moves faster than hype. Trying to get a grip on Cassandra, and what it can (and can't) do? Jonathan Ellis put up a nice &lt;a href="http://spyced.blogspot.com/2010/04/cassandra-fact-vs-fiction.html"&gt;fact vs. fiction&lt;/a&gt;piece last week talking about some of the misconceptions around Cassandra. He also &lt;a href="http://spyced.blogspot.com/2010/03/cassandra-in-action.html"&gt;rounds up some of the Cassandra deployments&lt;/a&gt; and addresses the question of Cassandra vs. MySQL saying &amp;quot;if not quite yet the end, then the beginning of it.&amp;quot;&lt;/p&gt;  &lt;p&gt;The rise of NoSQL solutions like Cassandra coupled with Oracle's acquisition of MySQL may do quite a bit to dent the growth of MySQL. It's unlikely to spell the &amp;quot;end&amp;quot; for MySQL, but it seems unlikely that MySQL is going to continue to see much growth -- particularly in large-scale deployments. But I'd be interested in hearing from admins and developers working with MySQL that feel differently.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8593630827774362410?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8593630827774362410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8593630827774362410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8593630827774362410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8593630827774362410'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/04/cassandra-release-brings-speed-boost.html' title='Cassandra Release Brings Speed Boost: Beginning of the End for MySQL?'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2220484033926673643</id><published>2010-03-14T15:05:00.002+02:00</published><updated>2010-03-14T15:06:46.802+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Run-time language switching with jQuery</title><content type='html'>&lt;p&gt;When you are making some enterprise apps that targets users from different countries you might need to implement live/run-time language switcher where labels for your controls will be changed instantly from one language to another, to be short and visualize the result we are looking for, i will put it this way, we need to turn this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_557MJRSN5HM/S5zfDz-rh8I/AAAAAAAAJcs/MYXQo8DyzLc/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_557MJRSN5HM/S5zfEejaPLI/AAAAAAAAJcw/odMaH5WCuzw/image_thumb%5B1%5D.png?imgmax=800" width="161" height="38" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;into this&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_557MJRSN5HM/S5zfEhVFPtI/AAAAAAAAJc0/peGwS7LFsYA/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_557MJRSN5HM/S5zfFCGcPZI/AAAAAAAAJc4/f6_L0nXbDaE/image_thumb%5B3%5D.png?imgmax=800" width="130" height="37" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For Single-Page-Interfaces (SPI) we need to have ability to run these transformations at run time, without having UI reloaded. I won’t explain at this moment how your design could be affected because ‘translated’ labels from one language could be longer/shorter than in another language, i think it’s quite simple thing to issue to understand and take care of so it doesn’t require my coverage here. What i want to do here is just to give you idea about one of the many ways on how to implement language switching for labels on your html controls.&lt;/p&gt;  &lt;p&gt;First of all i suggest you to use some light-weight tagging for your labels, something like this:&lt;/p&gt;  &lt;pre class="brush: html"&gt;&amp;lt;table&amp;gt;&lt;br /&gt;&amp;lt;tbody&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td key="Messages.NAME"&amp;gt;Name:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/tbody&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;a href="#" key="Messages.YES"&amp;gt;OK&amp;lt;/a&amp;gt; | &amp;lt;a href="#" key="Messages.NO"&amp;gt;Cancel&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Notice that i’ve added new attribute called &lt;em&gt;key&lt;/em&gt;. That’s my placeholder for label keys. So idea is like this, when language switching event happens i will run through my labels, and assign new values to their content based on the key i find. So markup we did, now we need actual implementation. Which quite simple as well:&lt;/p&gt;&lt;pre class="brush: js"&gt;var app = {&lt;br /&gt;   events: {&lt;br /&gt;    CHANGE_LANGUAGE: 'jQueryChangeLanguageEvent'&lt;br /&gt;   },&lt;/pre&gt;&lt;pre class="brush: js"&gt;   Messages:  {&lt;br /&gt;    OK: 'OK',&lt;br /&gt;    CANCEL: 'Cancel',&lt;br /&gt;    YES: 'Yes',&lt;br /&gt;    NO: 'No',&lt;br /&gt;    NAME: 'Name'&lt;br /&gt;   },&lt;br /&gt;   Messages_gr: {&lt;br /&gt;    OK: "εντάξει",&lt;br /&gt;    CANCEL: "ακυρώσει",&lt;br /&gt;    YES: "ναι",&lt;br /&gt;    NO: "οχι",&lt;br /&gt;    NAME:'Όνομα'&lt;br /&gt;   }&lt;br /&gt;  };&lt;/pre&gt;&lt;pre class="brush: js"&gt;  $(function() {&lt;br /&gt;   $('#btnExec').live('click', function() {&lt;br /&gt;    $(document).trigger({&lt;br /&gt;     type: app.events.CHANGE_LANGUAGE,&lt;br /&gt;     language: 'gr'&lt;br /&gt;    });&lt;br /&gt;   });&lt;/pre&gt;&lt;pre class="brush: js"&gt;   $(document).bind(app.events.CHANGE_LANGUAGE, function(e) {&lt;br /&gt;    app.Messages = app["Messages_" + e.language];&lt;br /&gt;    $('*[key]').each(function(ndx) {&lt;br /&gt;     $(this).html(eval('app.' + $(this).attr('key')));&lt;br /&gt;    });&lt;br /&gt;   });&lt;br /&gt;  });&lt;/pre&gt;&lt;p&gt;What i’m doing here is this, i defined my application data that contains &lt;em&gt;events&lt;/em&gt; names/constants, I defined 2 set of language files &lt;em&gt;Messages&lt;/em&gt; and &lt;em&gt;Messages_gr,&lt;/em&gt; which in real world application you could load with $.getJSON or something from some URL, instead stuffing it into your main application. If your user workign only with English UI, there is no point to load data for all other languages.&lt;/p&gt;&lt;p&gt;So, we need to listen for &lt;em&gt;CHANGE_LANGUAGE&lt;/em&gt; that we defined in &lt;em&gt;app.events.*&lt;/em&gt; in order to perform live language switching, once this event happen we going through all elements that have &lt;em&gt;key&lt;/em&gt;, you can see in my case it’s TD and A tags, and replace labels with new content based on key specified within context html element.&lt;/p&gt;&lt;p&gt;I’ve also added there &lt;em&gt;btnExec&lt;/em&gt; just to perform actual event triggering so you can see whole flow.&lt;/p&gt;&lt;p&gt;In case if you will decide to use file based language files you could wrap it like this:&lt;/p&gt;&lt;pre class="brush: js"&gt;$(document).bind(app.events.CHANGE_LANGUAGE, function(e) {&lt;br /&gt; $.getJSON('messages_' + e.language,function(data) {&lt;br /&gt; app.Messages = data;&lt;br /&gt; $('*[key]').each(function(ndx) {&lt;br /&gt; $(this).html(app.Messages[$(this).attr('key')]);&lt;br /&gt; });&lt;br /&gt;});&lt;br /&gt;});&lt;/pre&gt;You can find complete code here: &lt;a href="http://jqcommons.googlecode.com/svn/trunk/samples/jquery-languageSwitch.htm"&gt;jquery-languageSwitch.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2220484033926673643?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2220484033926673643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2220484033926673643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2220484033926673643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2220484033926673643'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/run-time-language-switching-with-jquery.html' title='Run-time language switching with jQuery'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_557MJRSN5HM/S5zfEejaPLI/AAAAAAAAJcw/odMaH5WCuzw/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5321108161922158781</id><published>2010-03-13T12:57:00.004+02:00</published><updated>2010-03-14T14:14:57.712+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Javascript: the new VBA</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://zef.me/2998/javascript-the-new-vba?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+zefme+(I+am+Zef)" target="_blank"&gt;Zef&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Somewhere at the end of the eighties, my dad started work at his &lt;a href="http://www.rug.nl/"&gt;local university&lt;/a&gt; where he became the &lt;a href="http://en.wikipedia.org/wiki/WordPerfect"&gt;WordPerfect&lt;/a&gt; expert, which was the dominant word processor at the time. Beside acting as a helpdesk and laying out documents, he also spent a lot of time writing &lt;a href="http://www.shkatz.com/macrotut/tofc.htm"&gt;WordPerfect macros&lt;/a&gt;. WP’s macro language allowed you to add functionality and automate common tasks. All was well, until Microsoft came along with Microsoft Office.&lt;/p&gt;  &lt;p&gt;It took Microsoft a long time to dominate the word processing market, but they managed to push WordPerfect practically out of the market with Word ‘97. My dad’s university also switched to Word around that release. Word uses a dialect of BASIC for writing macros: &lt;a href="http://en.wikipedia.org/wiki/Visual_Basic_for_Applications"&gt;Visual Basic for Applications (VBA)&lt;/a&gt;. He still does the majority of his programming work in VBA. To give you a flavor:&lt;/p&gt;  &lt;pre class="brush: vb"&gt;Public Function BusinessDayPrior(dt As Date) As Date&lt;br /&gt; Select Case Weekday(dt, vbMonday)&lt;br /&gt;     Case 1&lt;br /&gt;         BusinessDayPrior = dt - 3&lt;br /&gt;     Case 7&lt;br /&gt;         BusinessDayPrior = dt - 2&lt;br /&gt;     Case Else&lt;br /&gt;         BusinessDayPrior = dt - 1&lt;br /&gt; End Select&lt;br /&gt;End Function&lt;br /&gt;&lt;/pre&gt;It is likely that within 10 years practically all word processing will be done in some sort of web application. Albeit in Google Docs or something else, and with this platform shift will also come another shift in macro language. Although it may not be surprising, it looks like that macro language is going to be Javascript.&lt;br /&gt;&lt;p&gt;Google has started introducing &lt;a href="http://www.google.com/google-d-s/scripts/articles.html"&gt;macro capabilities&lt;/a&gt; to its &lt;a href="http://docs.google.com/"&gt;Google Docs&lt;/a&gt; offerings, calling it &lt;a href="http://www.google.com/google-d-s/scripts/articles.html"&gt;Google Apps Script&lt;/a&gt;, but if you look closely you will see it’s simply Javascript using a Google Docs API. The first application where Google Apps Script is introduced is in its spreadsheets, this is what it looks like:&lt;/p&gt;&lt;pre class="brush: js"&gt;function example() {&lt;br /&gt;var ss = SpreadsheetApp.getActiveSpreadsheet();&lt;br /&gt;var sheet = ss.getSheets()[0];&lt;br /&gt;var myValue = Browser.inputBox("Enter a number");&lt;br /&gt;sheet.getRange("A1").setValue("Number entered:");&lt;br /&gt;var b1Range = sheet.getRange("B1");&lt;br /&gt;b1Range.setValue(myValue);&lt;br /&gt;var valueToShow = b1Range.getValue() + 1;&lt;br /&gt;Browser.msgBox("Answer: " + valueToShow);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Google’s Apps Script — I’m guessing they don’t like to abbreviate it to GAS — currently enables power users to define:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Custom spreadsheet functions&lt;/li&gt;&lt;li&gt;Custom menus in the spreadsheet application&lt;/li&gt;&lt;li&gt;Send e-mails&lt;/li&gt;&lt;li&gt;Read and manipulate spreadheets&lt;/li&gt;&lt;li&gt;Communicate with web services&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Google took another step to become a serious Microsoft Office competitor. And my expectation is that more web applications will allow users to build macros in this fashion soon.&lt;/p&gt;&lt;p&gt;Another programming domain conquered by Javascript.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5321108161922158781?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5321108161922158781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5321108161922158781' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5321108161922158781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5321108161922158781'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/javascript-new-vba.html' title='Javascript: the new VBA'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4056440057619463042</id><published>2010-03-13T10:34:00.001+02:00</published><updated>2010-03-13T10:34:05.363+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xquery'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>XML Prague Live</title><content type='html'>&lt;p&gt;XML Prague is a conference on XML for developers, markup geeks, information managers, and students.&lt;/p&gt; &lt;script src="http://static.livestream.com/scripts/playerv2.js?channel=River_Valley&amp;amp;layout=playerEmbedDefault&amp;amp;backgroundColor=0xffffff&amp;amp;backgroundAlpha=1&amp;amp;backgroundGradientStrength=0&amp;amp;chromeColor=0x000000&amp;amp;headerBarGlossEnabled=true&amp;amp;controlBarGlossEnabled=true&amp;amp;chatInputGlossEnabled=true&amp;amp;uiWhite=true&amp;amp;uiAlpha=0.5&amp;amp;uiSelectedAlpha=0.7&amp;amp;dropShadowEnabled=false&amp;amp;dropShadowHorizontalDistance=10&amp;amp;dropShadowVerticalDistance=10&amp;amp;paddingLeft=0&amp;amp;paddingRight=0&amp;amp;paddingTop=0&amp;amp;paddingBottom=0&amp;amp;cornerRadius=3&amp;amp;backToDirectoryURL=null&amp;amp;bannerURL=null&amp;amp;bannerText=null&amp;amp;bannerWidth=320&amp;amp;bannerHeight=50&amp;amp;showViewers=true&amp;amp;embedEnabled=true&amp;amp;chatEnabled=true&amp;amp;onDemandEnabled=true&amp;amp;programGuideEnabled=false&amp;amp;fullScreenEnabled=true&amp;amp;reportAbuseEnabled=false&amp;amp;gridEnabled=false&amp;amp;initialIsOn=true&amp;amp;initialIsMute=false&amp;amp;initialVolume=10&amp;amp;contentId=null&amp;amp;initThumbUrl=null&amp;amp;playeraspectwidth=4&amp;amp;playeraspectheight=3&amp;amp;mogulusLogoEnabled=true&amp;amp;width=400&amp;amp;height=400&amp;amp;wmode=window" type="text/javascript"&gt;&lt;/script&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4056440057619463042?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4056440057619463042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4056440057619463042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4056440057619463042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4056440057619463042'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/xml-prague-live.html' title='XML Prague Live'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6142561929128914584</id><published>2010-03-13T10:20:00.001+02:00</published><updated>2010-03-13T10:20:48.340+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>Zorba XQuery Processor</title><content type='html'>&lt;p&gt;Zorba is a general purpose XQuery processor implementing in C++ the W3C family of specifications. The query processor has been designed to be embeddable in a variety of environments such as other programming languages extended with XML processing capabilities, browsers, database servers, XML message dispatchers, or smartphones. Its architecture employes a modular design, which allows customizing the Zorba query processor to the environment’s needs. In particular the architecture of the query processor allows a pluggable XML store (e.g. main memory, DOM stores, persistent disk-based large stores, S3 stores). Zorba can be accessed through APIs from the following languages C, C++, Ruby, Python, Java, and PHP. Zorba runs on most platforms and is available under the Apache license v2.&lt;/p&gt;  &lt;p&gt;Zorba XQuery processor in version 1.0 implementing the following specifications:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.w3.org/TR/xquery/"&gt;XQuery 1.0&lt;/a&gt;&amp;#160; (with schema validation) (99.5%W3C tests success rate) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.w3.org/TR/xquery-update-10/"&gt;XQuery Update&lt;/a&gt; (97.2%) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.w3.org/TR/xqueryx/"&gt;XQueryX&lt;/a&gt;&amp;#160; (98.5% success rate for XQuery 1.0 and 96.6% for XQuery Update) &lt;/li&gt;    &lt;li&gt;Many&amp;#160; &lt;a href="http://www.w3.org/TR/xquery-11/"&gt;XQuery 1.1&lt;/a&gt; features (including try-catch, windowing and general FLWOR expressions) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.w3.org/TR/xquery-sx-10/"&gt;XQuery Scripting Extension&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This release includes support for &lt;a href="http://www.zorba-xquery.com/doc/zorba-latest/zorba/html/XQDDF.html"&gt;data definition and manipulation&lt;/a&gt; (collections, indexes and integrity constraints). It also extends the standard XQuery capabilities with a rich and extensible &lt;a href="http://www.zorba-xquery.com/doc/zorba-latest/zorba/xqdoc/xhtml/"&gt;function library&lt;/a&gt;, including xqDoc, REST,&amp;#160; JSON, CSV,&amp;#160; Excel functions, email, introspection, file manipulation, and mathematical&amp;#160; computations. Zorba 1.0 includes lots of bug fixes and performance improvements as well.&lt;/p&gt;  &lt;p&gt;Downloads and more details on &lt;a href="http://www.zorba-xquery.com/"&gt;&lt;u&gt;http://www.zorba-xquery.com/&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6142561929128914584?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6142561929128914584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6142561929128914584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6142561929128914584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6142561929128914584'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/zorba-xquery-processor.html' title='Zorba XQuery Processor'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2993040444884384059</id><published>2010-03-10T09:18:00.001+02:00</published><updated>2010-03-10T09:18:29.879+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>GameQuery Makes Javascript Game Development Easier</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.webappers.com/2010/03/10/gamequery-makes-javascript-game-development-easier/" target="_blank"&gt;WebAppers&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gamequery.onaluf.org/"&gt;gameQuery&lt;/a&gt; is a jQuery plug-in to help make JavaScript game development easier by adding some simple game-related classes. gameQuery has the following features: multi layer-sprite animations, sprite hierarchies, collision detection, swappable sound support, periodic callbacks and keyboard state polling.&lt;/p&gt;  &lt;p&gt;JavaScript games are still in their infancy but but there is many reason why they are more than a curiosity: Modern browser provide very good JavaScript engine and improvement keeps coming. Then to develop JavaScript games you don’t need an expensive proprietary IDE, widly available, free, open source software are there waiting for you! Sometimes Flash is not available in some platform, even very recent ones (Wii, iPhone …).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gamequery.onaluf.org/"&gt;&lt;img title="jquery-games" alt="jquery-games" src="http://maxcdn.webappers.com/img/2010/03/jquery-games.jpg" width="480" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Requirements: jQuery Framework     &lt;br /&gt;Demo: &lt;a href="http://gamequery.onaluf.org/demos.php"&gt;http://gamequery.onaluf.org/demos.php&lt;/a&gt;      &lt;br /&gt;License: MIT License&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2993040444884384059?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2993040444884384059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2993040444884384059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2993040444884384059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2993040444884384059'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/gamequery-makes-javascript-game.html' title='GameQuery Makes Javascript Game Development Easier'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7696511107096596022</id><published>2010-03-06T00:11:00.001+02:00</published><updated>2010-03-06T00:11:30.815+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Microsoft’s First App for Android is Called Tag</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://mashable.com/2010/03/04/tag-microsoft-first-app-android/" target="_blank"&gt;Mashable&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Admit it: seeing Microsoft release an application for Google’s operating system seems a little weird, doesn’t it? Still, it’s true; Microsoft has launched its first Android app, called Tag.&lt;/p&gt;  &lt;p&gt;We &lt;a href="http://mashable.com/2010/02/01/microsofts-tag/"&gt;wrote about Tag&lt;/a&gt; a couple of weeks ago; simply put, it’s an app that lets you link physical objects with content on the Internet (as featured in &lt;a href="http://www.getmarried.com/magazine/"&gt;Get Married&lt;/a&gt; magazine). You point your smartphone’s camera at a specially designed barcode, and your smartphone opens a link to any sort of online content: video, image, or text.&lt;/p&gt;  &lt;p&gt;At launch, Microsoft supported most mobile operating systems – Symbian, iPhone OS, BlackBerry – with Android also being on the list, but clicking on that link actually revealed a “coming soon” message. Now, Android users can try out the app too, but its significance lies in the fact that Microsoft has created an application for Google’s Android. It’s not that big of a deal, since the same app exists for the iPhone OS, another competitor to Microsoft’s Windows Mobile and the upcoming Windows Phone 7 mobile operating systems. Still, in the epic battle of Microsoft vs. Google, this is another small victory for the online giant from Mountain View.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7696511107096596022?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7696511107096596022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7696511107096596022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7696511107096596022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7696511107096596022'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/microsofts-first-app-for-android-is.html' title='Microsoft’s First App for Android is Called Tag'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1057583421093346245</id><published>2010-03-06T00:08:00.001+02:00</published><updated>2010-03-06T00:08:15.629+02:00</updated><title type='text'>Google Europe Exec: Desktop PCs 'Irrelevant' In Three Years</title><content type='html'>&lt;p&gt;Source: PCWorld via &lt;a href="http://news.yahoo.com/s/pcworld/20100303/tc_pcworld/googleeuropeexecdesktoppcsirrelevantinthreeyears" target="_blank"&gt;Yahoo! News&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One thing's for certain: &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/googleeuropeexecdesktoppcsirrelevantinthreeyears/35348312/SIG=119lhd971/*http://www.pcworld.com/search?qt=google"&gt;Google&lt;/a&gt; isn't exactly bullish on the long-term prospects of the conventional desktop or laptop. When it comes to online search, the conventional PC will be &amp;quot;irrelevant&amp;quot; within three years, or so claims Google vice-president of Global Ad Operations John Herlihy.&lt;/p&gt;  &lt;p&gt;Herlihy, who's based in Ireland, made his dour desktop prediction during a Wednesday speech at the Digital Landscapes conference in Dublin, according to a report by Ireland tech news service &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/googleeuropeexecdesktoppcsirrelevantinthreeyears/35348312/SIG=13q7f8ko6/*http://www.siliconrepublic.com/news/article/15446/business/in-three-years-desktops-will-be-irrelevant-google-sales-chief"&gt;SiliconRepublic.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Said Herlihy: &amp;quot;In three years time, desktops will be irrelevant. In Japan, most research is done today on smart phones, not PCs,” according to the report.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Google's Anti-Desktop Rhetoric&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Herlihy's remarks echo a speech made last month by &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/googleeuropeexecdesktoppcsirrelevantinthreeyears/35348312/SIG=12d7dvpmm/*http://www.pcworld.com/article/189554/google_ceo_preaches_mobile_first.html"&gt;Google CEO Eric Schmidt&lt;/a&gt;, who announced that the search giant is focusing on mobile, not desktop, search, and urged application developers to do the same.&lt;/p&gt;  &lt;p&gt;In his keynote at Mobile World Congress in Barcelona, Schmidt pointed out that global sales of smartphones and other mobile devices are growing rapidly and will soon eclipse sales of conventional PCs.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;An Exaggerated Demise?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There's little doubt that smartphones are already ubiquitous worldwide. According to a recent &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/googleeuropeexecdesktoppcsirrelevantinthreeyears/35348312/SIG=12r010ehj/*http://www.unep.org/Documents.Multilingual/Default.asp?DocumentID=612&amp;amp;ArticleID=6471&amp;amp;l=en"&gt;United Nations report&lt;/a&gt;, nearly &lt;em&gt;two-thirds of all humans&lt;/em&gt; currently use a cell phone, and the mobile device revolution is still in its infancy.&lt;/p&gt;  &lt;p&gt;OK, but is the desktop really doomed? Perhaps from the perspective of Google, a search company that generates nearly all of its revenue from online advertising, the desktop may soon grow irrelevant, at least globally.&lt;/p&gt;  &lt;p&gt;Certainly, Google's strategic focus on cloud computing and connectivity is visible in every project the company undertakes, be it online productivity apps like &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/googleeuropeexecdesktoppcsirrelevantinthreeyears/35348312/SIG=11e5v16ns/*http://www.pcworld.com/search?qt=google+docs"&gt;Google Docs&lt;/a&gt; or an experimental fiber &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/googleeuropeexecdesktoppcsirrelevantinthreeyears/35348312/SIG=12u83umsv/*http://www.pcworld.com/article/189066/googles_ultrafast_broadband_questions_and_answers.html"&gt;broadband network&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;But it's likely the conventional PC will have a longer, healthier life than Google anticipates. Big bulky desktops are disappearing, of course, but that's hardly a new development. Smaller, lighter, and more mobile laptops will take their place, except for niche applications that require maximum, local processing power and storage.&lt;/p&gt;  &lt;p&gt;The smartphone is great for many things, but it's no desktop-replacement device, either in the home or office. New mobile devices, such as the Apple iPad and similar tablets, may bridge the gap between phone and desktop. And laptops will likely make new inroads in developing nations, particularly as manufacturing costs continue to fall.&lt;/p&gt;  &lt;p&gt;Who knows? Maybe we'll eventually ditch the &amp;quot;smartphone&amp;quot; and &amp;quot;laptop&amp;quot; labels and just call everything a mobile device.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1057583421093346245?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1057583421093346245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1057583421093346245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1057583421093346245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1057583421093346245'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/google-europe-exec-desktop-pcs-in-three.html' title='Google Europe Exec: Desktop PCs &amp;#39;Irrelevant&amp;#39; In Three Years'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6171190679768491844</id><published>2010-03-03T21:12:00.001+02:00</published><updated>2010-03-03T21:12:34.318+02:00</updated><title type='text'>IBM Adds Support for XPath 2.0, XSLT 2.0 and XQuery 1.0 to WebSphere 7</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoq.com/news/2009/12/was7xmlfp" target="_blank"&gt;InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;IBM's WebSphere feature packs are optionally installable product extensions to the application server offering new features.&amp;#160; IBM's &lt;a href="http://webspherecommunity.blogspot.com/2009/11/websphere-xml-feature-pack-v10-released.html"&gt;recently released&lt;/a&gt; Feature Pack for XML provides application developers with support for the most recently ratified set of W3C XML standards:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;XQuery 1.0: &lt;/strong&gt;a newly introduced query and functional programming language designed to query collections of XML data.&amp;#160; It uses the XPath expression syntax to address specific parts of an XML document supplementing it with &amp;quot;FOR, LET, WHERE, ORDER BY and RETURN&amp;quot; expressions. Commonly abbreviated to &amp;quot;FLWOR&amp;quot; these expressions may be used for performing joins across multiple XML streams in a similar manner to SQL.&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;XPath&lt;/strong&gt; &lt;strong&gt;2.0: &lt;/strong&gt;an expression language for working with XML documents.&amp;#160; The result of an XPath expression is typically a selection of nodes from the input documents or an atomic value. XPath 2.0 is now a subset of XQuery 1.0.&amp;#160; The most notable change from XPath 1.0 to XPath 2.0 is the introduction of a much richer type system: Every value is now a sequence, with a single value being treated as a sequence of length 1.&amp;#160; XPath 2.0 supports &amp;quot;Schema Awareness&amp;quot; meaning that elements of the tree have type annotations which can be used to navigate the XPath. A processor must offer schema awareness for the built in types such as string, number, date and so on. It may optionally support user defined types, which can greatly simplify the required expressions. For example an internet mailing company might have an XML document with a billing address and delivery address associated with a customer's order. If both address fields have a common AddressType the expression for &lt;em&gt;//element(*, tns:AddressType)/postalCode&lt;/em&gt; would return the post code for both addresses. XPath 2.0 also offers a greatly expanded set of functions and operators. New functions include regular expression syntax for pattern matching, new date functions such as current date, and new numeric functions such as floor, ceiling and round. New operators include intersect and except. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;XSLT 2.0&lt;/strong&gt;: a programming language used to transform XML into a new XML format, or into another presentation format such as HTML, XHTML or SVG.&amp;#160; Like XQuery 1.0, XSLT 2.0 uses XPath 2.0 as a path language. XSLT 2.0 adds a number of new capabilities including grouping&lt;em&gt;, &lt;/em&gt;the ability to output multiple results from a single input document, and the ability to define functions in XSLT that can be called from XPath. As for an XPath 2.0 processor an XSLT processor may optionally be &amp;quot;Schema Aware&amp;quot;. Being so offers a number of advantages, such as the ability to validate input trees prior to the XSLT transformation, and to validate output trees to ensure that the XSLT transformation is producing valid output. You are also able to specify data types for variables, input parameters, return values from functions, user-defined functions and templates. XSLT continues to be the primary choice for transforming XML data, whilst XQuery is expected to become the standard for querying XML documents. Whilst both XQuery and XSLT 2.0 use XPath 2.0 as a path language, the XQuery extensions to XPath 2.0 are not of practical relevance to XSLT developers.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://www.infoq.com/news/2009/12/was7xmlfp" target="_blank"&gt;Read full article at InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6171190679768491844?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6171190679768491844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6171190679768491844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6171190679768491844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6171190679768491844'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/ibm-adds-support-for-xpath-20-xslt-20.html' title='IBM Adds Support for XPath 2.0, XSLT 2.0 and XQuery 1.0 to WebSphere 7'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5036859940776690638</id><published>2010-03-01T17:14:00.001+02:00</published><updated>2010-03-01T17:14:37.130+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='vzaar'/><title type='text'>Vzaar and escaping your query strings</title><content type='html'>Not Vzaar API related but rather a hint. When are having situation where you need to redirect user to a video page and submit some parameters in query string, make sure you have used escaping for non-English symbols.  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;     &lt;br /&gt;&amp;lt;html&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;head&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; document.location.href = '&lt;a href="http://somewebsite.ext/somepage.php?'+escape('somevalue=F&amp;ouml;rmedling');"&gt;http://somewebsite.ext/somepage.php?'+&lt;strong&gt;escape&lt;/strong&gt;('somevalue=Förmedling');&lt;/a&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/script&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/head&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;body&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; some content...      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/body&amp;gt;      &lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5036859940776690638?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5036859940776690638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5036859940776690638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5036859940776690638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5036859940776690638'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/03/vzaar-and-escaping-your-query-strings.html' title='Vzaar and escaping your query strings'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-146058187322367401</id><published>2010-02-24T13:54:00.001+02:00</published><updated>2010-02-24T13:54:14.378+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>IronJS – A new JavaScript Compiler for the DLR</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoq.com/news/2010/02/IronJS" target="_blank"&gt;InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With Jscript.NET more or less abandoned by Microsoft, there is an opening for a new JavaScript compatible language on the CLR. &lt;a href="http://ugh.cc/"&gt;Fredrik Holmström&lt;/a&gt; is trying to fill the void with IronJS. Like the other Iron languages by Microsoft and independent developers, it is based on the Dynamic Language Runtime. This includes the DLR’s hosting framework and unified object model.&lt;/p&gt;  &lt;p&gt;While still in the early stages, IronJS currently runs CLR 2 and Mono 2.6 and can compile jQuery 1.4. &lt;a href="http://github.com/fholm/IronJS"&gt;IronJS is being offered on github&lt;/a&gt; under the Microsoft Public License.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-146058187322367401?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/146058187322367401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=146058187322367401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/146058187322367401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/146058187322367401'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/02/ironjs-new-javascript-compiler-for-dlr.html' title='IronJS – A new JavaScript Compiler for the DLR'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-700683034784269309</id><published>2010-02-20T10:34:00.001+02:00</published><updated>2010-02-20T10:34:08.233+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google pulls plug on Google Gears, leaves developers stranded</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blogs.zdnet.com/Google/?p=1732&amp;amp;tag=bitly" target="_blank"&gt;Garret Rogers&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Google Gears was a plugin for modern browsers that gave developers a great way to bring their web applications offline. An example of this would be offline support in Gmail — where you would be able to basically use the service regardless of your internet connection status. Unfortunately, &lt;a href="http://gearsblog.blogspot.com/2010/02/hello-html5.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+GearsApiBlog+(Gears+API+Blog)&amp;amp;utm_content=Google+International"&gt;this is the end of the road for the feature&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Pulling the plug, is the responsible thing for Google to do, though it’s not going to be popular. Browsers are natively beginning to support new web standards, like HTML5, that basically make Google Gears functionality extraneous. Keeping such a product alive simply adds unnecessary fragmentation.&lt;/p&gt;  &lt;p&gt;Why won’t it be popular? There are lots of companies that embraced Google Gears. They spent a lot of time and effort developing applications that take full advantage of the plugin — and now it’s being discontinued. Google will support Google gears, but it doesn’t sound like there will be any active development on it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-700683034784269309?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/700683034784269309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=700683034784269309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/700683034784269309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/700683034784269309'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/02/google-pulls-plug-on-google-gears.html' title='Google pulls plug on Google Gears, leaves developers stranded'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8007285493019186377</id><published>2010-02-15T12:20:00.001+02:00</published><updated>2010-02-15T12:20:07.744+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='vzaar'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Working with Vzaar via jQuery and JSON</title><content type='html'>&lt;p&gt;For those who wants to use &lt;a href="http://vzaar.com" target="_blank"&gt;Vzaar&lt;/a&gt; from HTML based applications, here is the little hint for you, actually few. First of all use ‘official API’ URLs, here &lt;a href="http://developer.vzaar.com/docs/"&gt;&lt;u&gt;http://developer.vzaar.com/docs/&lt;/u&gt;&lt;/a&gt; you can find all necessary information about how to make an account, how to connect to Vzaar,&amp;#160; and what parameters you can send to API in order to get your data in format you need including with some filtering applied.&lt;/p&gt;  &lt;p&gt;You also have to be aware of that on Vzaar you can have two types of of accounts one is sandbox account that you are using for ‘trial’ and testing purposes and another one is ‘live mode’ account. For both accounts you need to generate token if you are going to use some video manipulations and want to have access to private videos. If you are just about to make ‘another Youtube’ service and want to play some videos from other users, you can do it without token, as long as someone’s video is public it can be embedded anywhere.&lt;/p&gt;  &lt;p&gt;Vzaar API available with XML and JSON interfaces, following example shows how to connect to ‘Video List’ end point described here &lt;a href="http://developer.vzaar.com/docs/version_1.0/public/video_list"&gt;&lt;u&gt;http://developer.vzaar.com/docs/version_1.0/public/video_list&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this example we are using jQuery in order to access Vzaar API, following code extracts list of videos and shows video thumbnail and video title one after another one.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;$(function() {      &lt;br /&gt;&amp;#160;&amp;#160; $.getJSON('http://vzaar.com/api/skitsanos/videos.json?callback=?', function (videos) {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; for (var i = 0, l = videos.length; i &amp;lt; l; i++) {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var video = videos[i];       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $('&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;' + video.thumbnail + '&amp;quot;/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;div class=&amp;quot;ui-widget-header&amp;quot;&amp;gt;' + video.title + '&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;').appendTo('#videos');       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160; });       &lt;br /&gt;&amp;#160; });&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;URL like this &lt;a href="http://vzaar.com/api/skitsanos/videos.json?callback"&gt;http://vzaar.com/api/skitsanos/videos.json?callback&lt;/a&gt;=? will tell you that I’m connecting on live mode API account (otherwise it would be sandbox.vzaar.com) for user &lt;em&gt;skitsanos&lt;/em&gt; and i want my data in JSON format. Last parameter callback=? tells jQuery that function handler is embedded within my getJSON body. As result of this service call i will receive Videos object as it described here &lt;a href="http://developer.vzaar.com/docs/version_1.0/public/video_list"&gt;&lt;u&gt;http://developer.vzaar.com/docs/version_1.0/public/video_list&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can download complete working sample from here &lt;a href="http://vzaar.googlecode.com/svn/trunk/api/php/trunk/tests/jQueryCallbacks/"&gt;http://vzaar.googlecode.com/svn/trunk/api/php/trunk/tests/jQueryCallbacks/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8007285493019186377?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8007285493019186377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8007285493019186377' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8007285493019186377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8007285493019186377'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/02/working-with-vzaar-via-jquery-and-json.html' title='Working with Vzaar via jQuery and JSON'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6605547778229376115</id><published>2010-02-06T13:29:00.001+02:00</published><updated>2010-02-06T13:29:58.801+02:00</updated><title type='text'>Predictive Fetch with jQuery and the ASP.NET Ajax Library</title><content type='html'>&lt;p&gt;Dino Esposito builds upon his exploration of new data binding features coming in the ASP.NET Ajax Library, explaining how to implement the predictive fetch design pattern.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Last month I discussed the implementation of master-detail views using the new features coming with the ASP.NET Ajax Library. The list of new features includes a syntax for client-side live data binding and a rich rendering component, exemplified by the DataView client control. By putting these features together, you can easily build nested views to represent one-to-many data relationships.&lt;/p&gt;    &lt;p&gt;In the ASP.NET Ajax Library, the mechanics of master-detail views are largely defined in the logic of the DataView component and in the way the component handles and exposes its events.&lt;/p&gt;    &lt;p&gt;This month I’ll go one step further and discuss how to implement a common and popular AJAX design pattern—predictive fetch—on top of the ASP.NET Ajax Library. Basically, I’ll extend last month’s example—a relatively standard drill-down view into customer details—to automatically and asynchronously download and display related orders, if any exist. In doing so, I’ll touch on some jQuery stuff and take a look at the new jQuery integration API in the ASP.NET Ajax Library.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font style="background-color: #fafafa"&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee291635.aspx" target="_blank"&gt;Continue reading…&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6605547778229376115?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6605547778229376115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6605547778229376115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6605547778229376115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6605547778229376115'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/02/predictive-fetch-with-jquery-and-aspnet.html' title='Predictive Fetch with jQuery and the ASP.NET Ajax Library'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5501216941576573487</id><published>2010-01-28T14:00:00.001+02:00</published><updated>2010-01-28T14:00:19.680+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='IDEA'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><title type='text'>Live Templates in JavaScript/ActionScript/Fle</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blogs.jetbrains.com/idea/2010/01/flex-live-templates/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+jetbrains_intellijidea+(JetBrains+IntelliJ+IDEA+Blog)" target="_blank"&gt;JetBarins Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Writing JavaScript/ActionScript/Flex code becomes easier with upcoming &lt;a href="http://www.jetbrains.com/idea"&gt;IntelliJ IDEA&lt;/a&gt; 9.0.2. New set of live templates (see Settings dialog (&lt;strong&gt;Ctrl+Alt+S&lt;/strong&gt;), Live Templates, JavaScript/ActionScript group), allows to avoid tedious typing when you need to loop over an Array, Vector or anything else. Luckily, some abbreviations are the same as with Java: &lt;strong&gt;iter&lt;/strong&gt;, &lt;strong&gt;itar&lt;/strong&gt;, &lt;strong&gt;ritar&lt;/strong&gt;. Here’s the list of currently available live templates:&lt;/p&gt;  &lt;p&gt;Abbreviation   &lt;br /&gt;Description&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;iter&lt;/strong&gt;    &lt;br /&gt;Iterate (for each..in)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;itin&lt;/strong&gt;    &lt;br /&gt;Iterate (for..in)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;itar&lt;/strong&gt;    &lt;br /&gt;Iterate elements of array&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ritar&lt;/strong&gt;    &lt;br /&gt;Iterate elements of array in reverse order&lt;/p&gt;  &lt;p&gt;To use a live template, just type its abbreviation anywhere in your code and press &lt;strong&gt;Tab&lt;/strong&gt;.    &lt;br /&gt;&lt;img alt="" src="http://blogs.jetbrains.com/idea/wp-content/uploads/2010/01/iter.png" width="554" height="90" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://blogs.jetbrains.com/idea/wp-content/uploads/2010/01/array.png" width="600" height="105" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ctrl+J&lt;/strong&gt; shortcut shows you all live templates available for current context.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://blogs.jetbrains.com/idea/wp-content/uploads/2010/01/live_templates.png" width="451" height="150" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5501216941576573487?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5501216941576573487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5501216941576573487' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5501216941576573487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5501216941576573487'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/live-templates-in-javascriptactionscrip.html' title='Live Templates in JavaScript/ActionScript/Fle'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7157388863077760280</id><published>2010-01-26T21:25:00.001+02:00</published><updated>2010-01-26T21:25:16.446+02:00</updated><title type='text'>FCC joins FTC in combating robocalls</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blog.connectedplanetonline.com/unfiltered/2010/01/25/fcc-joins-ftc-in-combating-robocalls/" target="_blank"&gt;Connected Planet&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Federal Communications &lt;a href="http://hraunfoss.fcc.gov/edocs_public/attachmatch/DOC-295839A2.pdf" target="_blank"&gt;Commission has proposed restrictions on prerecorded outbound calls&lt;/a&gt;, also known as robocalls, which would strengthen similar restrictions issued by the Federal Trade Commission last year.&lt;/p&gt;  &lt;p&gt;The FCC’s proposed new rules would take the form of revisions to the Telephone Consumer Protection Act and would require telemarketers and other robocallers to get written consent from consumers before making robocalls.&lt;/p&gt;  &lt;p&gt;Until now such consent was required only in the absence of an established business relationship. Consumers who previously contacted an organization for information or made a transaction with the organization during a certain time period are considered to have an established business relationship.&lt;/p&gt;  &lt;p&gt;The new rules also would require prerecorded telemarketing calls to include an automated mechanism to allow consumers to opt out of receiving future prerecorded messages.&lt;/p&gt;  &lt;p&gt;Although the FTC restrictions, issued in August as amendments to its Telemarketing Sales Rule, were similar, they did not include banks, politicians, charities and telephone companies, which are specifically called out in the new rules proposed by the FCC. The FCC noted, however, that its proposed new rules would not apply to emergency calls or to messages that deliver purely “informational” messages, such as those notifying recipients of flight cancellations.&lt;/p&gt;  &lt;p&gt;The Commission asked for comments on whether its proposed revisions would benefit consumers and industry by creating greater symmetry between the FCC and FTC regulations and by extending the FTC’s standards to entities that are not currently subject to FTC rules.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7157388863077760280?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7157388863077760280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7157388863077760280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7157388863077760280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7157388863077760280'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/fcc-joins-ftc-in-combating-robocalls.html' title='FCC joins FTC in combating robocalls'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8584385429407417209</id><published>2010-01-26T21:19:00.001+02:00</published><updated>2010-01-26T21:19:23.292+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>What happened to the Windows Mobile 6.5 SDK?</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.betanews.com/article/What-happened-to-the-Windows-Mobile-65-SDK/1264454887" target="_blank"&gt;Betanews&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Late on Friday, Microsoft published the first Windows Mobile 6.5 software development kit, albeit with no announcement or fanfare. Since the operating system was released last October, the only toolkit for Windows Mobile 6.5 development &lt;a href="http://www.betanews.com/article/Windows-Mobile-65-developer-toolkit-available-now/1244143494" target="_blank"&gt;was released as an add-on component&lt;/a&gt; to the Windows Mobile 6 SDK.&lt;/p&gt;  &lt;p&gt;The SDK came with images for both &amp;quot;Professional&amp;quot; and &amp;quot;Standard&amp;quot; versions of Windows Mobile 6.5, also known as touch enabled, and non-touch enabled, and it reportedly also included support for the 6.5.3 update and widget development.&lt;/p&gt;  &lt;p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;However, the SDK was pulled down over the weekend, because it had apparently been posted before it was even finished with testing.&lt;/p&gt;  &lt;p&gt;This afternoon, the Windows Mobile Developer Experience team tweeted the succinct answer to questions about what happened to the SDK. &amp;quot;With regards to 6.5 SDK, we prematurely released an untested SDK which was not ready. We pulled it so proper testing can be completed....&amp;quot;&lt;/p&gt;  &lt;p&gt;While we are not certain what Microsoft will be showing at Mobile World Congress in February, we can now at least be certain that the 6.5.3 update will be included in the SDK when it is released.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8584385429407417209?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8584385429407417209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8584385429407417209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8584385429407417209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8584385429407417209'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/what-happened-to-windows-mobile-65-sdk.html' title='What happened to the Windows Mobile 6.5 SDK?'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1768217034158754743</id><published>2010-01-22T10:00:00.001+02:00</published><updated>2010-01-22T10:00:27.715+02:00</updated><title type='text'>Editorial: 10 outdated elements of desktop operating systems</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.engadget.com/2010/01/21/editorial-10-outdated-elements-of-desktop-operating-systems/" target="_blank"&gt;Engadget&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.engadget.com/2010/01/21/editorial-10-outdated-elements-of-desktop-operating-systems/"&gt;&lt;img border="1" hspace="4" alt="" vspace="4" src="http://www.blogcdn.com/www.engadget.com/media/2010/01/desktop-editorial-rm-eng.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We've come so very far in the way computer operating systems treat us, and in the way we treat those computer operating systems. They multitask, they animate, they reach into the internet and pull down our favorite parts, they rarely crash and they're always on. It's a far cry from a decade ago, but I think we could go so much further. The advent of the cheap, ubiquitous touchscreen, always-available internet and continually cheaper and more powerful hardware has revolutionized the phone industry, and I think it can also help the desktops and laptops we know and love do more for us. But a laptop isn't a phone: we're supposed to get a lot done on it, under some unrealistic deadlines, and some random company with big ideas can't come along and reinvent the desktop OS in one fell swoop -- that simply isn't practical when we have things to do.    &lt;br /&gt;So what's an OS to do? I think there are serious opportunities for evolution available to the Microsofts, Apples and Ubuntus of the world, but they involve embracing new technologies in new ways. And stealing a ton of ideas from phones. A finger on a screen is not a mouse on a pad, an internet browser is not the end-all be-all of the internet, and playing Crysis in a quad HD resolution at 60 fps is not the ultimate expression of gaming for 95% of the population. Join me as I explore a few bits of legacy cruft that need to be addressed before the desktop OS can become as important to this decade as it was to the last one.&lt;/p&gt;  &lt;h3&gt;1. Windows management&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Spending time hunting for this text editing document under a dozen other windows. &lt;/p&gt;  &lt;p&gt;This is at the top of the list, because it's probably my most frequent frustration; I'm always looking for the right window. Sure, you might tell me I can use &amp;quot;Spaces&amp;quot; or command / ctrl+tab or some other wild method of shuffling between my windows, but if tools like that exist to help you shuffle through the clutter, there's probably a deeper problem here. Everybody (my mom) always says that the best way to keep a room clean is to have places for everything and never let it get messy. I can't even count on one hand the features introduced in Windows and Mac OS this decade to help me &amp;quot;manage&amp;quot; my windows, but what if I never wanted to sign up for that job? An operating system is about performing tasks, not juggling. A touch of ADD and what might seem like a logical, modern operating system to some just ties my poor brain in knots looking for what I'm doing or what I'm doing next. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; webOS &lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 0px 5px 0px 0px; display: inline" border="1" hspace="4" alt="" vspace="4" align="left" src="http://www.blogcdn.com/www.engadget.com/media/2010/01/webos-desktops-1.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;A theoretical computer that has a touchscreen just for kicks has room for adding more intuitive gestures into the workflow. Instead of trying to remember a key command or a four finger gesture, a bit of on-screen multitouch could probably rearrange those windows in a jiffy. Some of the Windows 7 snap-to functions are also very intelligent and could aid in this task. A single swipe in webOS puts me in a &amp;quot;card&amp;quot; view that is the overarching metaphor for navigating through the OS, not something tagged on to make it merely livable.    &lt;br /&gt;The other thing I would pull from webOS and other phone operating systems is the idea of pushing an app completely off the desktop and out of mind, while allowing it to run a background process to pull in its relevant push information or perform whatever other duty it does (a minimized window or app still remains in the task switcher or in the task bar, and therefore in the way). A nice little touchscreen flick (or maybe a pinch and flick, go wild!), could tell my computer that I don't want to see that entire application anymore -- while staying safe in knowing that Growl will pick up anything I'm missing by not having that window poking through 1/32nd of my screen.     &lt;br /&gt;Of course, we still have to multitask, since this is a desktop operating system. That's where things get tough, but I still think there's a way. Take that speed dial view in Chrome and Safari, for instance: it's a natural interface that's self-adjusting to my use of the browser and providing shortcuts in a relevant and organized manner. In the case of webOS, a larger screen could possibly allow for a two-up card view, where you pick two cards to co-exist. For the most part, if I'm doing &lt;em&gt;actively&lt;/em&gt; doing more than two operations at once, I'm not really getting anything accomplished. I'd much rather drill through tasks and then send them away than see how many items I can manage to allow to coexist on my desktop before I lose my sanity. I'm frequently afflicted with an overabundance of tabs in my browser, but at least it presents me one at a time. I can read that page or bookmark it, and then I close it and then move on to the next tab. I'd never want to keep a window for Google or Facebook open at all times &amp;quot;just in case&amp;quot; a need for it arises.     &lt;br /&gt;Perhaps we've gotten too lazy with our implementation of drag and drop? If I could drag to a virtual target, such as the Start Menu or Spotlight, and then just start typing my desired target (iPhoto, Gmail, Tweetie, Windows Movie Maker, Facebook), which would subsequently launch in a way to deal with what I'm dragging, it would reduce steps and clutter. I want to execute tasks, not operate apps. Something our command line Unix friends know well. Quicksilver users, too.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.engadget.com/2010/01/21/editorial-10-outdated-elements-of-desktop-operating-systems/" target="_blank"&gt;Continue reading on Engadget...&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1768217034158754743?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1768217034158754743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1768217034158754743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1768217034158754743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1768217034158754743'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/editorial-10-outdated-elements-of.html' title='Editorial: 10 outdated elements of desktop operating systems'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4787490463664940581</id><published>2010-01-21T16:47:00.001+02:00</published><updated>2010-01-21T16:47:22.687+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>EU Approves $7.4 Billion Deal Between Oracle And Sun</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.techcrunch.com/2010/01/21/eu-sun-oracle/" target="_blank"&gt;TechCrunch&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 0px 0px 0px 5px; display: inline" align="right" src="http://cache0.techcrunch.com/wp-content/uploads/2010/01/oracle-sun.jpg" /&gt; It’s official: the European Commission has &lt;a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/10/40&amp;amp;format=HTML&amp;amp;aged=0&amp;amp;language=EN&amp;amp;guiLanguage=en"&gt;granted regulatory approval&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; for &lt;a href="http://www.oracle.com/"&gt;Oracle&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; to acquire &lt;a href="http://sun.com"&gt;Sun Microsystems&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; for &lt;a href="http://www.techcrunch.com/2009/04/20/oracle-to-buy-sun-hold-on-to-your-hats/"&gt;approximately $7.4 billion&lt;/a&gt;, without further conditions. In a statement released moments ago, Oracle says it expects unconditional approval from China and Russia as well and intends to close the transaction shortly.&lt;/p&gt;  &lt;p&gt;Oracle will host an &lt;a href="http://www.oracle.com/sun"&gt;all-day live event&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; for customers, partners, press and analysts on January 27th, 2010 at 9:00 AM Pacific time at its headquarters in Redwood Shores, California.&lt;/p&gt;  &lt;p&gt;Just in case you weren’t planning on attending or following the &lt;a href="http://www.crunchgear.com/2010/01/18/apples-january-27-invites-just-hit-inboxes-all-over-the-world/"&gt;major Apple event&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The approval comes after an in-depth &lt;a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/09/1271&amp;amp;format=HTML&amp;amp;aged=0&amp;amp;language=EN&amp;amp;guiLanguage=en"&gt;antitrust investigation&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; opened in September amid concerns that Oracle’s acquisition of MySQL would stifle competition in the database market. In August 2009, the Departement of Justice had already &lt;a href="http://www.techcrunchit.com/2009/08/20/department-of-justice-gives-oracle-sun-deal-the-ok/"&gt;given the deal green light&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;From the &lt;a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/10/40&amp;amp;format=HTML&amp;amp;aged=0&amp;amp;language=EN&amp;amp;guiLanguage=en"&gt;press release&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Commission’s in-depth investigation showed that although MySQL and Oracle compete in certain parts of the database market, they are not close competitors in others, such as the high-end segment.&lt;/p&gt;    &lt;p&gt;Given the open source nature of MySQL, the Commission also assessed Oracle’s ability and incentive to remove the constraint exerted by MySQL after the merger and the extent to which this constraint could, if necessary, be replaced by other actors on the database market.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;“I am now satisfied that competition and innovation will be preserved on all the markets concerned. Oracle’s acquisition of Sun has the potential to revitalize important assets and create new and innovative products,” said Neelie Kroes, the European antitrust commissioner.&lt;/p&gt;  &lt;p&gt;The database market is highly concentrated with the three main proprietary database vendors – Oracle, IBM and Microsoft – accounting for approximately 85% of the market in terms of revenue, the commission added.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4787490463664940581?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4787490463664940581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4787490463664940581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4787490463664940581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4787490463664940581'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/eu-approves-74-billion-deal-between.html' title='EU Approves $7.4 Billion Deal Between Oracle And Sun'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8980784972422165306</id><published>2010-01-21T00:24:00.001+02:00</published><updated>2010-01-21T00:24:58.545+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>Why NoSQL is Here to Stay...</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://10gen.tumblr.com/post/344597972/why-nosql-is-here-to-stay" target="_blank"&gt;10gen&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As an alternative to legacy / SQL systems, technologies that are scalable and can better handle non-partitioned data have emerged. It appears that the “NoSQL” moniker has stuck for what simply can be defined as non-relational operational databases. Non-relational operational databases, or operational data stores, tend to have two key attributes across the board. One is that they’re non-relational, so they’re not doing joins on the server. And second, they have light transactional semantics. So complex, long-running, serialized transactions are not part of any of these NoSQL products. Those two differences, put together, allow you to take a very different approach to how databases are created, which means you can make horizontally scalable databases — the kind that run across large clusters of machines.&lt;/p&gt;  &lt;p&gt;The list of NoSQL products is long. For the sake of this post, I want to clarify at the highest level how some technologies – namely MongoDB, CouchDB and Cassandra – differ within this NoSQL group. Today, there are two main themes emphasized in the NoSQL space –- scale (as in Google-level scale) and ease of development. I think there’s some general agreement that Cassandra type products deal with scale, while CouchDB and MongoDB deal with ease of development. That being said, you can’t completely separate these spaces because as the space matures, all of the products are going to scale very well. I guess the Holy Grail, or vision, for NoSQL is to provide solutions that make it easier for developers to build web applications or other applications that require a data store behind them.&lt;/p&gt;  &lt;p&gt;One reason why NoSQL, or some iteration, is here to stay is that the way computer architectures are heading, having systems that can run across multiple machines is going to be an absolute requirement. The limitations of vertical scaling are going to get worse and worse. You’re going to get new chips that have more and more CPU cores on them, but the speed isn’t much higher. And they’re going to be cheaper too so you can get more computers but you’re not going to be able to get one computer that’s really fast at any price. But you’re going to be able to get 1000 computers that are not terribly fast really cheaply. So the question is, at the data storage layer, can you leverage that? The traditional approach is no, not without a lot of manual effort.&amp;#160; But changing computer architectures, as well as the growth of cloud computing, necessitates a better set of database systems built to achieve scale. These new solutions are going to solve that and it’s going to be critical. We want a new set of tools for the data storage layer that work well with those cloud principles, which are things like infinite scalability, low to 0 configuration, and ease of development without friction.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8980784972422165306?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8980784972422165306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8980784972422165306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8980784972422165306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8980784972422165306'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/why-nosql-is-here-to-stay.html' title='Why NoSQL is Here to Stay...'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4595372942390461893</id><published>2010-01-18T22:12:00.001+02:00</published><updated>2010-01-18T22:12:10.659+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>What is new in jQuery 1.4. Features for a happy programming</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://pupunzi.open-lab.com/2010/01/15/what-is-new-in-jquery-1-4/" target="_blank"&gt;Matteo Bicocchi's Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The new release of jQuery has come out with many new features and code optimization (&lt;a href="http://api.jquery.com/category/version/1.4/"&gt;http://api.jquery.com/category/version/1.4/&lt;/a&gt;) to ease manipulate and traversing DOM elements.     &lt;br /&gt;The most impressive improvement is internal calls reduction to perform jQuery methods, with a significant increase in performance:&lt;/p&gt;  &lt;p&gt;&lt;img title="jquery 1.3.2 v. 1.4 performance" alt="jquery 1.3.2 v. 1.4 performance" src="http://farm5.static.flickr.com/4008/4271690739_c854c4bb83_o.png" width="555" height="416" /&gt;&lt;/p&gt;  &lt;p&gt;jquery 1.3.2 versus 1.4 performance&lt;/p&gt;  &lt;h5&gt;Lets take a closest look at some useful changes&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;h6&gt;&lt;em&gt;All setter method now accept a function as value:&lt;/em&gt;&lt;/h6&gt;      &lt;p&gt;&lt;code&gt;&lt;a href="http://api.jquery.com/css"&gt;.css()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/attr"&gt;.attr()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/val"&gt;.val()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/html"&gt;.html()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/text"&gt;.text()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/append"&gt;.append()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/prepend"&gt;.prepend()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/before"&gt;.before()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/after"&gt;.after()&lt;/a&gt;&lt;/code&gt;,&lt;code&gt;&lt;a href="http://api.jquery.com/replaceWith"&gt;.replaceWith()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/wrap"&gt;.wrap()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/wrapInner"&gt;.wrapInner()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/offset"&gt;.offset()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/addClass"&gt;.addClass()&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="http://api.jquery.com/removeClass"&gt;.removeClass()&lt;/a&gt;&lt;/code&gt;, and&lt;code&gt;&lt;a href="http://api.jquery.com/toggleClass"&gt;.toggleClass()&lt;/a&gt;.&lt;/code&gt;&lt;/p&gt;      &lt;blockquote&gt;$('div.demo-container').html(function() { var emph = '&lt;em&gt;' + $('p').length + ' paragraphs!&lt;/em&gt;'; return 'All new content for ' + emph + ''; });&lt;/blockquote&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h6&gt;&lt;strong&gt;Quick Element Construction:&lt;/strong&gt;&lt;em&gt;          &lt;br /&gt;&lt;/em&gt;&lt;/h6&gt;      &lt;p&gt;&lt;em&gt;When you create a single element with the jQuery function, you can now pass in an object to add attributes and events at the same time:&lt;/em&gt;&lt;/p&gt;      &lt;blockquote&gt;jQuery(&amp;quot;&amp;lt;div/&amp;gt;&amp;quot;, { id: &amp;quot;foo&amp;quot;, css: { height: &amp;quot;50px&amp;quot;, width: &amp;quot;50px&amp;quot;, color: &amp;quot;blue&amp;quot;, backgroundColor: &amp;quot;#ccc&amp;quot; }, click: function() { $(this).css(&amp;quot;backgroundColor&amp;quot;, &amp;quot;red&amp;quot;); } }).appendTo(&amp;quot;body&amp;quot;);&lt;/blockquote&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Event Multi-binding: &lt;/strong&gt;&lt;em&gt;       &lt;br /&gt;&lt;/em&gt;&lt;em&gt;You can now pass an object of many events to bind to an element:&lt;/em&gt;       &lt;blockquote&gt;$(&amp;quot;div.test&amp;quot;).bind({ click: function(){ $(this).addClass(&amp;quot;active&amp;quot;); }, mouseenter: function(){ $(this).addClass(&amp;quot;inside&amp;quot;); }, mouseleave: function(){ $(this).removeClass(&amp;quot;inside&amp;quot;); } });&lt;/blockquote&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;All Events Can Be Live Events:        &lt;br /&gt;&lt;/strong&gt;Has been introduced cross-browser support for &lt;strong&gt;change&lt;/strong&gt;, &lt;strong&gt;submit&lt;/strong&gt;, &lt;strong&gt;focusin&lt;/strong&gt;, &lt;strong&gt;focusout&lt;/strong&gt;, &lt;strong&gt;mouseenter&lt;/strong&gt;, and &lt;strong&gt;mouseleave&lt;/strong&gt; via the event delegation in &lt;strong&gt;.live()&lt;/strong&gt;. Note that if you need a live focus event, you should use focusin and focusout rather than focus and blur, because focus and blur do not bubble. Also, live() also now accepts a data object, just as bind() has:       &lt;blockquote&gt;$(&amp;quot;p&amp;quot;).live(&amp;quot;myCustomEvent&amp;quot;, function(e, myName, myValue){ $(this).text(&amp;quot;Hi there!&amp;quot;); $(&amp;quot;span&amp;quot;).stop().css(&amp;quot;opacity&amp;quot;, 1) .text(&amp;quot;myName = &amp;quot; + myName) .fadeIn(30).fadeOut(1000); }); $(&amp;quot;button&amp;quot;).click(function () { $(&amp;quot;p&amp;quot;).trigger(&amp;quot;myCustomEvent&amp;quot;); });&lt;/blockquote&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;before, after, replaceWith on disconnected nodes:        &lt;br /&gt;&lt;/strong&gt;You can now use before, after, and replaceWith on nodes that are not attached to the DOM. This allows you to do more complex manipulations before inserting the final structure into the DOM.       &lt;blockquote&gt;jQuery(&amp;quot; &amp;quot;).before(&amp;quot;Hello&amp;quot;).appendTo(&amp;quot;body&amp;quot;)&lt;/blockquote&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;.offset( coords | Function )        &lt;br /&gt;&lt;/strong&gt;It is now possible to set the offset of an element. Offset, like all setter methods, can now also accept a function as a second argument.       &lt;blockquote&gt;$(MyEl).offset({ top: 10, left: 30 });&lt;/blockquote&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;New .delay() method:        &lt;br /&gt;&lt;/strong&gt;The &lt;code&gt;.delay()&lt;/code&gt; method will delay any further elements in the queue for the specified number of milliseconds.       &lt;blockquote&gt;$(&amp;quot;div&amp;quot;).fadeIn().delay(4000).fadeOut();&lt;/blockquote&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And many other features are waiting to be used for our great new projects!&lt;/p&gt;  &lt;p&gt;I think that this release of jQuery is a great step forward for web based applications development and their usability, as well as key tool for stimulating creativity in the web world.&lt;/p&gt;  &lt;h5&gt;Here are some graphs that show the dramatic overhauls in performance:&lt;/h5&gt;  &lt;p&gt;&lt;img title="DOM manipulation" alt="DOM manipulation" src="http://farm5.static.flickr.com/4029/4271691471_1240afd5af.jpg" width="500" height="375" /&gt;&lt;/p&gt;  &lt;p&gt;DOM Insertion&lt;/p&gt;  &lt;p&gt;&lt;img title="Performance of .html()" alt="Performance of .html()" src="http://farm5.static.flickr.com/4037/4271691747_0cce01a33d.jpg" width="500" height="375" /&gt;&lt;/p&gt;  &lt;p&gt;Performance of .html()&lt;/p&gt;  &lt;p&gt;&lt;img title="Performance of .remove() and .empty()" alt="Performance of .remove() and .empty()" src="http://farm3.static.flickr.com/2693/4271690883_3224979b9b.jpg" width="500" height="375" /&gt;&lt;/p&gt;  &lt;p&gt;Performance of .remove() and .empty()&lt;/p&gt;  &lt;h6&gt;Don’t be afraid to update to 1.4! Backwards-Incompatible is really minimized:&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;.add()&lt;/strong&gt; no longer plainly concatenates the results together, the results are merged and then sorted in document order. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;.clone(true)&lt;/strong&gt; now copies events AND data instead of just events. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;jQuery.data(elem)&lt;/strong&gt; no longer returns an id, it returns the element’s object cache instead. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;jQuery()&lt;/strong&gt; (with no arguments) no longer converts to jQuery(document). &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;.val(“…”)&lt;/strong&gt; on an option or a checkbox is no longer ambiguous (it will always select by value now, not by text value). &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;jQuery.browser.version&lt;/strong&gt; now returns engine version. &lt;/li&gt;    &lt;li&gt;jQuery is now strict about incoming &lt;strong&gt;JSON&lt;/strong&gt; and throw an exception if we get malformed JSON. If you need to be able to evaluate malformed JSON that is valid JavaScript, you can make a text request and use eval() to evaluate the contents. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Param serialization&lt;/strong&gt; now happens in the PHP/Rails style by default. You can use jQuery.ajaxSettings.traditional = true; to use traditional parameter serialization. You can also set the behavior on a per-request basis by passing traditional: true to the jQuery.ajax method. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;jQuery.extend(true, …)&lt;/strong&gt; No longer extends non-plain-objects or arrays. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If an Ajax request is made without specifying a dataType&lt;/strong&gt; and it is returned as text/javascript, it will be executed. Previously, an explicit dataType was required. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Setting an Ajax request’s ifModified &lt;/strong&gt;now takes ETags into consideration. &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4595372942390461893?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4595372942390461893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4595372942390461893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4595372942390461893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4595372942390461893'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/what-is-new-in-jquery-14-features-for.html' title='What is new in jQuery 1.4. Features for a happy programming'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4029/4271691471_1240afd5af_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7846961133749087769</id><published>2010-01-18T12:12:00.001+02:00</published><updated>2010-01-18T12:15:24.065+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>With New Client, ICQ (Finally) Enters The Realtime Era</title><content type='html'>&lt;p&gt;by &lt;a href="http://www.techcrunch.com/author/robinw/"&gt;Robin Wauters&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 0px 0px 0px 10px; display: inline" align="right" src="http://cache0.techcrunch.com/wp-content/uploads/2010/01/icq71.png" /&gt; I had just turned sixteen when instant messaging client&lt;a href="http://www.icq.com"&gt;ICQ&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; was first released in November 1996. I started using the program a couple of months later, and will never be able to erase that annoying &lt;a href="http://www.youtube.com/watch?v=6iCPIUGnHQ8"&gt;‘uh oh’ sound&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt;from my memory. Like many others, I moved on from ICQ to other, more feature-packed communication services at the dawn of the new millennium and never really looked back.&lt;/p&gt;  &lt;p&gt;After a decade of barely remembering it exists, I reinstalled the ICQ client on my computer this morning.&lt;/p&gt;  &lt;p&gt;The reason isn’t nostalgia: more than 13 years after its first release, and nearly 12 years after AOL bought the company behind ICQ (Mirabilis) for a whopping $407 million, there is an &lt;a href="http://download.icq.com/download/"&gt;updated client&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; available for download that finally brings the product into the era of the realtime web and social networking craze.&lt;/p&gt;  &lt;p&gt;The question is: is it too little, too late?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.icq.com/download/icq/"&gt;ICQ7&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt;, the latest iteration of the Internet communication product, is now a desktop client that does much more than instant messaging, and in fact will compete with the likes of Seesmic and TweetDeck as well as web-based aggregators like Meebo and eBuddy.&lt;/p&gt;  &lt;p&gt;The new ICQ7 adds a familiar social layer to the messaging service, offering integration with Facebook and Twitter, as well as a number of content networks like YouTube and Flickr.&lt;/p&gt;  &lt;p&gt;New tabs brings streams from these networks to the messenger client, and you can interact with your friends and content from inside the client to boot. Furthermore, status updates shared on ICQ can now be pushed to a wide variety of networks, in essence replicating functionality we know from &lt;a href="http://ping.fm/"&gt;Ping.fm&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt; (recently acquired by Seesmic) and &lt;a href="http://hellotxt.com/"&gt;HelloTxT&lt;img src="http://i.ixnp.com/images/v6.19.0.1/t.gif" /&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The ICQ client, which is only available for Windows for now, has also been given a new lick of paint and is supposed to take less space and run much faster. The new version also includes a couple of new options aside from the social network integration, such as advanced picture-sharing functionality and the ability to extend your user profile.&lt;/p&gt;  &lt;p&gt;Frankly, I think all these features are long overdue, and I doubt there’s any compelling reason for people to switch back to ICQ if they’re already happily using alternative aggregators or content with updating each social network individually. That said, the additions are nice for existing ICQ users, of which there are currently 42 million worldwide according to the press release (although I don’t know a soul who’s still on it).&lt;/p&gt;  &lt;p&gt;ICQ has been rumored to be &lt;a href="http://www.techcrunch.com/2009/12/13/google-dst-make-play-for-aols-icq/"&gt;up for sale&lt;/a&gt; for a while now, and we heard Aol has been talking to Google, Facebook investor Digital Sky Technologies and &lt;a href="http://www.techcrunch.com/2009/11/21/aol-icq-naspers/"&gt;Naspers&lt;/a&gt; recently.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7846961133749087769?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7846961133749087769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7846961133749087769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7846961133749087769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7846961133749087769'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/with-new-client-icq-finally-enters.html' title='With New Client, ICQ (Finally) Enters The Realtime Era'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-9116962789311233831</id><published>2010-01-16T16:00:00.001+02:00</published><updated>2010-01-16T16:00:03.587+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='failure'/><title type='text'>LG turns on Microsoft, will make most phones Android</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.electronista.com/articles/10/01/13/lg.to.leave.win.mobile.a.minority/" target="_blank"&gt;Electronista&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.lgmobile.com" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="right" src="http://www.androphones.com/pictures/lg-android-phone-15.jpg" /&gt; LG&lt;/a&gt; today outlined a mobile strategy that marks a reversal of its approach from 2009. The Korean company expects to ship about 20 smartphones in 2010 but says that &amp;quot;more than half&amp;quot; of the smartphones it ships will run Android, such as the &lt;a href="http://macnn.com/rd/150195==http://www.electronista.com/articles/10/01/08/lgs.new.smartphones.and.4g.checked/"&gt;GT540&lt;/a&gt; &lt;em&gt;Electronista&lt;/em&gt; tried at CES. Only a minority will run either Windows Mobile or Linux.&lt;/p&gt;  &lt;p&gt;Most of the early mix will focus on entry-level smartphones for newcomers but should shift to more advanced phones by the end of the year, like the Intel-based GW990. LG hopes to have its first smartphone with more than 10 million sales within 2010.    &lt;br /&gt;The strategy is a symbolic if not major blow to Microsoft. The latter had negotiated an &lt;a href="http://macnn.com/rd/150196==http://www.electronista.com/articles/08/11/03/lg.and.ms.win.mobile.deal/"&gt;alliance with LG&lt;/a&gt; in 2008 that saw the two collaborating on smartphones. Most of LG's smartphones in 2009 were Windows Mobile devices and only one phone, the &lt;a href="http://macnn.com/rd/150197==http://www.electronista.com/reviews/lg-eve-and-gw620.html"&gt;Eve&lt;/a&gt;, used Google's platform. The apparent switch in preference follows temporary or permanent moves away from Windows Mobile by other companies such as HTC, Motorola, Palm and Samsung.     &lt;br /&gt;LG hasn't provided an explanation for its new leaning towards Android, but its low-cost or even free licensing, a finger-ready interface, and accurate web browsing all give it advantages over the Microsoft mobile OS. It also supports capacitive touch, though the Eve and GT540 both use resistive (pressure-based) touchscreens to lower their pricing.     &lt;br /&gt;The company has no specific estimate for its collective smartphone sales but expects its total phone sales to jump 20 percent to 140 million based partly on its new commitment to smartphone development. It created a smartphone division just last year and boosted its research staff for the category by 30 percent in the same period.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-9116962789311233831?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/9116962789311233831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=9116962789311233831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/9116962789311233831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/9116962789311233831'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/lg-turns-on-microsoft-will-make-most.html' title='LG turns on Microsoft, will make most phones Android'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1878999499106886906</id><published>2010-01-15T20:10:00.001+02:00</published><updated>2010-01-15T20:10:30.109+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='cdn'/><category scheme='http://www.blogger.com/atom/ns#' term='vzaar'/><title type='text'>Vzaar brings watermarking for videos</title><content type='html'>&lt;p&gt;&lt;a href="http://vzaar.us1.list-manage.com/track/click?u=adb83db57bd6710480abc71e0&amp;amp;id=234e64a0bd&amp;amp;e=383c21dcef"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" border="0" alt="watermark example image" align="right" src="http://gallery.mailchimp.com/adb83db57bd6710480abc71e0/images/watermarking.jpg" width="240" height="118" /&gt;&lt;/a&gt;Want to add a company logo to your videos or protect your content with a watermark? Well it is now possible to upload any image of your choice and we'll ensure that the video is watermarked with that logo. You will find the feature available in your Setting page. &lt;a href="http://vzaar.us1.list-manage.com/track/click?u=adb83db57bd6710480abc71e0&amp;amp;id=483db87f84&amp;amp;e=383c21dcef" target="_blank"&gt;Read more on watermarking&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1878999499106886906?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1878999499106886906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1878999499106886906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1878999499106886906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1878999499106886906'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/vzaar-brings-watermarking-for-videos.html' title='Vzaar brings watermarking for videos'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5869571102603580709</id><published>2010-01-14T18:13:00.001+02:00</published><updated>2010-01-14T18:13:32.004+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='bindows'/><title type='text'>Bindows goes 4.1</title><content type='html'>&lt;p&gt;Just got a message from Bindows guys, they just announced that beta for 4.1 available already:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This beta program will test several new features (key bundles, collapsible panel, threestate checkbox) and additional improvements. For more details: &lt;a href="http://www.bindows.net/documentation/Bindows41Beta.html"&gt;http://www.bindows.net/documentation/Bindows41Beta.html&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;You can download a free evaluation package at:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.bindows.net/download/download_beta.html"&gt;http://www.bindows.net/download/download_beta.html&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Customers with covered maintenance will receive the full retail version automatically.&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5869571102603580709?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5869571102603580709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5869571102603580709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5869571102603580709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5869571102603580709'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/bindows-goes-41.html' title='Bindows goes 4.1'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8678968381271931298</id><published>2010-01-14T14:32:00.001+02:00</published><updated>2010-01-14T14:32:14.557+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webinar'/><category scheme='http://www.blogger.com/atom/ns#' term='wso2'/><title type='text'>WSO2 Webinar: New Decade, New Portal</title><content type='html'>&lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;             &lt;tr&gt;               &lt;td&gt;                 &lt;p&gt;&lt;a href="https://www2.gotomeeting.com/register/478011698"&gt;&lt;img border="0" alt="Register Now" src="http://wso2.org/themes/wso2_v5/images/webinar-register.png" /&gt;&lt;/a&gt;                     &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;                       &lt;tr&gt;                         &lt;td&gt;                           &lt;p&gt;&lt;b&gt;Date:&lt;/b&gt;&lt;/p&gt;                         &lt;/td&gt;                          &lt;td&gt;                           &lt;p&gt;Thursday, January 21, 2010&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td&gt;                           &lt;p&gt;&lt;b&gt;Time:&lt;/b&gt;&lt;/p&gt;                         &lt;/td&gt;                          &lt;td&gt;                           &lt;p&gt;9:00 AM - 10:00 AM PST&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                     &lt;/tbody&gt;&lt;/table&gt;                 &lt;/p&gt;               &lt;/td&gt;                &lt;td width="60%"&gt;                 &lt;p&gt;&lt;a href="http://wso2.org/projects/gadget-server"&gt;The WSO2 Gadget Server&lt;/a&gt; is a new kind of Enterprise Portal that is designed around SOA and pure Web technologies. The Gadget Server is based around the Google Gadget Specification, a lightweight open specification for web and AJAX portlets. Gadgets are already heavily used on the Web with Google's own iGoogle personalized homepage used by millions, and hundreds of available gadgets freely available on the web. In particular, the Gadget specification is based on well-known languages (just XML, HTML and JavaScript), meaning that the Gadget Server is effective technology for Java, .NET and LAMP approaches alike.&lt;/p&gt;                  &lt;p&gt;In this webinar, &lt;a href="http://wso2.com/about/leadership/paul_fremantle/"&gt;&lt;strong&gt;Paul Fremantle&lt;/strong&gt;&lt;/a&gt;, CTO of WSO2, will be explaining the benefits of the Gadget approach to portals, and also showing how you can get started with building effective portals fast. Tune in to find out about the best portal for the next decade.&lt;/p&gt;               &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8678968381271931298?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8678968381271931298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8678968381271931298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8678968381271931298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8678968381271931298'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/wso2-webinar-new-decade-new-portal.html' title='WSO2 Webinar: New Decade, New Portal'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-249124420775444239</id><published>2010-01-13T12:19:00.001+02:00</published><updated>2010-01-13T12:19:28.064+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>Never heard about M/DB:X?</title><content type='html'>&lt;p&gt;M/DB:X is a simple, lightweight, yet powerful hybrid JSON/Native XML Database, designed for use in the Cloud. It is accessed via a secure HTTP interface and can act as a local or cloud-based service.&lt;/p&gt;  &lt;p&gt;M/DB:X stores XML documents as persistent XML DOMs and you can analyze, modify, transform and search the DOMs that you store in M/DB:X using a comprehensive suite of APIs that are based on and extend the standard XML DOM APIs.&lt;/p&gt;  &lt;p&gt;M/DB:X includes an XPath query API that allows you to perform sophisticated searches within your XML Documents.&lt;/p&gt;  &lt;p&gt;Additionally, M/DB:X Build 4 introduces an exciting and unique capability: it can accept JSON as its input and will transform this to a corresponding XML document which is then stored as an M/DB:X persistent DOM. M/DB:X can therefore act as a JSON database, but, once stored, your JSON objects can be manipulated, analysed and modified using the XML DOM APIs, and they can be searched using XPath. Any XML DOM that is stored in M/DB:X can also be outputted in JSON format. M/DB:X is therefore a hybrid JSON/XML database.&lt;/p&gt;  &lt;p&gt;M/DB:X deliberately keeps the handling of XML documents simple, so it does not require the use of XML Schemas or DTDs and it avoids the complexities related to namespaces. DOMs that you create in M/DB:X will be correctly-formed XML. Tags can be prefixed and namespace attributes can be added to your DOMs, but M/DB:X will treat them simply as standard tags and attributes. It is your responsibility to ensure that any namespace-related and schema-related validation is adhered to.&lt;/p&gt;  &lt;p&gt;You can find out more on M/Gateway &lt;a href="http://gradvs1.mgateway.com/main/index.html?path=mdbx" target="_blank"&gt;web site&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-249124420775444239?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/249124420775444239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=249124420775444239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/249124420775444239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/249124420775444239'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/never-heard-about-mdbx.html' title='Never heard about M/DB:X?'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6178673098878953766</id><published>2010-01-13T02:11:00.001+02:00</published><updated>2010-01-13T02:11:51.174+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>Json.NET Claims Significant Performance Improvements over Other .NET Serializers</title><content type='html'>&lt;p&gt;&lt;a href="http://james.newtonking.com/projects/json-net.aspx"&gt;JSon.NET&lt;/a&gt; is claiming to offer better serialization and deserialization performance than any of the major serializers in .NET including BinaryFormatter. It even performs well against the remarkably fast DataContractSerizalier.&lt;/p&gt;  &lt;p&gt;It is no shock that someone was able to beat the somewhat troubled WCF JSON implementation. Not only is it the only library in the benchmark that was slower at serialization than deserialization, its serialization actually takes 6 times longer than its deserialization. The real shocker from the benchmarks is that the BinaryFormatter is relatively slow. Most people would generally assume binary formats are faster, but in these benchmarks both JSON.NET and WCF’s DataContractSerializer are nearly twice as fast at deserialization and easily three times faster at serialization.&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://james.newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx" target="_blank"&gt;benchmark results&lt;/a&gt; are available on James Newton-King’s blog. Json.NET is being released on CodePlex under the MIT License.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6178673098878953766?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6178673098878953766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6178673098878953766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6178673098878953766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6178673098878953766'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/jsonnet-claims-significant-performance.html' title='Json.NET Claims Significant Performance Improvements over Other .NET Serializers'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1563060701152151149</id><published>2010-01-12T01:03:00.001+02:00</published><updated>2010-01-12T01:03:36.995+02:00</updated><title type='text'>My Recommendation: Stop Making Design Recommendations</title><content type='html'>&lt;div style="margin-bottom: 0.5em"&gt;via &lt;a class="f" href="http://johnnyholland.org"&gt;Johnny Holland - It's all about interaction&lt;/a&gt; by Jared Spool on 1/6/10&lt;/div&gt;  &lt;br style="display: none" /&gt;  &lt;p&gt;&lt;img alt="" src="http://johnnyholland.org/wp-content/uploads/recommendations.png" width="416" height="160" /&gt;     &lt;br /&gt;It’s easy to believe them when clients ask us, designers, to make recommendations. We want to believe they love us for our wisdom, knowledge, and experience. They want our advice. And we love giving them advice. It makes us feel smart—like they finally “get” what we’re about. They want to do the right thing and we know how to help them. So, why is it bad to make design recommendations? They want it. We want it. Why shouldn’t we make the recommendations they’re asking us to give?&lt;/p&gt;  &lt;p&gt;Simple: The recommendations don’t work. We end up looking bad. Clients lose faith in our skills. And the design doesn’t get better. Interestingly, in our research, the best teams don’t use recommendations. Instead they use an experimentation approach.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Patient, flexing his arm: “Doctor, doctor! It hurts when I do this.”&lt;/em&gt;       &lt;br /&gt;&lt;em&gt;Doctor, checking the patient: “Hmmm. Well, I recommend you stop doing that.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;The Easy Out&lt;/h2&gt;  &lt;p&gt;Making recommendations is an easy out. You say, &lt;em&gt;“Do this. Change that.”&lt;/em&gt; then wipe your hands clean of it. If they don’t do it, they’re obviously idiots. If they do, you’re brilliant. The best case scenario is they follow your great recommendation and it improves the design. But it turns out, that only one out of four possible outcomes.&lt;/p&gt;  &lt;div&gt;   &lt;table style="height: 200px" border="0" cellspacing="3" cellpadding="5" width="300"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td style="text-align: center" bgcolor="#b6d7a8" width="50%"&gt;They &lt;strong&gt;follow&lt;/strong&gt; your recommendation and the design &lt;strong&gt;improves&lt;/strong&gt;&lt;/td&gt;          &lt;td style="text-align: center" bgcolor="#ea9999" width="50%"&gt;They &lt;strong&gt;don’t follow&lt;/strong&gt; your recommendation and the design &lt;strong&gt;improves&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="text-align: center" bgcolor="#ea9999" width="50%"&gt;They &lt;strong&gt;follow&lt;/strong&gt; your recommendation and the design &lt;strong&gt;doesn’t improve &lt;/strong&gt;(or it degrades)&lt;/td&gt;          &lt;td style="text-align: center" bgcolor="#ffe599" width="50%"&gt;They &lt;strong&gt;don’t follow&lt;/strong&gt; your recommendation and the design &lt;strong&gt;doesn’t improve&lt;/strong&gt; (or it degrades)&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;What happens if they follow your recommendations and it doesn’t improve the design? What happens when they choose to not follow your recommendations and the design improves anyways? In either case, your future attempts to work with them becomes more difficult.&lt;/p&gt;  &lt;p&gt;Changes cost resources. If the design doesn’t improve, then the organization has spent energy, money, and time on something that didn’t pay off. Are we considering that when we put the recommendations on the table?&lt;/p&gt;  &lt;h2&gt;Playing “Bet Your Salary”&lt;/h2&gt;  &lt;p&gt;UX Researcher Extraordinaire, Meghan Ede, has a rule of thumb she applies to her research team’s recommendations. The team members can only submit a recommendation if they’d be ready to put a full year’s salary down as a guarantee that the design will show improvement.&lt;/p&gt;  &lt;p&gt;Would you be willing to do what Meghan does with your next set of recommendations? Go ahead: take out your checkbook. Write out a check for your take-home salary, after taxes. Pass it in with your recommendations, while telling them that, if the design doesn’t improve, they can cash the check. How confident are you feeling about those recommendations?&lt;/p&gt;  &lt;h2&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="" align="right" src="http://johnnyholland.org/wp-content/uploads/experiment.png" width="90" height="300" /&gt;The Experimentation Approach&lt;/h2&gt;  &lt;p&gt;What our preliminary research has found is a typical recommendation looks something like this: &lt;em&gt;“Users had trouble seeing the field labels. I recommend you put the label on the top of each field, instead of on the left.” &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;However, some teams are using a different approach: &lt;em&gt;“We’re seeing that our users have trouble with the field labels. We’d like to try an experiment and see if moving the labels to the top of each field makes an improvement.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;It’s a subtle difference. And it was the approach we saw most in use amongst those UX professionals who had a solid track record of consistently improving their designs. These professionals told us they refuse to make recommendations, but love to experiment.&lt;/p&gt;  &lt;h2&gt;Discussing the Meaning of the Observations&lt;/h2&gt;  &lt;p&gt;I found the process from these high-performance teams quite interesting. It starts with a team discussion of the underlying observations and what it means. The team explores all the different interpretations. &lt;em&gt;“Is it possible the users didn’t see the labels because they are too far away? If the font hard to read? Are the users not recognizing the terms? Were we measuring the wrong tasks?”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Then the team guides the conversation to other research that may fill in any holes, group discussion of alternatives, and measures to signal when the users’ behaviors change in the right direction. Often, this is followed by further research, then more discussion.&lt;/p&gt;  &lt;p&gt;This process is very different from the recommendation approach, where the local UX expert makes a pass at the design and puts together a list of things that need changing. Instead of putting the onus on someone to come up with winning solutions, the entire team pushes the design into improvement, one experiment at a time. Some changes will work as intended, others won’t, but with each change the team learns something.&lt;/p&gt;  &lt;p&gt;The result is that the entire team becomes better informed about the design they are building. No one person carries the burden of improving the design. Nobody has to be in the position of being all-knowing, always right. Changes are not seen as final, but as an ongoing process of improvement.&lt;/p&gt;  &lt;h2&gt;A Change in Mindset&lt;/h2&gt;  &lt;p&gt;Making the move away from recommendations is very hard. As I said, making recommendations is the easy way out, so it feels like the best path. But, in the long run, it’s a trap. The house odds are against you and eventually, it will all come crumbling down.&lt;/p&gt;  &lt;p&gt;Both experience and research are telling us that experimentation, where constant changing and measuring gives the team guidance and insight, is the approach that leads to long-term success and better designs.&lt;/p&gt;  &lt;p&gt;That’s my recommendation. I’m sticking with it.&lt;/p&gt; &lt;img alt="" src="http://feeds.feedburner.com/~r/JohnnyHolland/~4/0lQOf0Pem9k" width="1" height="1" /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1563060701152151149?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1563060701152151149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1563060701152151149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1563060701152151149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1563060701152151149'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/my-recommendation-stop-making-design.html' title='My Recommendation: Stop Making Design Recommendations'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4789229557168059782</id><published>2010-01-05T23:44:00.001+02:00</published><updated>2010-01-05T23:44:56.327+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='novell'/><title type='text'>Mono Introduces Experimental C# Language Extensions</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoq.com/news/2009/12/Mono-CSharp-Ex" target="_blank"&gt;InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Having caught with the recent advances in Microsoft’s C# 4, the Mono team is now playing with their own extensions to the language. The two features they are experimenting with are string interpolation and support for multiple return values.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tirania.org/blog/archive/2009/Dec-20.html" target="_blank"&gt;String interpolation&lt;/a&gt; is essentially a shortcut for the String.Format syntax. Instead of explicitly calling that function with a string containing numeric placeholders, the string is constructed using expressions in the placeholders. For example,&lt;/p&gt;  &lt;blockquote&gt;var a = 'Hello {name} how are you?'; &lt;/blockquote&gt;  &lt;p&gt;Note that in this example from Miguel de Icaza, the string is detonated by single quotes instead of double-quotes. Miguel is currently soliciting feedback on this feature from Python and Ruby users, as he expects them to be more familiar with any potential problems.&lt;/p&gt;  &lt;p&gt;The second language extension is &lt;a href="http://tirania.org/blog/archive/2009/Dec-23.html" target="_blank"&gt;support for tuples&lt;/a&gt;, also known as multiple return values. Given a function that returns a tuple, his patch would allow the function to be called and the tuple unpacked in the same line.&lt;/p&gt;  &lt;blockquote&gt;Tuple&amp;lt;string, string, string, int, string&amp;gt; ParseUri (string url);    &lt;br /&gt;(user, password, host, port, path) = ParseUri (url); &lt;/blockquote&gt;  &lt;p&gt;Creating and returning a tuple would look just like the assignment syntax. Miguel is also considering extending this to support slicing arrays, enumerations, and older forms of tuple such as DictionaryEntry.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4789229557168059782?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4789229557168059782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4789229557168059782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4789229557168059782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4789229557168059782'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/mono-introduces-experimental-c-language.html' title='Mono Introduces Experimental C# Language Extensions'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6000488593274845029</id><published>2010-01-05T22:30:00.001+02:00</published><updated>2010-01-05T22:30:15.691+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><title type='text'>Twitter vs. Telecom: Friend or Foe?</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blog.telephonyonline.com/unfiltered/2010/01/04/twitter-vs-telecom-friend-or-foe-video/" target="_blank"&gt;Telephony Online&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Interesting video today courtesy of &lt;a href="http://pulverblog.pulver.com/archives/009114.html"&gt;Jeff Pulver’s blog&lt;/a&gt; and his recent 140 Character conference, with Amdocs’ Chief Scientist, Tal Givoly discussing the role that traditional service providers can play on the social Web.&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It’s rare to see a good discussion of how these two industries will actually intersect rather than nonsense about how Web 2.0 will replace or kill telecom or mobile. Worth a viewing:&lt;/p&gt; &lt;embed src="http://blip.tv/play/AYG63TIC" type="application/x-shockwave-flash" width="480" height="300" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6000488593274845029?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6000488593274845029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6000488593274845029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6000488593274845029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6000488593274845029'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2010/01/twitter-vs-telecom-friend-or-foe.html' title='Twitter vs. Telecom: Friend or Foe?'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6007777514271693328</id><published>2009-12-29T21:40:00.001+02:00</published><updated>2009-12-29T21:40:04.323+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moonlight'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='novell'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Moonlight 2.0 Comes with a New Covenant</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoq.com/news/2009/12/Moonlight-2-Covenant" target="_blank"&gt;InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://go-mono.com/moonlight/"&gt;Moonlight 2.0&lt;/a&gt; (final version) comes with a promise from Microsoft to help the developing of Moonlight 3 and 4, and a new MS &lt;a href="http://www.microsoft.com/interop/msnovellcollab/newmoonlight.mspx"&gt;Covenant&lt;/a&gt; to end users protecting them from patent infringement by using Moonlight.&lt;/p&gt;  &lt;p&gt;Moonlight 2.0 Beta 1 was &lt;a href="http://www.infoq.com/news/2009/08/Moonlight-2.0-Beta-1"&gt;announced&lt;/a&gt; in August 2009. The beta phase ended, and the final Moonlight 2.0 is available for &lt;a href="http://go-mono.com/moonlight/"&gt;download&lt;/a&gt;. It runs in Firefox/Linux on Mono 2.6, &lt;a href="http://www.cairographics.org/"&gt;Cairo&lt;/a&gt; and &lt;a href="http://www.gtk.org/"&gt;Gtk+&lt;/a&gt;. The team is working on running it also on Chrome/Linux. Moonlight 2 currently consists of “142,000 lines of C/C++ code and 320,000 lines of C# code (125,000 lines of code came from Microsoft's open source Silverlight Controls)”, &lt;a href="http://tirania.org/blog/archive/2009/Dec-17.html"&gt;according to Miguel de Icaza&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft has extended their promised collaboration with Novell to further help developing Moonlight by providing the Silverlight 3 &amp;amp; 4 test suites. Moonlight 3 Beta will be available in the first quarter of 2010 and the final version during the fall of 2010. Moonlight 4 will follow shortly after that.&lt;/p&gt;  &lt;p&gt;Microsoft made an important and necessary step by extending the &lt;a href="http://www.microsoft.com/interop/msnovellcollab/newmoonlight.mspx"&gt;Patent Covenant to End Users of Moonlight&lt;/a&gt;. This covenant protects not only users using Moonlight from Novell, but users getting Moonlight from any Linux distributor and running it on any Linux flavor. This actually means that Moonlight can be included in commercial Linux distributions. &lt;a href="http://team.silverlight.net/announcement/moonlight-2-is-now-available/"&gt;One caveat&lt;/a&gt;: Microsoft Media Pack, containing the MP3, VC1, H.264 and AAC codecs, were licensed only to Novell because they were bought by Microsoft from the original owners and the right to use them could not be extended to everyone unless a hefty price was paid. Third party Linux distributors can use open source codecs (Ogg, Vorbis, Theora), can purchase a license from MPEG owners, sub-license from Microsoft, or simply write their own codecs. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6007777514271693328?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6007777514271693328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6007777514271693328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6007777514271693328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6007777514271693328'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/12/moonlight-20-comes-with-new-covenant.html' title='Moonlight 2.0 Comes with a New Covenant'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2446065819024905955</id><published>2009-12-23T21:55:00.001+02:00</published><updated>2009-12-23T21:57:55.291+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>XML Support in mySQL</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://nativexmldatabase.com/2009/12/23/xml-support-in-mysql/" target="_blank"&gt;Native XML Database&lt;/a&gt;, Matthias Nicola&lt;/p&gt;  &lt;p&gt;Considering that mySQL is a quite popular database for web applications, you may be surprised that its XML support is quite basic, compared to other databases. If you need a free database that handles XML well, &lt;a href="http://www-01.ibm.com/software/data/db2/express/"&gt;DB2 Express-C&lt;/a&gt; is the better choice, in my personal opinion. Before going into feature details, let’s start with a high level look at what is and isn’t available in mySQL version 5.1, 5.5 and 6.0.&lt;/p&gt;  &lt;p&gt;The XML support in mySQL is subject to the following restrictions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No XML data type, and hence no XML columns. &lt;/li&gt;    &lt;li&gt;No support for the &lt;a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=45499"&gt;SQL/XML&lt;/a&gt; or &lt;a href="http://www.w3.org/TR/xquery"&gt;XQuery&lt;/a&gt; standards. &lt;/li&gt;    &lt;li&gt;Only a subset of XPath is supported. &lt;/li&gt;    &lt;li&gt;No &lt;a href="http://www.w3.org/TR/2006/WD-xqupdate-20060711/"&gt;XQuery Update&lt;/a&gt; expressions. &lt;/li&gt;    &lt;li&gt;No &lt;a href="http://www.ibm.com/developerworks/db2/library/techarticle/dm-0611nicola/index.html?ca=drs-"&gt;XML indexes&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;No support for XML Schemas or document validation. &lt;/li&gt;    &lt;li&gt;No support for namespaces, such as default namespaces or namespace declarations in queries. &lt;/li&gt;    &lt;li&gt;Cannot extract XML fragments or XML attribute values from a document – can only extract atomic XML element values (text nodes). &lt;/li&gt;    &lt;li&gt;No built-in function for XSLT.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;These features are missing in mySQL but they are available in DB2 Express-C, for free.&lt;/p&gt;  &lt;p&gt;The XML support in mySQL includes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Storage of XML as text in LOB columns.      &lt;ul&gt;       &lt;li&gt;Basic support for XPath to extract atomic values from XML documents in text form (ExtractValue() ). &lt;/li&gt;        &lt;li&gt;An UpdateXML() function to replace XML elements within an XML document in text form.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Shredding of XML into a single table, but only if (a) the XML is flat and regular so that it trivially maps to a relational table, and (b) the XML tag names match the column names in the target table. Doesn’t strike me as very flexible. &lt;/li&gt;    &lt;li&gt;Converting XML to relational format      &lt;ul&gt;       &lt;li&gt;Exporting relational row sets to a fixed predefined XML format. &lt;/li&gt;        &lt;li&gt;Constructing custom XML from relational tables through the use of string concatenation functions or external libraries.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Let’s look at the LOB storage and the ExtractValue() and UpdateXML() functions in mySQL now. (I will discuss the shredding and XML construction features in mySQL in a subsequent blog post.)&lt;/p&gt;  &lt;h3&gt;Storage of XML as text in LOB columns&lt;/h3&gt;  &lt;p&gt;In mySQL you can use the LOAD_FILE() function to insert individual XML files into LOB columns. This approach treats the XML data as if it was arbitrary text. The XML structure is ignored and not checked for well-formedness. In DB2 you would use an &lt;a href="http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.xml.doc/doc/c0023404.html"&gt;XML column&lt;/a&gt; instead of a LOB column. DB2’s XML columns store XML natively (not as text), ensure well-formedness, and enable high XML query and update performance.&lt;/p&gt;  &lt;h3&gt;Basic XPath and the ExtractValue() function&lt;/h3&gt;  &lt;p&gt;The proprietary ExtractValue() function in mySQL takes two string arguments. The first is an XML document in text format, the second is the XPath expression that you want to evaluate. The function returns the first text node under each element that matches the XPath expression. For example:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ExtractValue('&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&amp;lt;c&amp;gt;5&amp;lt;/c&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;' , '/a/b/c')&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;returns the string “5″. If multiple matches are found then the values are returned in a single, space-delimited string:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ExtractValue('&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt;&amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt;&amp;lt;b&amp;gt;3&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;' , '//b')&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;returns the string “1 2 3″. The space-delimited output might lead to problems. For example, both of the following function calls return the same result string “Laptop Bag”:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ExtractValue('&amp;lt;order&amp;gt;&amp;lt;item&amp;gt;Laptop&amp;lt;/item&amp;gt;&amp;lt;item&amp;gt;Bag&amp;lt;/item&amp;gt;&amp;lt;/order&amp;gt;',&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; '/order/item' )ExtractValue('&amp;lt;order&amp;gt;&amp;lt;item&amp;gt;Laptop Bag&amp;lt;/item&amp;gt;&amp;lt;/order&amp;gt;',&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; '/order/item' )&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But, the result “Laptop Bag” doesn’t tell you whether an order contains two items (a laptop and a bag for it) or just a single item (a laptop bag). In DB2 you can use the &lt;a href="http://www.ibm.com/developerworks/db2/library/techarticle/dm-0708nicola/"&gt;SQL/XML function XMLTABLE&lt;/a&gt; to avoid such problems.&lt;/p&gt;  &lt;p&gt;Also note that ExtractValue() only extracts atomic values. It doesn’t let you extract XML fragments or attributes. Take the following as an example:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;ExtractValue('&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&amp;lt;c&amp;gt;5&amp;lt;/c&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;' , '/a/b')&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This expression returns an empty string, which may seem incorrect because the XPath data model defines the value of the element &amp;lt;b&amp;gt; in this example to be ‘5′. The empty result makes more sense when you know that mySQL always appends /text() to your XPath! mySQL evaluates /a/b/text() instead of /a/b. This also implies that you cannot extract and return attribute values!   &lt;br /&gt;In DB2 you can certainly choose and execute any of /a/b, /a/b/text(), and &lt;a&gt;/a/@b&lt;/a&gt;, to &lt;a href="http://www.ibm.com/developerworks/db2/library/techarticle/dm-0606nicola/"&gt;retrieve elements, document fragments, text nodes, or attribute values &lt;/a&gt;from your XML documents, in compliance with the XPath and SQL/XML standards.&lt;/p&gt;  &lt;h3&gt;The UpdateXML() function&lt;/h3&gt;  &lt;p&gt;The proprietary UpdateXML() function in mySQL takes three string arguments: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;an XML document &lt;/li&gt;    &lt;li&gt;an XPath expression &lt;/li&gt;    &lt;li&gt;a new value or XML fragment.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The returned value is the updated XML document string in which the element identified by the XPath has been replaced by the value or XML fragment in the 3rd argument.&lt;/p&gt;  &lt;p&gt;As far as I can tell, the UpdateXML() function has several limitations:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You cannot modify multiple occurrences of the same element within a document. &lt;/li&gt;    &lt;li&gt;The function does not check whether the replacement fragment or the final updated document are well-formed. Hence, you might inadvertently turn an existing well-formed document into a non-well-formed document! This can be disastrous and render the document useless, because it can then no longer be parsed and manipulated with XML functions. &lt;/li&gt;    &lt;li&gt;The function does not observe namespaces and may produce incorrect namespace bindings in the document.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The &lt;a href="http://www.ibm.com/developerworks/db2/library/techarticle/dm-0710nicola/"&gt;XML update capabilities in DB2&lt;/a&gt; follow the rich XQuery Update standard and are not subject to any of these restrictions. In particular, DB2 does not let you destroy your well-formed XML documents or the consistency of their namespaces. This is very important, I think.&lt;/p&gt;  &lt;p&gt;In my next post I will discuss the shredding and XML construction features in mySQL, as well as a conclusion. If you find that I have misrepresented anything, please do let me know and I will correct it.&lt;/p&gt;  &lt;p&gt;Merry Christmas!&lt;/p&gt;  &lt;blockquote&gt;   &lt;h6&gt;&lt;a href="http://www.databasejournal.com/features/mysql/article.php/3846526/Working-with-XML-Data-in-MySQL.htm"&gt;http://www.databasejournal.com/features/mysql/article.php/3846526/Working-with-XML-Data-in-MySQL.htm&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://dev.mysql.com/tech-resources/articles/xml-in-mysql5.1-6.0.html"&gt;http://dev.mysql.com/tech-resources/articles/xml-in-mysql5.1-6.0.html&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/xml-functions.html&lt;/a&gt;&lt;/h6&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2446065819024905955?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2446065819024905955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2446065819024905955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2446065819024905955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2446065819024905955'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/12/xml-support-in-mysql.html' title='XML Support in mySQL'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2283469871785625806</id><published>2009-12-23T14:22:00.001+02:00</published><updated>2009-12-23T14:22:30.500+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='qooxdoo'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>RIA development framework Qooxdoo debuts</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoworld.com/d/developer-world/ria-development-framework-qooxdoo-debuts-297" target="_blank"&gt;InfoWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The open source qooxdoo (pronounced&amp;#160; &amp;quot;ku:ksdu&amp;quot;) &lt;a href="http://www.infoworld.com/d/developer-world"&gt;software development&lt;/a&gt; framework, which leverages object-oriented &lt;a href="http://www.infoworld.com/d/developer-world/eich-javascript-getting-faster-could-kill-flash-251"&gt;JavaScript&lt;/a&gt; and enables developers to build rich Internet applications, became available earlier this month in a 1.0 version, developers of the framework said.&lt;/p&gt;  &lt;p&gt;Developers can build cross-browser applications without requiring knowledge of HTML, CSS, or DOM. Qooxdoo features a platform-independent development tool chain, a GUI toolkit, and a client-server communication layer.&lt;/p&gt;  &lt;p&gt;The class-based framework is based on namespaces and has been in development for almost five years. Qooxdoo is backed by a professional development team, an open source community, and Web hosting firm 1&amp;amp;1.&lt;/p&gt;  &lt;p&gt;&amp;quot;Because we don't mess with existing, native types we don't have problems [integrating with] other libraries or existing user code,&amp;quot;&amp;#160; said Jens Lautenbacher, head of development technology &amp;amp; architecture for 1&amp;amp;1 in Germany, in an e-mail.&lt;/p&gt;  &lt;p&gt;&amp;quot;We want to say: Because of the usage of namespaces (instead of putting all the classes and types into a flat global namespace), and because we don't extend native types as a result of both, we make it easy to integrate with other libraries,&amp;quot; Lautenbacher said. &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Developers can leverage object-oriented JavaScript in a very elegant yet familiar way, according to a statement from developers of qooxdoo. Applications run on major browsers including &lt;a href="http://www.infoworld.com/t/Internet Explorer (IE)"&gt;Internet Explorer&lt;/a&gt;, &lt;a href="http://www.infoworld.com/t/firefox"&gt;Firefox&lt;/a&gt;, &lt;a href="http://www.infoworld.com/t/Safari"&gt;Safari&lt;/a&gt;, &lt;a href="http://www.infoworld.com/t/opera"&gt;Opera&lt;/a&gt;, and &lt;a href="http://www.infoworld.com/t/Google Chrome"&gt;Chrome&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Also featured are a set of widgets, layout managers, and theming capabilities. The framework comes equipped with a tool chain that covers code validation, compiling, linking, compression, and optimization&lt;/p&gt;  &lt;p&gt;&lt;a href="http://qooxdoo.org/download"&gt;Download options&lt;/a&gt; for qooxdoo are available. It is offered under an LPGL/EPL dual license.&lt;/p&gt;  &lt;p&gt;Although qooxdoo is a client-side technology and server-agnostic, the project does include implementations of RPC servers for Java, PHP, Perl, and Python to demonstrate advanced client-server communication, qooxdoo project&amp;#160; developers said.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2283469871785625806?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2283469871785625806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2283469871785625806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2283469871785625806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2283469871785625806'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/12/ria-development-framework-qooxdoo.html' title='RIA development framework Qooxdoo debuts'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2305351273456019323</id><published>2009-12-23T14:19:00.001+02:00</published><updated>2009-12-23T14:19:10.974+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patents'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft loses appeal on Word injunction</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.theregister.co.uk/2009/12/22/microsoft_loses_word_patent_appeal/" target="_blank"&gt;The Register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Microsoft must remove custom-XML editing from Word or face a permanent injunction barring the company from selling recent versions of the software, a federal appeals court on Tuesday ruled.&lt;/p&gt;  &lt;p&gt;The US Court of Appeals for the Federal Circuit affirmed a $290m patent infringement judgment against Microsoft, won by Toronto-based software company i4i in Texas. It alleges Microsoft's software infringed on its patents that cover extensible markup language technology.&lt;/p&gt;  &lt;p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/p&gt;  &lt;p&gt;Microsoft has been given until January 11 to remove the custom XML functionality — five months from the original August 2009 ruling, according to &lt;cite&gt;&lt;a href="http://www.bloomberg.com/apps/news?pid=20601127&amp;amp;sid=aATD6NuuPUDQ"&gt;Bloomberg&lt;/a&gt;&lt;/cite&gt;.&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.theregister.co.uk/2009/08/12/texas_oulaws_word/"&gt;injunction&lt;/a&gt; bars Microsoft from selling the 2003 and 2007 versions of Word inside the US after the injunction deadline and will require the company to remove the XML technology from its upcoming Office 2010 suite. Microsoft can continue to provide technical support to current Word users, but it's barred from telling new users how to use the custom XML editor.&lt;/p&gt;  &lt;p&gt;Microsoft director of public affairs, Kevin Kutz, told us via email that the company is &amp;quot;moving quickly&amp;quot; to comply with the injunction.&lt;/p&gt;  &lt;p&gt;&amp;quot;With respect to Microsoft Word 2007 and Microsoft Office 2007, we have been preparing for this possibility since the District Court issued its injunction in August 2009 and have put the wheels into motion to remove this little-used feature from these products,&amp;quot; Kutz wrote.&lt;/p&gt;  &lt;p&gt;He said Microsoft expects to have copies of Word 2007 and Office 2007 with the XML feature removed in time for the injunction date. Kutz added that beta versions of Word 2010 and Office 2010 that are available now do not contain the technology covered by the injunction.&lt;/p&gt;  &lt;p&gt;&amp;quot;While we are moving quickly to address the injunction issue, we are also considering our legal options, which could include a request for a rehearing by the Federal Circuit Court of Appeals en banc or a request for a writ of centiorari from the US Supreme Court,&amp;quot; Kutz said.&lt;/p&gt;  &lt;p&gt;Microsoft has previously acknowledged the company had been in contact with i4i about the XML technology, but said there was no evidence proving anyone at the company actually had read the patent in question. i4i &lt;a href="http://www.theregister.co.uk/2009/09/09/microsoft_destroyed_i4i_filing/"&gt;has claimed&lt;/a&gt; the infringement was willful and that Microsoft deliberately planned to destroy its business while publicly declaring the two were allies.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2305351273456019323?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2305351273456019323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2305351273456019323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2305351273456019323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2305351273456019323'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/12/microsoft-loses-appeal-on-word.html' title='Microsoft loses appeal on Word injunction'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1366402817854064713</id><published>2009-12-04T22:14:00.001+02:00</published><updated>2009-12-04T22:14:32.114+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operating Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='symbian'/><title type='text'>Nokia plans, previews Symbian UI overhaul</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blog.telephonyonline.com/unfiltered/2009/12/03/nokia-plans-previews-symbian-ui-overhaul/" target="_blank"&gt;Telephony Online&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;At Nokia’s (&lt;a href="http://www.google.com/finance?q=NYSE%3ANOK"&gt;NYSE:NOK&lt;/a&gt;) &lt;a href="http://www.nokia.com/press/press-releases/showpressrelease?newsid=1358666"&gt;Capital Markets Day&lt;/a&gt; yesterday, the handset maker reiterated its commitment to Symbian, but promised a makeover to the user experience, which &lt;a href="http://www.marketwatch.com/story/nokia-promises-to-put-the-magic-back-into-symbian-2009-12-02"&gt;many think &lt;/a&gt;has been hindered by a clumsy user interface. Rather than start from scratch or phase out Symbian &lt;a href="http://telephonyonline.com/wireless/news/symbian-foundation-non-profit-0408/index.html"&gt;in favor of Maemo&lt;/a&gt;, Nokia CEO Olli-Pekka Kallasvuo promised to take the &lt;a href="http://telephonyonline.com/wireless/news/symbian-foundation-non-profit-0408/index.html"&gt;Symbian&lt;/a&gt; UI to “a new level.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.telephonyonline.com/unfiltered/wp-content/uploads/2009/12/symbian3-features.jpg"&gt;&lt;img alt="symbian3-features.jpg" src="http://blog.telephonyonline.com/unfiltered/wp-content/uploads/2009/12/symbian3-features.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;“As an operating system, Symbian has reach and flexibility like no other platform, and we have measures in place to push smartphones down to new price points globally, while growing margins,” Kallasvuo said in a statement. “I see great opportunity for Nokia to capture new growth in our industry, by creating what we expect to be the world’s biggest platform for services on the mobile.”&lt;/p&gt;  &lt;p&gt;In addition to &lt;a href="http://telephonyonline.com/wireless/news/nokia-services-combo-0122/index.html"&gt;new hardware&lt;/a&gt; of the touch and/or Qwerty persuasion, Nokia plans to reduce clutter on the UI, add multi-touch input and large capacitive displays, simplify functions on the phone and the steps required to activate them, improve the browser and make the overall UI three times faster than its current high-end Symbian products.&lt;/p&gt;  &lt;p&gt;Nokia also promised &lt;a href="http://blog.telephonyonline.com/unfiltered/2009/07/16/symbian-launches-open-development-program/"&gt;its third-party developers &lt;/a&gt;better tools for application and content creation for its Ovi storefront, as well as announced plans to &lt;a href="http://telephonyonline.com/wireless/news/nokia-layoffs-ovi-services-0428/index.html"&gt;scale up its services business &lt;/a&gt;through geographical expansion and partnerships with more operators.&lt;/p&gt;  &lt;p&gt;Nokia CFO Timo Ihamuotila also told investors he expects mobile device volumes to be up approximately 10% across the industry in 2010, but that &lt;a href="http://telephonyonline.com/3g4g/news/nokia-second-quarter-earnings-0716/index.html"&gt;Nokia’s market share&lt;/a&gt; will remain flat at about 38% between this year and next.&lt;/p&gt;  &lt;p&gt;Engadget posted a &lt;a href="http://www.engadget.com/2009/12/03/nokia-offers-sneak-peak-at-improved-symbian-user-experience/"&gt;video of the presentation&lt;/a&gt; and &lt;a href="http://www.engadget.com/photos/nokia-offers-sneak-peak-at-improved-2010-symbian-user-interface/2501544"&gt;several pictures of the new UI&lt;/a&gt;. What do you think – will a UI overhaul be enough or should the vendor ditch Symbian and start from scratch?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1366402817854064713?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1366402817854064713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1366402817854064713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1366402817854064713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1366402817854064713'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/12/nokia-plans-previews-symbian-ui.html' title='Nokia plans, previews Symbian UI overhaul'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8145958711711004589</id><published>2009-12-04T19:17:00.001+02:00</published><updated>2009-12-04T19:17:34.239+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aol'/><title type='text'>AOL Unveils New Brand, New Logos</title><content type='html'>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" border="0" align="right" src="http://static.businessinsider.com/~~/f?id=4b09fbef00000000007c926a&amp;amp;maxX=308&amp;amp;maxY=230" /&gt; AOL unveiled a &amp;quot;new brand identity&amp;quot; Sunday night.&lt;/p&gt;  &lt;p&gt;Instead of AOL, it's &amp;quot;Aol.&amp;quot; -- period included. There are also six new logos -- from a goldfish to a paint swirl. A spokesperson says more are coming.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.businessinsider.com/aol-unveils-a-new-brand-identity-2009-11/aol-or-aols-new-logos-1"&gt;Click through to see the logos &amp;gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;All of it is the result of work with brand consultant Wolff Olins, which AOL hired over the summer.&lt;/p&gt;  &lt;p&gt;AOL is spinning off from parent company Time Warner (TWX) this December. Last week, it told employees it needs 2,500 of them to &lt;a href="http://www.businessinsider.com/aols-huge-day-getting-smaller-2009-11" target="_blank"&gt;volunteer for layoffs&lt;/a&gt;. The company plans to turn itself into a next generation media company, building on the 80 or so blogs and content sites it already runs.&lt;/p&gt;  &lt;p&gt;Here's CEO Tim Armstrong's canned quote from the press release:&lt;/p&gt;  &lt;p&gt;“Our new identity is uniquely dynamic. Our business is focused on creating world-class experiences for consumers and AOL is centered on creative and talented people - employees, partners, and advertisers. We have a clear strategy that we are passionate about and we plan on standing behind the AOL brand as we take the company into the next decade.”&lt;/p&gt;  &lt;p&gt;Read more at &lt;a href="http://www.businessinsider.com/aol-unveils-a-new-brand-identity-2009-11" target="_blank"&gt;Business Insider…&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8145958711711004589?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8145958711711004589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8145958711711004589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8145958711711004589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8145958711711004589'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/12/aol-unveils-new-brand-new-logos.html' title='AOL Unveils New Brand, New Logos'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7010444768512376120</id><published>2009-11-28T00:27:00.001+02:00</published><updated>2009-11-28T00:27:22.244+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Drawing a diagonal line-filled rectangle with ActionScript</title><content type='html'>&lt;p&gt; Source: &lt;a href="http://www.as3dtk.com/?p=364" target="_blank"&gt;The Designer Toolkit blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Diagonals Class is a simple drawing class for constructing a rectangle filled with parallel diagonal lines. The class can serve as a border or as a textured background.&lt;/p&gt;  &lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&lt;br /&gt;			id="fm_diagonals_2049431122"&lt;br /&gt;			align="left"&lt;br /&gt;			class="flashmovie"&lt;br /&gt;			width="490"&lt;br /&gt;			height="80"&gt;  	&lt;param name="movie" value="http://www.as3dtk.com/swf/diagonals.swf" /&gt; &lt;/object&gt;&lt;/p&gt;  &lt;p&gt;In addition to specifying the dimensions of the filled rectangle, additional parameters include line weight, color and transparency, line angle and spacing.&amp;#160; Finally, a line of code – currently commented out – causes the alpha of each diagonal to vary randomly when uncommented.&lt;/p&gt;  &lt;p&gt;Download files: &lt;a href="http://www.as3dtk.com/wp-content/plugins/download-monitor/download.php?id=33"&gt;Diagonals.zip (9)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7010444768512376120?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7010444768512376120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7010444768512376120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7010444768512376120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7010444768512376120'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/drawing-diagonal-line-filled-rectangle.html' title='Drawing a diagonal line-filled rectangle with ActionScript'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8075197229183404184</id><published>2009-11-20T20:19:00.002+02:00</published><updated>2009-11-20T20:22:08.000+02:00</updated><title type='text'>jquery.couch.js Cheatsheet</title><content type='html'>&lt;p&gt;Was looking into using CouchDb with jQuery and managed to find little cheatsheet at &lt;a href="http://maraksquires.com/articles/2009/10/22/jquery-couch-js-cheatsheet/" target="_blank"&gt;Marak Squires blog&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;1. Create Database&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;var dbname = "myDatabase";&lt;br /&gt;$.couch.db(dbname).create();&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;2. Create Document&lt;/p&gt;&lt;blockquote&gt; &lt;pre&gt;var blah = new Object();&lt;br /&gt;blah.x = "asd";&lt;br /&gt;blah.y = "yst";&lt;br /&gt;$.couch.db(dbname).saveDoc(blah);&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;3. List all documents&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;$.couch.db(dbname).allDocs();&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;4. Open Document&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;var doc = "d7356006e5d8fa592bc95b039b3c434f";&lt;br /&gt;$.couch.db(dbname).openDoc(doc);&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Question, obviously, is where i can find this jquery.couch.js file? Two ways, one is actually to look into your CouchDB web console (remember this _utils place?), if you will do ‘View source’ on html page loaded, you will find it there, otherwise, another method, you can download whole thing from SVN &lt;a href="http://svn.apache.org/repos/asf/couchdb/trunk"&gt;http://svn.apache.org/repos/asf/couchdb/trunk&lt;/a&gt;&lt;/p&gt;&lt;p&gt;When you’ve got it, you can find files in {your_svn_files_on_disk}/share/www/script/ folder. Technically speaking you can just include files from SVN directly, like:&lt;span class="Apple-style-span" style="color: rgb(255, 255, 255); "&gt;&amp;lt;script type=”text/javascript” src=”&lt;a title="http://svn.apache.org/repos/asf/couchdb/trunk/share/www/script/jquery.couch.js" href="http://svn.apache.org/repos/asf/couchdb/trunk/share/www/script/jquery.couch.js"&gt;http://svn.apache.org/repos/asf/couchdb/trunk/share/www/script/jquery.couch.js&lt;/a&gt;”&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8075197229183404184?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8075197229183404184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8075197229183404184' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8075197229183404184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8075197229183404184'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/jquerycouchjs-cheatsheet.html' title='jquery.couch.js Cheatsheet'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1501804525431713876</id><published>2009-11-20T20:07:00.001+02:00</published><updated>2009-11-20T20:07:59.664+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='air'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Adobe AIR2, Styling scrollbar</title><content type='html'>&lt;p&gt;Looking for little hint on styling your scroll bars within AIR2 application, here are stylesheet elements to look after: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;::-webkit-scrollbar,      &lt;br /&gt;::-webkit-scrollbar-button,       &lt;br /&gt;::-webkit-scrollbar-corner {&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;::-webkit-scrollbar-track:vertical {}       &lt;br /&gt;::-webkit-scrollbar-track:vertical:disabled {}       &lt;br /&gt;::-webkit-scrollbar-track:horizontal {}       &lt;br /&gt;::-webkit-scrollbar-track:horizontal:disabled {}       &lt;br /&gt;::-webkit-scrollbar-button {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:start {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:start:hover {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:start:active {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:start:disabled {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:end {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:end:hover {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:end:active {}       &lt;br /&gt;::-webkit-scrollbar-button:vertical:end:disabled {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:start {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:start:hover {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:start:active {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:start:disabled {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:end {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:end:hover {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:end:active {}       &lt;br /&gt;::-webkit-scrollbar-button:horizontal:end:disabled {}       &lt;br /&gt;::-webkit-scrollbar-thumb:vertical {}       &lt;br /&gt;::-webkit-scrollbar-thumb:vertical:hover {}       &lt;br /&gt;::-webkit-scrollbar-thumb:vertical:active {}       &lt;br /&gt;::-webkit-scrollbar-thumb:horizontal {}       &lt;br /&gt;::-webkit-scrollbar-thumb:horizontal:hover {}       &lt;br /&gt;::-webkit-scrollbar-thumb:horizontal:active {}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hope this helps.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1501804525431713876?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1501804525431713876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1501804525431713876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1501804525431713876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1501804525431713876'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/adobe-air2-styling-scrollbar.html' title='Adobe AIR2, Styling scrollbar'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5468310442057762976</id><published>2009-11-18T21:28:00.001+02:00</published><updated>2009-11-18T21:28:32.080+02:00</updated><title type='text'>Silverlight 4 Beta is out</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://silverlight.net/getstarted/silverlight-4-beta/" target="_blank"&gt;Silverlight.net&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On November 18, 2009, at the Professional Developer’s Conference in Los Angeles, Microsoft Corp. unveiled a Beta version Silverlight 4. This latest version delivers hundreds of features and controls that, when combined with the continued innovation in Microsoft’s world-class tools for designers and developers — Microsoft Visual Studio and Microsoft Expression Blend – present the leading edge in rapid, powerful application development. With printing support, rich reporting and charting, and integration with back-end systems and server products including Microsoft SharePoint, Silverlight is ready for business.&lt;/p&gt;  &lt;h4&gt;What’s New in Silverlight 4 Beta?&lt;/h4&gt;  &lt;p&gt;Silverlight 4 delivers a full suite of powerful capabilities to business application developers, bringing the best-of-breed .NET platform to browser-based experiences. Silverlight provides an ideal platform for developing and deploying modern business applications for both customer facing and staff-facing applications.&lt;/p&gt;  &lt;h5&gt;Business Application Development&lt;/h5&gt;  &lt;p&gt;Silverlight 4 consolidates its position as the natural choice for building business applications on the Web:&lt;/p&gt;  &lt;h6&gt;New Features for Application Developers&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;Comprehensive printing support enabling hardcopy reports and documents as well as a virtual print view, independent of screen content. &lt;/li&gt;    &lt;li&gt;A full set of forms controls with over 60 customizable, styleable components. New controls include RichTextbox with hyperlinks, images and editing and Masked textbox for complex field validation. Enhanced controls include DataGrid with sortable/resizeable columns and copy/paste rows. &lt;/li&gt;    &lt;li&gt;WCF RIA Services introduces enterprise class networking and data access for building n-tier applications including transactions, paging of data, WCF and HTTP enhancements. &lt;/li&gt;    &lt;li&gt;Localization enhancements with Bi-Directional text, Right-to-Left support and complex scripts such as Arabic, Hebrew and Thai and 30 new languages. &lt;/li&gt;    &lt;li&gt;The .NET Common Runtime (CLR) now enables the same compiled code to be run on the desktop and Silverlight without change. &lt;/li&gt;    &lt;li&gt;Enhanced databinding support increases flexibility and productivity through data grouping/editing and string formatting within bindings. &lt;/li&gt;    &lt;li&gt;Managed Extensibility Framework supports building large composite applications. &lt;/li&gt;    &lt;li&gt;Exclusive tooling support for Silverlight, new in Visual Studio 2010. Including a full editable design surface, drag &amp;amp; drop data-binding, automatically bound controls, datasource selection, integration with Expression Blend styling resources, Silverlight project support and full IntelliSense.&lt;/li&gt; &lt;/ul&gt;  &lt;h6&gt;Developer tools&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;Fully editable design surface for drawing out controls and layouts. &lt;/li&gt;    &lt;li&gt;Rich property grid and new editors for values &lt;/li&gt;    &lt;li&gt;Drag and drop support for databinding and automatically creating bound controls such as listbox, datagrid. New datasources window and picker. &lt;/li&gt;    &lt;li&gt;Easy to pick styles and resources to make a good looking application based on designer resources built in Expression Blend. &lt;/li&gt;    &lt;li&gt;Built in project support for Silverlight applications &lt;/li&gt;    &lt;li&gt;Editor with full intellisense for XAML and C# and VB languages.&lt;/li&gt; &lt;/ul&gt;  &lt;h6&gt;Empowering richer, more interactive experiences&lt;/h6&gt;  &lt;p&gt;Silverlight is already in use as a comprehensive platform for building rich experiences both for application and pure media scenarios including HD quality, interactive video through Smooth Streaming. Silverlight 4 introduces additional capabilities to enable creation of ever more rich, appealing high-performance interactive experiences and innovative media experiences:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fluid interface enhancements advance application usability through animation effects. &lt;/li&gt;    &lt;li&gt;Webcam and microphone to allow sharing of video and audio for instance for chat or customer service applications. &lt;/li&gt;    &lt;li&gt;Audio and video local recording capabilities capture RAW video without requiring server interaction, enabling a wide range of end-user interaction and communication scenarios for example video conferencing. &lt;/li&gt;    &lt;li&gt;Bring data in to your application with features such as copy and paste or drag and drop. &lt;/li&gt;    &lt;li&gt;Long lists can now be scrolled effortlessly with the mouse wheel. &lt;/li&gt;    &lt;li&gt;Support conventional desktop interaction models through new features such as right-click context menu. &lt;/li&gt;    &lt;li&gt;Support for Google’s Chrome browser. &lt;/li&gt;    &lt;li&gt;Performance optimizations mean Silverlight 4 applications start quicker and run 200% faster than the equivalent Silverlight 3 application. &lt;/li&gt;    &lt;li&gt;Deep Zoom enhancements include hardware acceleration to support larger datasets and faster animation. &lt;/li&gt;    &lt;li&gt;Multi-touch support enables a range of gestures and touch interactions to be integrated into user experiences. &lt;/li&gt;    &lt;li&gt;Multicast networking, enabling Enterprises to lower the cost of streaming broadcast events such as company meetings and training, interoperating seamlessly with existing Windows Media Server streaming infrastructure. &lt;/li&gt;    &lt;li&gt;Content protection for H.264 media through Silverlight DRM powered by PlayReady. &lt;/li&gt;    &lt;li&gt;Output protection for audio/video streams allowing content owners or distributors to ensure protected content is only viewed through a secure video connection.&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Move beyond the browser&lt;/h5&gt;  &lt;p&gt;Silverlight 3 pioneered the delivery of a new class of Rich Internet Applications to work on the desktop without additional code or runtimes. Silverlight 4 extends this capability:&lt;/p&gt;  &lt;h6&gt;For Sandboxed applications&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;Place HTML within your application enabling much tighter integration with content from web servers such as email, help and reports. &lt;/li&gt;    &lt;li&gt;Provide support for ‘toast’ notification windows, allowing applications to communicate status or change information while the user is working on another application through a popup window on the taskbar. &lt;/li&gt;    &lt;li&gt;Offline DRM, extending the existing Silverlight DRM powered by PlayReady technology to work offline. Protected content can be delivered with an embedded license so that users can go offline immediately and start enjoying their content. &lt;/li&gt;    &lt;li&gt;Control over aspects of UI include window settings such as start position, size and chrome.&lt;/li&gt; &lt;/ul&gt;  &lt;h6&gt;For Trusted applications&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;Read and write files to the user’s MyDocuments, MyMusic, MyPictures and MyVideos folder (or equivalent for non-windows platforms) for example storage of media files and taking local copies of reports. &lt;/li&gt;    &lt;li&gt;Run other desktop programs such as Office, for example requesting Outlook to send an email, send a report to Word or data to Excel. &lt;/li&gt;    &lt;li&gt;COM automation enables access to devices and other system capabilities by calling into application components; for instance to access a USB security card reader. &lt;/li&gt;    &lt;li&gt;A new user interface for requesting application privileges access outside the standard Silverlight sandbox. &lt;/li&gt;    &lt;li&gt;Group policy objects allow organizations to tailor which applications may have elevated trust. &lt;/li&gt;    &lt;li&gt;Full keyboard support in fullscreen mode richer kiosk and media applications. &lt;/li&gt;    &lt;li&gt;Enhancements to networking allow cross-domain access without a security policy file.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To learn more about these features, visit the &lt;a href="http://www.microsoftpdc.com"&gt;PDC09&lt;/a&gt; site to view sessions from the conference&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5468310442057762976?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5468310442057762976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5468310442057762976' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5468310442057762976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5468310442057762976'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/silverlight-4-beta-is-out.html' title='Silverlight 4 Beta is out'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-380485928245887377</id><published>2009-11-18T00:25:00.001+02:00</published><updated>2009-11-18T00:25:04.211+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devices'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft open sources .Net Micro development framework</title><content type='html'>&lt;p&gt;Microsoft announced on Monday the release and open-sourcing of its .Net Micro Framework 4.0, which provides a .Net-based development and execution environment for small devices. But the TCP/IP stack and cryptography stack were omitted&amp;#160; from the open source effort.&lt;/p&gt;  &lt;p&gt;Version 4.0 is available under an Apache 2.0 license. Microsoft still intends to remain actively involved in development of the framework, said Microsoft's Peter Galli, senior open source community manager, in a &lt;a href="http://port25.technet.com/archive/2009/11/16/microsoft-to-open-source-the-net-micro-framework.aspx" target="_blank"&gt;blog post&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-380485928245887377?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/380485928245887377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=380485928245887377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/380485928245887377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/380485928245887377'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/microsoft-open-sources-net-micro.html' title='Microsoft open sources .Net Micro development framework'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2571983931171965255</id><published>2009-11-17T20:17:00.001+02:00</published><updated>2009-11-17T20:17:12.275+02:00</updated><title type='text'>Adobe AIR 2 beta is out</title><content type='html'>&lt;p&gt;Adobe AIR 2 software is the next version of the Adobe Flash Platform runtime for delivering web applications beyond the browser. Now, Adobe AIR lets you use ActionScript(R) or JavaScript languages to quickly build powerful web applications for the desktop on Mac OSX, Microsoft(R) Windows(R), and Linux(R) operating systems. New features include performance improvements that help pave the way for mobile devices, multi-touch and gestures, enhanced support for mass storage devices, peer-to-peer networking, and UDP networking. You can now use Adobe AIR 2 to extend your applications even further with platform-specific native code.&lt;/p&gt;  &lt;p&gt;AIR 2 builds on the success of AIR 1 by giving developers new capabilities, and even tighter integration with the desktop. Some new features of AIR 2 include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for the detection of mass storage devices. &lt;/li&gt;    &lt;li&gt;Advanced networking capabilities like secure sockets, UDP support, and the ability to listen on sockets. &lt;/li&gt;    &lt;li&gt;Support for native code integration. &lt;/li&gt;    &lt;li&gt;The ability to open a file with its default application. &lt;/li&gt;    &lt;li&gt;Multi-touch and gesture support. &lt;/li&gt;    &lt;li&gt;New APIs for access to raw microphone data. &lt;/li&gt;    &lt;li&gt;Webkit update with HTML5/CSS3 support. &lt;/li&gt;    &lt;li&gt;Global error handling. &lt;/li&gt;    &lt;li&gt;Improved cross-platform printing &lt;/li&gt;    &lt;li&gt;Improved security and support for enterprise and government standards. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For a complete list of features, please refer to the &lt;a href="http://labs.adobe.com/wiki/index.php/AIR_2:Release_Notes"&gt;Release Notes&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For an overview of the new features in AIR 2, please read Robert Christensen's &lt;a href="http://www.adobe.com/devnet/logged_in/rchristensen_air_2.html"&gt;&lt;em&gt;Introducing Adobe AIR 2 beta&lt;/em&gt;&lt;/a&gt; article or watch Christian Cantrell's MAX 2009 presentation, &lt;em&gt;&lt;a href="http://tv.adobe.com/watch/max-2009-develop/whats-coming-in-adobe-air-2-/"&gt;What's Coming in Adobe AIR 2&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;The AIR 2 Public Beta is your opportunity to explore new features and communicate your feedback. Please remember that that this is beta software, so there will be bugs, incomplete features, some performance issues, and some missing documentation. Therefore, please use the AIR 2 Beta only for testing and exploratory purposes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://labs.adobe.com/downloads/air2.html" target="_blank"&gt;Get the AIR 2 beta&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2571983931171965255?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2571983931171965255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2571983931171965255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2571983931171965255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2571983931171965255'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/adobe-air-2-beta-is-out.html' title='Adobe AIR 2 beta is out'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3371759486711710527</id><published>2009-11-11T09:24:00.001+02:00</published><updated>2009-11-11T09:24:23.814+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operating Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='Programing Languages'/><title type='text'>Google creates programming language to simplify app dev</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.computerworld.com/s/article/9140637/Google_creates_programming_language_to_simplify_app_dev" target="_blank"&gt;ComputerWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9136345" target="_blank"&gt;Google&lt;/a&gt; has invented a new programming language designed to reduce the complexity of coding without compromising the performance of applications.&lt;/p&gt;  &lt;p&gt;Called &lt;a href="http://golang.org" target="_blank"&gt;Go&lt;/a&gt;, the language has been tested internally at Google but is still at an experimental stage, so the company is releasing it Tuesday as open-source code in the hope that it will get help with its future development.&lt;/p&gt;  &lt;p&gt;&amp;quot;We developed Go because we had become a bit frustrated with how difficult software development has become in the last 10 years or so,&amp;quot; said Rob Pike, principal software engineer at Google.&lt;/p&gt;  &lt;p&gt;Go aims to improve on the way existing programming languages manage dependencies, which are the software components that applications re-use, such as libraries, Pike said. The language also is designed to handle multiprocessor work particularly well, thanks to its concurrent programming model.&lt;/p&gt;  &lt;p&gt;Google started working on Go about two years ago and devoted a team to work on it full time about a year ago. It was conceived as a language for systems programming, such as Web servers, storage systems and databases. However, Google is open to seeing it branch out into other areas.&lt;/p&gt;  &lt;p&gt;At this point, Go isn't used in any user-facing Google service or application, since it still has to mature, which is where external programmers come into the picture. &amp;quot;We need better libraries and tools, and the open-source community is great at helping you with things like that,&amp;quot; Pike said.&lt;/p&gt;  &lt;p&gt;By creating a new programming language, Google continues making inroads into the realm of computing building blocks, prompted by a sense of urgency at making them better. This motivation has also led Google to embark on developing the Android mobile operating system, the Chrome PC brower and the still-unreleased Chrome operating system.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3371759486711710527?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3371759486711710527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3371759486711710527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3371759486711710527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3371759486711710527'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/google-creates-programming-language-to.html' title='Google creates programming language to simplify app dev'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3003926991438673503</id><published>2009-11-10T19:54:00.001+02:00</published><updated>2009-11-10T19:54:05.185+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qnx'/><category scheme='http://www.blogger.com/atom/ns#' term='Operating Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><title type='text'>QNX CAR Application Platform Wins Adobe MAX Award</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.qnx.com/news/pr_3723_1.html" target="_blank"&gt;QNX&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.qnx.com/"&gt;QNX Software Systems&lt;/a&gt; announced that its QNX® CAR application platform has won a prestigious Adobe MAX award, in the mobile category.&lt;/p&gt;  &lt;p&gt;Each year, the Adobe MAX Awards recognize the best uses of Adobe software for creating engaging user experiences. This year, the QNX CAR application platform won for transforming the driving experience through its innovative use of Adobe Flash technology. The platform was up against stiff competition, including Fanbase Mobile from Atlantic Records and QuadraPop from Sony Ericsson.&lt;/p&gt;  &lt;p&gt;“It’s no surprise that QNX CAR took home top honors in the mobile category, as it is redefining the user experience of a mobile device used by hundreds of millions of people every day — the car,” said Linda Campbell, director of strategic alliances at QNX Software Systems. “Through its innovative, automotive-grade implementation of Adobe Flash, QNX CAR not only changes how people interact with their cars, but also helps automakers deploy new applications in dramatically less time and opens a whole new market for developers of Flash applications, games, and content.”&lt;/p&gt;  &lt;p&gt;“Imagine a dashboard that reconfigures itself for each driver, or a car infotainment system that tells you where your friends are, or that points you to the nearest gas station when it notices you are running low on fuel — that’s the kind of user experience the QNX CAR application platform is making possible,” said Andy Gryc, product marketing manager, QNX Software Systems.&lt;/p&gt;  &lt;p&gt;Launched in February 2009, the QNX CAR application platform is already being designed into next-generation vehicles and has attracted more than 50 technology partners and automotive customers, including Adobe, Cisco, Daimler, Delphi, Freescale, General Motors, Google, Gracenote, IBM, Mercedes-Benz, Microsoft, Panasonic, Pandora, and Volkswagen. Also at this week’s Adobe MAX conference, QNX Software Systems exhibited a Toyota Prius outfitted with four infotainment systems based on the QNX CAR application platform. The systems showcased numerous applications, including Internet radio, video on demand, games, dynamic navigation, location-based services, climate control, and an innovative virtual mechanic.&lt;/p&gt;  &lt;p&gt;To accelerate the development of in-car computing systems, the QNX CAR application platform provides preassembled reference implementations for infotainment units and digital instrument clusters; it also preintegrates numerous applications, including Internet radio, navigation services, and climate controls. QNX CAR is the first automotive-grade platform that allows car makers to deploy Flash-based user interfaces in head units, digital instrument clusters, rear-seat infotainment systems, and other in-car products.&lt;/p&gt;  &lt;p&gt;Earlier this year, the QNX CAR application platform also earned a finalist spot in the prestigious Telematics Awards 2009. The QNX® Aviage® acoustic processing suite, a component of QNX CAR, won a European Electronics Industry Award (Elektra) in 2008.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Visit the QNX CAR portal&lt;/b&gt;    &lt;br /&gt;For more information on the QNX CAR application platform, including videos, product briefs, FAQs, and whitepapers, visit &lt;a href="http://www.qnx.com/qnx_car_portal"&gt;www.qnxcar.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;About QNX Software Systems&lt;/b&gt;    &lt;br /&gt;QNX Software Systems, a Harman International company (NYSE: HAR), is the industry leader in realtime, embedded OS technology. The component-based architectures of the QNX® Neutrino® RTOS, QNX Momentics® Tool Suite, and QNX Aviage® middleware together provide the industry’s most reliable and scalable framework for building innovative, high-performance embedded systems. Global leaders such as Cisco, Daimler, General Electric, Lockheed Martin, and Siemens depend on QNX technology for network routers, medical instruments, vehicle telematics units, security and defense systems, industrial robotics, and other mission- or life-critical applications. Founded in 1980, QNX Software Systems is headquartered in Ottawa, Canada, and distributes products in over 100 countries worldwide. Visit www.qnx.com.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3003926991438673503?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3003926991438673503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3003926991438673503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3003926991438673503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3003926991438673503'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/qnx-car-application-platform-wins-adobe.html' title='QNX CAR Application Platform Wins Adobe MAX Award'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4832524974051423116</id><published>2009-11-06T20:01:00.001+02:00</published><updated>2009-11-06T20:01:06.223+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><title type='text'>IBM Launches Cloud Platform For Software Developers</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.readwriteweb.com/enterprise/2009/11/ibm-launches-cloud-plaform-for.php" target="_blank"&gt;ReadWriteWeb&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" border="0" alt="ibm_logo.jpg" align="left" src="http://www.readwriteweb.com/enterprise/assets_c/2009/07/ibm_logo-thumb-150x71-7167.jpg" width="150" height="71" /&gt;&lt;a href="http://www.ibm.com/cloud/developer"&gt;IBM&lt;/a&gt; announced today a set of cloud services that will allow developers to develop and test cloud applications. In addition, IBM is offering free compute and storage for developers using the IBM platform.&lt;/p&gt;  &lt;p&gt;IBM Smart Business Development and Test on IBM Cloud is designed to remove burdens from developers who spend a lot of time setting up their own test environments for applications. By using this kind of a cloud service, developers can test in a fraction of the time, compared to more traditional methods.&lt;/p&gt;  &lt;p&gt;This has the potential to translate into a competitive advantage. By speeding up development, companies can move products faster to market.&lt;/p&gt;  &lt;p&gt;The service supports third-party and open-source tools. IBM is targeting IT managers who often are managing hundred of projects on an annual basis.&lt;/p&gt;  &lt;p&gt;IBM will also offer its service as a private cloud infrastructure. A private cloud infrastructure service is often designed for people who prefer governance and control over their own environment.&lt;/p&gt;  &lt;p&gt;The IBM offering is in some respects a collaboration platform for engineers and IT managers. They can share projects and do development and testing. It further permits distributed teams to collaborate on development projects.&lt;/p&gt;  &lt;p&gt;IBM is taking the right approach. They are focusing on education as a key component of the offering. They offer their own &lt;a href="http://www.readwriteweb.com/www.ibm.com/developerworks/spaces/cloud"&gt;social network&lt;/a&gt; which serves as a resource for developers and IT managers. Cloud computing is still quite abstract for people and education helps customers feel more comfortable about making investments in cloud services. It helps mitigate the risk factor.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4832524974051423116?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4832524974051423116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4832524974051423116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4832524974051423116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4832524974051423116'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/ibm-launches-cloud-platform-for.html' title='IBM Launches Cloud Platform For Software Developers'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4334070580051420897</id><published>2009-11-04T07:48:00.001+02:00</published><updated>2009-11-04T07:48:57.331+02:00</updated><title type='text'>Use SOAP to Remotely Manage Windows Machines</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoq.com/news/2009/11/WinRM" target="_blank"&gt;InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Windows Remote Management, part of the larger Windows Management Framework, offers a standards-based way to remotely manage computers running Windows XP or later. Also known as WinRM, is based on several important standards and technologies.&lt;/p&gt;  &lt;p&gt;First up is the &lt;a href="http://www.dmtf.org/standards/published_documents/DSP0226_1.0.0.pdf"&gt;WS-Management Protocol&lt;/a&gt;. This specification was developed jointly by 13 companies including AMD, Dell, Intel, Microsoft, and Sun Microsystems and released under the auspices of the Distributed Management Task Force. In addition to SOAP, this specification is also based on web service protocols WS-Transfer and WS-Enumeration.&lt;/p&gt;  &lt;p&gt;The next component one needs to know about is the venerable &lt;a href="http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx"&gt;Windows Management Instrumentation&lt;/a&gt;. WMI was standard in Windows 2000, but support goes all back to Windows 95. Since WimRM is essentially a wrapper around WMI, learning WMI is critical for understanding WinRM.&lt;/p&gt;  &lt;p&gt;While developers are interested in the WS-Managament SOAP interface, system administrators will most likely find command line tools more useful. One option is the older Windows Remote Shell, which allows one to send commands one by one to a remote machine. A far more interesting alternative is PowerShell 2.0. PowerShell is part of Microsoft’s strategic plans to challenge Linux in the server market by offering powerful command-line tools for all its server products.&lt;/p&gt;  &lt;p&gt;Both Windows Remote Management 2.0 and PowerShell 2.0 are being released in the&lt;a href="http://support.microsoft.com/kb/968929"&gt;Windows Management Framework&lt;/a&gt;. In addition to these components, the Windows Management Framework also includes BITS 4.0.&lt;/p&gt;  &lt;p&gt;Microsoft’s &lt;a href="http://en.wikipedia.org/wiki/Background_Intelligent_Transfer_Service"&gt;Background Intelligent Transfer Service&lt;/a&gt; (BITS) was originally included with Windows XP back in 2001. Since then it has been quietly acting as the core of everything from Windows Automatic Update to modern software such as &lt;a href="http://rssbandit.org/"&gt;RSS Bandit&lt;/a&gt;, &lt;a href="http://www.eveonline.com/"&gt;EVE Online&lt;/a&gt;, and&lt;a href="http://gears.google.com/"&gt;Google Gears&lt;/a&gt;. BITS 4.0 adds a stand-alone HTTP/HTTPS file server for asynchronously transferring large files between computers.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4334070580051420897?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4334070580051420897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4334070580051420897' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4334070580051420897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4334070580051420897'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/11/use-soap-to-remotely-manage-windows.html' title='Use SOAP to Remotely Manage Windows Machines'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7491264029607647411</id><published>2009-10-22T20:40:00.001+03:00</published><updated>2009-10-22T21:06:35.165+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='IDEA'/><title type='text'>Integrating JSBuilder into IntelliJ IDEA</title><content type='html'>&lt;p&gt;Seems I’ve decided to stuff my IDEA with all possible things that i use daily and since I love comfortable living, i want to have things doing job in a right way. Days ago i wrote about &lt;a href="http://blog.skitsanos.com/2009/10/wrapping-yui-compressor-into-your.html"&gt;Wrapping YUI Compressor into your IntelliJ IDEA&lt;/a&gt; so today I've got one more hint for you – adding JSBuilder, just this time I will explain things in less steps since &lt;a href="http://blog.skitsanos.com/2009/10/wrapping-yui-compressor-into-your.html" target="_blank"&gt;previous article&lt;/a&gt; explains primary steps. JSBuilder2 is a JavaScript and CSS project build tool. You can download it from here: &lt;a href="http://www.extjs.com/products/jsbuilder/"&gt;http://www.extjs.com/products/jsbuilder/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Why I needed it first of all, – one simple reason, when you working with ExtJS SVN there are tons of files, sometimes you can get new files daily, but you need to have a build tool that will wrap gazillion of standalone JavaScript files into one single ext-all.js (in my case, in reality you can create your own scenario and create own builds for others projects). So that’s why you need to have JSBuilder next to you.&lt;/p&gt;  &lt;p&gt;So let’s have job done, go into your IDEA Settings\External Tools and hit Add and following dialog will popup:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_557MJRSN5HM/SuCZD6kyoFI/AAAAAAAAJBs/KyUJkP9uWG0/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_557MJRSN5HM/SuCZERdeU4I/AAAAAAAAJBw/M-NXx20z-84/image_thumb%5B8%5D.png?imgmax=800" width="623" height="331" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Name your tool&amp;#160; let’s say &lt;em&gt;JSBuilder&lt;/em&gt;, you can put it into the same group as you did with YUI Compressor – &lt;em&gt;JavaScript Tools&lt;/em&gt;. Now let’s add program settings, since it’s a Java application, our program will be &lt;em&gt;java&lt;/em&gt;. Parameters would be following line:&lt;/p&gt;  &lt;p&gt;-jar &amp;quot;D:\FTP\Devx\JavaScript\JSBuilder2\JSBuilder2.jar&amp;quot; --projectFile &amp;quot;$FilePath$&amp;quot; --homeDir &amp;quot;$ProjectFileDir$&amp;quot;&lt;/p&gt;  &lt;p&gt;Notice that i wrapped &amp;quot;$FilePath$&amp;quot; and &amp;quot;$ProjectFileDir$&amp;quot; into quotes, this will save you from issues where file path contains spaces. And the last thing is working directory which is equal to &lt;em&gt;$FileDir$&lt;/em&gt;. Then just hit Ok and you’ve got new tool added to your IDEA.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_557MJRSN5HM/SuCZE6ccQ_I/AAAAAAAAJB0/reszZZMKqak/s1600-h/image%5B10%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_557MJRSN5HM/SuCZFdJnUSI/AAAAAAAAJB4/fk9tXk7W31M/image_thumb%5B11%5D.png?imgmax=800" width="372" height="64" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7491264029607647411?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7491264029607647411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7491264029607647411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7491264029607647411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7491264029607647411'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/10/inegrating-jsbuilder-into-intellij-idea.html' title='Integrating JSBuilder into IntelliJ IDEA'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_557MJRSN5HM/SuCZERdeU4I/AAAAAAAAJBw/M-NXx20z-84/s72-c/image_thumb%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-2508803829064924650</id><published>2009-10-18T17:35:00.001+03:00</published><updated>2009-10-18T17:35:57.342+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>Wrapping YUI Compressor into your IntelliJ IDEA</title><content type='html'>&lt;p&gt;After these news about &lt;a href="http://blog.skitsanos.com/2009/10/jetbrains-readies-open-source-version.html" target="_blank"&gt;JetBrains releasing IDEA&lt;/a&gt; to open source, I’m sure this IDE will get even more attention now. For last few years I’ve tried gazillion of IDEs for JavaScript in my recent favorite was always Visual Studio, it’s just had all i needed, one IDE to develop any kind of things. Well it was like this until i actually tried &lt;a href="http://www.jetbrains.com/idea/index.html" target="_blank"&gt;IntelliJ IDEA&lt;/a&gt;. Funny thing is that this IDE is pushed as Java dedicated one and you barely can find some straight away notice that it has ass kicking JavaScript support, you can read about it here: &lt;a href="http://www.jetbrains.com/idea/features/javascript_editor.html"&gt;http://www.jetbrains.com/idea/features/javascript_editor.html&lt;/a&gt; Well reading was not enough for me, I had to try it, and guess what, i moved out from Visual Studio…&lt;/p&gt;  &lt;p&gt;Okay, that was a preface let’s say, all i wanted today here is to bring some light how you can expand IDEA functionality with few more external tools. My today’s issue on the table is how to stick YUI Compressor into IDE and compress my JavaScript files with one click. Whole thing takes 5 mins actually, let me show you few steps to get it done.&lt;/p&gt;  &lt;p&gt;So for a start you need to get YUI Compressor. You can grab it from here: &lt;a href="http://yuilibrary.com/downloads/#yuicompressor"&gt;http://yuilibrary.com/downloads/#yuicompressor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Unpack downloaded ZIP file into some folder and get back to your IDEA, click there in File menu item titled ‘Settings’, or just press Ctrl+Alt+S, it will do the same, open the Settings Dialog that would look some what like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_557MJRSN5HM/StsnvCQwMsI/AAAAAAAAJA8/623KiUGhcsI/s1600-h/image%5B14%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_557MJRSN5HM/Stsnv3chorI/AAAAAAAAJBA/3-100JrQtMM/image_thumb%5B13%5D.png?imgmax=800" width="662" height="534" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Under IDE Settings section in this dialog select External Tools and then Click ‘Add’ button in the top right side of this dialog. Now let’s fill it with some data.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_557MJRSN5HM/Stsnw2Lr_3I/AAAAAAAAJBE/b1X7ugv0VLg/s1600-h/image%5B20%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_557MJRSN5HM/Stsnxe3oihI/AAAAAAAAJBI/Wm14ukj9en4/image_thumb%5B23%5D.png?imgmax=800" width="620" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I named this tool as &lt;em&gt;YUI Compressor&lt;/em&gt;. And the group I defined for this tool and for all others of this kind I will have in the future is &lt;em&gt;JavaScript Tools&lt;/em&gt;. There is a menu section you can see below Name and Description input fields, there you can unselect all except Project Views.&lt;/p&gt;  &lt;p&gt;Now let’s setup some command lien arguments. Program that executes whole thing in our case will be &lt;em&gt;java&lt;/em&gt;, to which we are passing list of parameters:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;-jar &amp;quot;D:\yuicompressor-2.4.2\build\yuicompressor-2.4.2.jar&amp;quot;&amp;#160; -o $FileNameWithoutExtension$-min.js $FileName$&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;As you ca see i specify path for YUI Compressor and then it’s options, that means that any file i take to compress it will create a packed/compressed file with &lt;em&gt;filename-min.js&lt;/em&gt; pattern. And the working directory for this action will be current project folder, that’s why we have it set to &lt;em&gt;$ProjectFileDir$&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;Now just click OK button and you’ve got yourself new tool. Now when you right click on some JavaScript file you have new group of tools – JavaScript Tools and it has our YUI Compressor in it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_557MJRSN5HM/Stsnyj1sTWI/AAAAAAAAJBM/mfWuj2U7O3k/s1600-h/image%5B26%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_557MJRSN5HM/StsnzExLV0I/AAAAAAAAJBQ/O0XDvEA5zi0/image_thumb%5B31%5D.png?imgmax=800" width="463" height="533" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That’s it. Job is done.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;About YUI Compressor&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The YUI Compressor is written in &lt;a href="http://java.sun.com/" target="_blank"&gt;Java&lt;/a&gt; (requires Java &amp;gt;= 1.4) and relies on &lt;a href="http://www.mozilla.org/rhino/" target="_blank"&gt;Rhino&lt;/a&gt; to tokenize the source JavaScript file. It starts by analyzing the source JavaScript file to understand how it is structured. It then prints out the token stream, omitting as many white space characters as possible, and replacing all local symbols by a 1 (or 2, or 3) letter symbol wherever such a substitution is appropriate (in the face of &lt;a href="http://www.jslint.com/lint.html"&gt;evil features&lt;/a&gt; such as &lt;code&gt;eval&lt;/code&gt; or &lt;code&gt;with&lt;/code&gt;, the YUI Compressor takes a defensive approach by not obfuscating any of the scopes containing the evil statement) The CSS compression algorithm uses a set of finely tuned regular expressions to compress the source CSS file. The YUI Compressor is open-source, so don't hesitate to look at the code to understand exactly how it works.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-2508803829064924650?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/2508803829064924650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=2508803829064924650' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2508803829064924650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/2508803829064924650'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/10/wrapping-yui-compressor-into-your.html' title='Wrapping YUI Compressor into your IntelliJ IDEA'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_557MJRSN5HM/Stsnv3chorI/AAAAAAAAJBA/3-100JrQtMM/s72-c/image_thumb%5B13%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8583314207980013057</id><published>2009-10-16T09:44:00.001+03:00</published><updated>2009-10-16T09:45:45.149+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>JetBrains readies open source version of its Java IDE</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoworld.com/print/96168" target="_blank"&gt;InfoWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;JetBrains, which has provided its IntelliJ Idea Java IDE as a commercial product, now is offering a preview of a free, &lt;a href="http://www.infoworld.com/d/open-source"&gt;open source&lt;/a&gt; [1] version of the IDE.&lt;/p&gt;  &lt;p&gt;The company on Thursday unveiled the free Community Edition of IntelliJ Idea, downloadable &lt;a href="http://www.jetbrains.com/idea/nextversion/free_java_ide.html"&gt;at this Web page&lt;/a&gt; [2]. The upcoming version &lt;a href="http://www.infoworld.com/d/developer-world/jetbrains-adds-java-ide-494"&gt;9.0&lt;/a&gt; [3] of the IDE marks the first time the product will be offered in two editions, with the commercial product to&amp;#160; be called the Ultimate Edition. The two editions are due for general release in late November.&lt;/p&gt;  &lt;p&gt;With the free edition, JetBrains said it hopes to remove the only barrier to wider use of the product -- its price tag. A commercial license for IntelliJ Idea costs $599.&lt;/p&gt;  &lt;p&gt;&amp;quot;We've always been open to the community -- with our public EAP (Early Access Program), issue trackers, forums, and so on. This made for a tight and direct feedback loop with our users, even at a time when this wasn't a widely accepted practice in the industry. Since then, we've supported hundreds of open source projects with free product licenses, contributed code to various open-source projects like Groovy and Scala, and developed several open-sourced IntelliJ Idea plugins ourselves,&amp;quot; said Sergey Dmitriev, JetBrains CEO, in a statement released by the company. &amp;quot;So, you can see how offering the IntelliJ Idea experience for free, through an open source license, goes hand in hand with our focus on the community. Open source has become the mainstream, and we continue to embrace it as an exciting challenge. In brief, we're not changing direction -- we're moving forward.&amp;quot;&lt;/p&gt;  &lt;p&gt;The Community Edition is geared to pure Java/Groovy applications or Swing development. It features such IntelliJ capabilities as refactorings, code inspections, coding assistance, debugging, and JUnit testing. Subversion also is supported as are Ant and Maven build integration.&lt;/p&gt;  &lt;p&gt;The Ultmate Edition is a full-featured commercial IDE with a complete set of Web and enterprise development tools. Version 9 will support Java Enterprise Edition 6, Android, Google App Engine, Google Web Toolkit, Adobe AIR (Adobe Integrated Runtime) and FlexUnit. Other capabilities include JavaScript refactorings and debugging, OSGi backing and PHP support.&lt;/p&gt;  &lt;p&gt;The Ultimate version also offers advanced code manipulation and integration with Rational ClearCase and Microsoft Team Foundation Server.&lt;/p&gt;  &lt;p&gt;The Community Edition is built on the IntelliJ Platform, which has served as the basis for the IntelliJ Idea IDE and other JetBrains tools. Users can access the source code to both the Community product and platform via the Apache 2 license.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This story, &amp;quot;&lt;a href="http://www.infoworld.com/d/developer-world/jetbrains-readies-open-source-version-its-java-ide-168?source=footer"&gt;JetBrains readies open source version of its Java IDE&lt;/a&gt; [5],&amp;quot; was originally published at &lt;a href="http://www.infoworld.com?source=footer"&gt;InfoWorld.com&lt;/a&gt; [6]. Follow the latest developments in &lt;a href="http://www.infoworld.com/d/open-source?source=footer"&gt;open source&lt;/a&gt; [7] at InfoWorld.com.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;    &lt;br /&gt;[1] &lt;a href="http://www.infoworld.com/d/open-source"&gt;http://www.infoworld.com/d/open-source&lt;/a&gt;     &lt;br /&gt;[2] &lt;a href="http://www.jetbrains.com/idea/nextversion/free_java_ide.html"&gt;http://www.jetbrains.com/idea/nextversion/free_java_ide.html&lt;/a&gt;     &lt;br /&gt;[3] &lt;a href="http://www.infoworld.com/d/developer-world/jetbrains-adds-java-ide-494"&gt;http://www.infoworld.com/d/developer-world/jetbrains-adds-java-ide-494&lt;/a&gt;     &lt;br /&gt;[4] &lt;a href="http://www.infoworld.com/t/application-development/fate-some-sun-technologies-still-in-air-584?source=fssr"&gt;http://www.infoworld.com/t/application-development/fate-some-sun-technologies-still-in-air-584?source=fssr&lt;/a&gt;     &lt;br /&gt;[5] &lt;a href="http://www.infoworld.com/d/developer-world/jetbrains-readies-open-source-version-its-java-ide-168?source=footer"&gt;http://www.infoworld.com/d/developer-world/jetbrains-readies-open-source-version-its-java-ide-168?source=footer&lt;/a&gt;     &lt;br /&gt;[6] &lt;a href="http://www.infoworld.com?source=footer"&gt;http://www.infoworld.com?source=footer&lt;/a&gt;     &lt;br /&gt;[7] &lt;a href="http://www.infoworld.com/d/open-source?source=footer"&gt;http://www.infoworld.com/d/open-source?source=footer&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8583314207980013057?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8583314207980013057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8583314207980013057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8583314207980013057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8583314207980013057'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/10/jetbrains-readies-open-source-version.html' title='JetBrains readies open source version of its Java IDE'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-1424166239735320408</id><published>2009-10-07T21:37:00.001+03:00</published><updated>2009-10-07T21:38:23.280+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data sources'/><title type='text'>CouchDB emerging as a top choice for offline Web apps</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoworld.com/print/94777" target="_blank"&gt;InfoWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;CouchDB, an Apache project providing a Web-accessible, key-value database, is emerging as an essential technology for running Web applications offline.&lt;/p&gt;  &lt;p&gt;CouchDB, which is being updated this week with release 0.10, itself is a Web server, with the ability to store bits and pieces of the Web application, said Chris Anderson, a committer on the project.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;[ Find out how CouchDB stacks up against other new-school databases such as Amazon SimpleDB and Google App Engine in InfoWorld Test Center's review: &amp;quot;&lt;a href="http://www.infoworld.com/d/data-management/slacker-databases-break-all-old-rules-599?source=fssr"&gt;Slacker databases break all the old rules&lt;/a&gt; ]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;quot;The Web application will be stored in the database and then the only client you need is the Web browser,&amp;quot; Anderson said.&lt;/p&gt;  &lt;p&gt;&amp;quot;The whole inspiration [behind CouchDB] from the beginning has been to do Lotus Notes-style synchronization so that wherever you are, you have all your data,&amp;quot; Anderson said. Anderson is part of a new venture called Relaxed Technologies, which is building small business/office software that works in a Web browser and uses CouchDB for synchronization between disconnected instances of applications. Relaxed Technologies software will keep working when an Internet connection goes down.&lt;/p&gt;  &lt;p&gt;CouchDB joins other offline application technologies such as Google Gears and Adobe AIR (Adobe Integrated Runtime). The main difference between CouchDB and a technology such as Gears is CouchDB offers the same application code running on the server and locally, Anderson said. Normally, developers have a lot of work to do to make an application run offline, he said.&lt;/p&gt;  &lt;p&gt;&amp;quot;If you build a CouchDB application, it runs offline right away,&amp;quot; said Anderson. Ad hoc synchronization can be done with a laptop, he said. Also, if a business uses CouchDB as its server technology and a server or the Internet goes down, the business can keep running, he said.&lt;/p&gt;  &lt;p&gt;&amp;quot;CouchDB is pretty much the only open source project that can do offline synchronization,&amp;quot; Anderson said. The database features a RESTful JSON API accessible from any environment allowing HTTP requests.&lt;/p&gt;  &lt;p&gt;CouchDB is designed to run on PCs and servers, with support for mobile devices planned. Canonical supports CouchDB in the client version of Ubuntu Linux.&lt;/p&gt;  &lt;p&gt;Version 0.10 features continuous replication. Users can link to CouchDB servers and stay up-to-date in real time. Cookie and OAuth authentication is also in the release, along with Windows build support. A 1.0 release is planned for later this year.&lt;/p&gt;  &lt;p&gt;&amp;quot;For developers writing Web applications, CouchDB is designed to be just easier and [resulting in] less fuss&amp;quot; than relational databases or Java application servers, Anderson said.&lt;/p&gt;  &lt;p&gt;The slogan of CouchDB is &amp;quot;relax,&amp;quot; as in users can relax that their data is safe, he said. &amp;quot;We pride ourselves on having a very reliable storage engine,&amp;quot; said Anderson.&lt;/p&gt;  &lt;p&gt;&amp;quot;We're not trying to build the Ferrari of databases; we're trying to build the Honda Accord of databases and that's a little different sweet spot,&amp;quot; Anderson said.&lt;/p&gt;  &lt;p&gt;Developers can write a program for CouchDB and run it on a local machine or move it to a server or group of servers if the program becomes popular, Anderson said.&lt;/p&gt;  &lt;p&gt;CouchDB developers are looking for someone to build a browser plug-in that would make it easier to offer CouchDB locally. &amp;quot;We'd love to see anyone come along and develop that,&amp;quot; Anderson said.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-1424166239735320408?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/1424166239735320408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=1424166239735320408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1424166239735320408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/1424166239735320408'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/10/couchdb-emerging-as-top-choice-for.html' title='CouchDB emerging as a top choice for offline Web apps'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-7281069352691403757</id><published>2009-10-07T21:14:00.001+03:00</published><updated>2009-10-07T21:14:34.143+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patents'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Eolas files patent lawsuit against 22 companies</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.computerworld.com/s/article/9138996/Eolas_files_patent_lawsuit_against_22_companies" target="_blank"&gt;ComputerWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Technology research company Eolas Technologies, which won a $520.6 million patent infringement case against Microsoft in 2003, has filed a new patent lawsuit against 22 companies including Adobe Systems, Google, Yahoo, Apple, eBay and Amazon.com.&lt;/p&gt;  &lt;p&gt;Eolas' lawsuit, filed Tuesday in U.S. District Court for the Eastern District of Texas, claims the tech vendors and other companies have violated two Eolas patents, one for allowing embedded applications in Web browsers, and the second a continuation of the first patent, allowing Web sites to add embedded applications through the use of plug-ins and AJAX (asynchronous JavaScript and XML).&lt;/p&gt;  &lt;p&gt;&amp;quot;We developed these technologies over 15 years ago and demonstrated them widely, years before the marketplace had heard of interactive applications embedded in Web pages tapping into powerful remote resources,&amp;quot; Michael Doyle, chairman of Eolas, said in a statement. &amp;quot;Profiting from someone else's innovation without payment is fundamentally unfair. All we want is what's fair.&amp;quot;&lt;/p&gt;  &lt;p&gt;Eolas is asking the court to prohibit the defendants from using the patented technology and to pay triple the actual damages for willful infringement of the patents. &amp;quot;Right now, each of these companies is using our invention, but we're receiving no compensation,&amp;quot; said Mark Swords, CEO of Eolas. Representatives of Google, Amazon.com and eBay didn't immediately respond to requests for comments on the lawsuit.&lt;/p&gt;  &lt;p&gt;Eolas was awarded a $520.6 million judgment in the lawsuit against Microsoft in August 2003. An appeals court threw out that ruling in March 2005 and ordered a new trial to determine the original patent's validity. The U.S. Patent and Trademark Office later upheld the first Eolas patent, number 5,838,906 ('906), and Microsoft settled the Eolas lawsuit in August 2007 for an undisclosed amount.&lt;/p&gt;  &lt;p&gt;The Microsoft patent award was used as an example of problems with the U.S. patent systems, with critics pointing to the award as a reason to pass patent reform legislation in the U.S. Congress. Several large tech vendors have pushed Congress for legislation that would make it harder for patent holders to collect huge patent awards, saying awards in recent years have gotten excessive. Patent reform legislation has been stalled in Congress for several years.&lt;/p&gt;  &lt;p&gt;In late 2003, Tim Berners-Lee, director of the World Wide Web Consortium (W3C), urged the U.S. Patent and Trademark Office to reject the '906 patent. The USPTO should invalidate the patent &amp;quot;in order to prevent substantial economic and technical damage&amp;quot; to the World Wide Web, he said then.&lt;/p&gt;  &lt;p&gt;But Swords noted that the USPTO has now looked at the '906 patent three times and upheld its validity. &amp;quot;One of the criticisms of the patent system has been that weak patents get out,&amp;quot; he said. &amp;quot;That couldn't be further from the truth&amp;quot; in this case.&lt;/p&gt;  &lt;p&gt;Eolas, which focuses on building bioinformatics products, would be open to settlements from defendants that are willing to talk, Swords said. The original '906 patent was filed for technology that allows researchers to work together on large data sets, he said.&lt;/p&gt;  &lt;p&gt;He rejected arguments that enforcing the patent would hurt the Web. &amp;quot;We heard this in our lawsuit with Microsoft, that this is going to break the Web,&amp;quot; he said. &amp;quot;It didn't.&amp;quot;&lt;/p&gt;  &lt;p&gt;Mike McKool, of law firm McKool Smith and lawyer for Eolas, said he hopes the lawsuit will put an end to the widespread unauthorized use of the company's technology patents. &amp;quot;What distinguishes this case from most patent suits is that so many established companies named as defendants are infringing a patent that has been ruled valid by the Patent Office on three occasions,&amp;quot; he said in a statement.&lt;/p&gt;  &lt;p&gt;The '906 patent was granted in November 1998. The second patent, number 7,599,985, was granted Tuesday.&lt;/p&gt;  &lt;p&gt;Other defendants in the patent lawsuit include Citigroup, the Go Daddy Group, Staples, Office Depot, Sun Microsystems and Texas Instruments.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-7281069352691403757?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/7281069352691403757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=7281069352691403757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7281069352691403757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/7281069352691403757'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/10/eolas-files-patent-lawsuit-against-22.html' title='Eolas files patent lawsuit against 22 companies'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-120754104071617790</id><published>2009-10-05T22:26:00.001+03:00</published><updated>2009-10-05T22:26:35.306+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Adobe Unveils First Full Flash Player for Mobile Devices and PCs</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200910/100509AFPforMobileDevicesandPCs.html" target="_blank"&gt;Adobe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Adobe Systems Incorporated (Nasdaq:ADBE) today unveiled Adobe® Flash® Player 10.1 software for smartphones, smartbooks, netbooks, PCs and other Internet-connected devices, allowing content created using the Adobe Flash Platform to reach users wherever they are. A public developer beta of the browser-based runtime is expected to be available for Windows® Mobile, Palm® webOS and desktop operating systems including Windows, Macintosh and Linux later this year. Public betas for Google® Android™ and Symbian® OS are expected to be available in early 2010. In addition, &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200910/100509RIMjoinsOSP.html"&gt;&lt;u&gt;Adobe and RIM&lt;/u&gt;&lt;/a&gt;announced a joint collaboration to bring Flash Player to Blackberry® smartphones, and Google joined close to 50 other industry players in the Open Screen Project initiative.&lt;/p&gt;  &lt;p&gt;Flash Player 10.1 is the first consistent runtime release of the Open Screen Project that enables uncompromised Web browsing of expressive applications, content and high definition (HD) videos across devices. Using the productive Web programming model of the Flash Platform, the browser-based runtime enables millions of designers and developers to reuse code and assets and reduce the cost of creating, testing and deploying content across different operating systems and browsers. Flash Player 10.1 is easily updateable across all supported platforms to ensure rapid adoption of new innovations that move the Web forward.&lt;/p&gt;  &lt;p&gt;The browser-based runtime leverages the power of the Graphics Processing Unit (GPU) for accelerated video and graphics while conserving battery life and minimizing resource utilization. New mobile-ready features that take advantage of native device capabilities include support for multi-touch, gestures, mobile input models, accelerometer and screen orientation bringing unprecedented creative control and expressiveness to the mobile browsing experience. Flash Player 10.1 will also take advantage of media delivery with HTTP streaming, including integration of content protection powered by Adobe® Flash® Access 2.0. This effort, code-named Zeri, will be an open format based on industry standards and will provide content publishers, distributors and partners the tools they need to utilize HTTP infrastructures for high-quality media delivery in Flash Player 10.1 and Adobe® AIR® 2.0 software.&lt;/p&gt;  &lt;p&gt;To learn more about Flash Player 10.1 and to see video demos visit &lt;a href="http://labs.adobe.com/technologies/flashplayer10/#demos"&gt;&lt;u&gt;Adobe Labs&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;“With Flash Player moving to new mobile platforms, users will be able to experience virtually all Flash technology based Web content and applications wherever they are,” said David Wadhwani, general manager and vice president, Platform Business Unit at Adobe. “We are excited about the broad collaboration of close to 50 industry leaders in the Open Screen Project and the ongoing collaboration with 19 out of the top 20 handset manufacturers worldwide. It will be great to see first devices ship with full Flash Player in the first half of next year.”&lt;/p&gt;  &lt;p&gt;&amp;quot;We are excited to join Adobe and other industry leaders in the Open Screen Project,&amp;quot; said Sundar Pichai, vice president of Product Management at Google. &amp;quot;This initiative supports our common goal to move the Web forward as a platform and to spur innovation in the industry through technology such as Adobe Flash.&amp;quot;&lt;/p&gt;  &lt;p&gt;“Adobe Flash technology provides a key experience on new Windows phones, enabling people to enjoy rich Flash based games, videos and other interactive Web content on the go,” said Stephanie Ferguson, general manager, Product Management, Microsoft Corp. “We look forward to bringing in the new capabilities of Adobe Flash Player 10.1 to the Windows phone browser when it becomes available.”&lt;/p&gt;  &lt;p&gt;“Motorola is excited to be one of the first handset manufacturers to ship Android based devices with Flash Player support early next year,” said Christy Wyatt, vice president of software applications and ecosystem at Motorola. “As the No.1 platform for video on the Web, uncompromised browsing of Flash technology based content is essential for a rich mobile experience and something users expect from Motorola today.”&lt;/p&gt;  &lt;p&gt;“As a longtime partner of Adobe, and more than 400 million Nokia phones shipped with existing Flash technology to date, we are excited to see Flash Player becoming a reality for mobile phones and other mobile devices,” said Purnima Kochikar, vice president, Forum Nokia. “Nokia is excited about full Flash Player coming to devices and we are committed to supporting Flash Player 10.1 on mobile devices in 2010.”&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Open Screen Project&lt;/strong&gt;    &lt;br /&gt;Led by Adobe, the Open Screen Project includes close to 50 industry leaders working together to provide a consistent runtime environment across mobile phones, desktops and other consumer electronic devices. The initiative addresses the challenges of Web browsing and standalone applications on a broad range of devices, and removes the barriers to publishing content and applications seamlessly across screens. Participants of the initiative include Antena 3, Atlantic Records, ARM, BBC, Burda, Cell, Chungwha Telecom, Cisco, Comcast, Conde Nast, Daum, Disney Interactive, Fox Mobile, Google, HTC, Intel, LG Electronics, Lionsgate, Marvell, Motorola, MTV Networks, NBC Universal, Nokia, NTT DoCoMo, NVIDIA, OpenTV, Palm, Paramount, QNX Software Systems, Qualcomm, Stern.de, RIM, RTL, Samsung, Sony Ericsson, Texas Instruments, The New York Times, Toshiba, Verizon Wireless, Ziilabs and many others. For more information about the Open Screen Project visit &lt;a href="http://www.openscreenproject.org"&gt;&lt;u&gt;www.openscreenproject.org&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;About Adobe Flash Platform&lt;/strong&gt;    &lt;br /&gt;The Adobe Flash Platform is the leading Web design and development platform for creating expressive applications, content, and video that run consistently across operating systems and devices and reach over 98 percent of Internet-enabled desktops. Flash Player 10 was installed on more than 93 percent of computers in just the first ten months since its release. According to comScore Media Metrix, approximately 75 percent of online videos viewed worldwide are delivered using Adobe Flash technology, making it the No. 1 format for video on the Web. Major broadcasters and media companies including Disney.com, MLB.com and DIRECTV rely on the Adobe Flash Platform for delivering video on the Web and the platform powers social network sites such as YouTube and MySpace. For more information about the Adobe Flash Platform visit &lt;a href="http://www.adobe.com/flashplatform"&gt;&lt;u&gt;www.adobe.com/flashplatform&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;About Adobe Systems Incorporated     &lt;br /&gt;&lt;/strong&gt;Adobe revolutionizes how the world engages with ideas and information – anytime, anywhere and through any medium. For more information, visit &lt;a href="http://www.adobe.com"&gt;&lt;u&gt;www.adobe.com&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-120754104071617790?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/120754104071617790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=120754104071617790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/120754104071617790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/120754104071617790'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/10/adobe-unveils-first-full-flash-player.html' title='Adobe Unveils First Full Flash Player for Mobile Devices and PCs'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8133590309367081975</id><published>2009-09-30T09:15:00.001+03:00</published><updated>2009-09-30T09:15:31.964+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ie'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Mozilla slams Google's Chrome Frame as 'browser soup'</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.itworld.com/internet/79264/mozilla-slams-googles-chrome-frame-browser-soup" target="_blank"&gt;ITWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Mozilla executives today took shots at Google for pitching its Chrome Frame plug-in as a solution to Internet Explorer's poor performance, with one arguing that Google's move will result in &amp;quot;browser soup.&amp;quot;&lt;/p&gt;  &lt;p&gt;The Mozilla reaction puts the company that builds Firefox on the same side of the debate as rival Microsoft, which has also &lt;a href="http://www.computerworld.com/s/article/9138483/Microsoft_blasts_Google_over_Chrome_Frame_plug_in"&gt;blasted Google&lt;/a&gt;over the plug-in.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.computerworld.com/s/article/9138419/Google_plug_in_puts_Chrome_inside_IE?"&gt;Released last week&lt;/a&gt; , Chrome Frame lets Internet Explorer 6 (IE6), IE7 and IE8 utilize the Chrome browser's WebKit rendering engine, as well as its high-performance V8 JavaScript engine. Google pitched the plug-in as a way to instantly improve the performance of the &lt;a href="http://www.computerworld.com/s/article/9138331/Chrome_buries_Windows_rivals_in_browser_drag_race"&gt;notoriously slow IE&lt;/a&gt; , and as a way for Web developers to support standards IE can't handle, including HTML 5.&lt;/p&gt;  &lt;p&gt;Specifically, said Google, it was pushing Chrome Frame because it decided it wasn't worth trying to make its new collaboration and communications tool, Google Wave, work with IE. &lt;a href="http://googlewavedev.blogspot.com/2009/09/google-wave-in-internet-explorer.html"&gt;Google developers&lt;/a&gt; spent &amp;quot;countless hours&amp;quot; on tweaking Wave for IE, but gave up.&lt;/p&gt;  &lt;p&gt;&amp;quot;We could continue in this fashion, but using Google Chrome Frame instead lets us invest all that engineering time in more features for all our users, without leaving Internet Explorer users behind,&amp;quot; argued Lars Rasmussen and Adam Schuck of Google's Wave team last week.&lt;/p&gt;  &lt;p&gt;Mitchell Baker, the former CEO of Mozilla and currently the chairman of the Mozilla Foundation, disagreed with Google's tactic to slip Chrome inside IE. Strongly.&lt;/p&gt;  &lt;p&gt;&amp;quot;The overall effects of Chrome Frame are undesirable,&amp;quot; she said in an entry to her personal blog late Monday. &amp;quot;I predict positive results will not be enduring and -- and to the extent it is adopted -- Chrome Frame will end in growing fragmentation and loss of control for most of us, including Web developers.&amp;quot;&lt;/p&gt;  &lt;p&gt;According to Baker, Chrome Frame's browser-in-a-browser will confuse users and render some of their familiar tools useless. &amp;quot;Once your browser has fragmented into multiple rendering engines, it's very hard to manage information across Web sites. Some information will be manageable from the browser you use and some information from Chrome Frame. This defeats one of the most important ways in which a browser can help people manage their [Web] experience.&amp;quot;&lt;/p&gt;  &lt;p&gt;But Chrome Frame's biggest problem, said Baker, is that it cedes control to the site, not the person surfing. And that will just confuse users.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8133590309367081975?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8133590309367081975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8133590309367081975' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8133590309367081975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8133590309367081975'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/mozilla-slams-google-chrome-frame-as.html' title='Mozilla slams Google&amp;#39;s Chrome Frame as &amp;#39;browser soup&amp;#39;'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-9152112843648308040</id><published>2009-09-30T09:12:00.001+03:00</published><updated>2009-09-30T09:12:23.260+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='yui'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>Yahoo updates YUI tool for slick Web interfaces</title><content type='html'>&lt;p&gt;Yahoo on Tuesday released version 3 of its &lt;a href="http://developer.yahoo.com/yui/3/"&gt;Yahoo User Interface library&lt;/a&gt;, a software collection programmers can use to endow Web sites with fancy user interface elements written in JavaScript and Cascading Style Sheets.&lt;/p&gt;  &lt;p&gt;&amp;quot;YUI 3's core infrastructure and its utility suite are all considered production-ready with today's release,&amp;quot; Yahoo's Eric Miraglia said in a &lt;a href="http://www.yuiblog.com/blog/2009/09/29/yui-3-0-0/"&gt;blog post&lt;/a&gt; Tuesday. &amp;quot;The code we're shipping today in 3.0.0 is the same code that drives the new Yahoo Home Page, and it goes out with confidence that it has been exercised vigorously and at scale.&amp;quot;&lt;/p&gt;  &lt;p&gt;The YUI libraries are open-source, freely available, and used widely around the Internet for Web site tasks including animation, drag-and-drop, fetching data from various types of sources, and responding to events--chores that are more complicated but that often are useful as the Web moves from static Web pages toward interactive applications.&lt;/p&gt;  &lt;p&gt;Compared with YUI 2, the new version is smaller, faster, easier to program with, and more secure, Yahoo said. It's easier to break code into minimum-size pieces through a &lt;a href="http://developer.yahoo.com/yui/3/configurator/"&gt;dependency configurator&lt;/a&gt; or YUI's ability to download required components on its own. Also, Yahoo is working to add &lt;a href="http://developer.yahoo.com/yui/3/widget/"&gt;widget abilities&lt;/a&gt; for creating small programs.&lt;/p&gt;  &lt;p&gt;A convenient YUI feature is that Yahoo is willing to host most of it on its own servers, saving hassle and Web server bandwidth.&lt;/p&gt;  &lt;p&gt;The new version is the first ground-up reworking of the software since 2005. No doubt YUI will be the subject of discussion at &lt;a href="http://www.yuiblog.com/blog/2009/09/18/2009-open-hack/"&gt;Open Hack Day&lt;/a&gt; and &lt;a href="http://www.yuiblog.com/blog/2009/09/09/announcing-yuiconf-2009/"&gt;YUIConf&lt;/a&gt;, both in October.&lt;/p&gt;  &lt;p&gt;&lt;img alt="This chart illustrates the smaller file sizes of one YUI 3 library that helps with retrieving data from various sources." src="http://i.i.com.com/cnwk.1d/i/bto/20090929/datasource-granularity-20090929-100104.png" width="510" height="434" /&gt;&lt;/p&gt;  &lt;p&gt;This chart illustrates the smaller file sizes of one YUI 3 libary that helps with retrieving data from various sources.&lt;/p&gt;  &lt;p&gt;(Credit: Yahoo)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-9152112843648308040?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/9152112843648308040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=9152112843648308040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/9152112843648308040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/9152112843648308040'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/yahoo-updates-yui-tool-for-slick-web.html' title='Yahoo updates YUI tool for slick Web interfaces'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6762790000228823598</id><published>2009-09-24T19:51:00.001+03:00</published><updated>2009-09-24T19:51:11.924+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Microsoft and Intel port Silverlight to Linux</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.theregister.co.uk/2009/09/24/silverlight_to_linux/" target="_blank"&gt;The Register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Intel and Microsoft have announced a new port of Silverlight to Linux, specifically for the Intel-sponsored &lt;a href="http://moblin.org/"&gt;Moblin&lt;/a&gt; operating system running on Atom-powered devices such as netbooks. The port enables Intel to include Silverlight as a supported runtime in the &lt;a href="http://appdeveloper.intel.com" target="_blank"&gt;Atom Developer Program&lt;/a&gt;, which will feed an iPhone-like App Store.&lt;/p&gt;  &lt;p&gt;Microsoft has already provided Intel with Silverlight source code and test suites. Intel will build an optimized Moblin version of Silverlight, which Microsoft will supply to OEMs.&lt;/p&gt;  &lt;p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/p&gt;  &lt;p&gt;There are a couple of surprising aspects to the announcement. One is that a Linux implementation of Silverlight already exists, the open source &lt;a href="http://www.mono-project.com/Moonlight" target="_blank"&gt;Moonlight project&lt;/a&gt;. We asked Microsoft’s Brian Goldfarb, director of the Developer Platform Group, why Moonlight was not being used for Atom devices. Goldfarb replied by making a distinction between &amp;quot;broad Linux,&amp;quot; which is targeted by Moonlight, and specific Linux-based devices where Microsoft might support other implementations.&lt;/p&gt;  &lt;p&gt;&amp;quot;The effort with Intel has nothing to do with the developer community of broad Linux,&amp;quot; he said. &amp;quot;It's specifically scoped to Atom-based devices and is really about customer experiences out of the box. I look at the two things as compatible. Intel and Microsoft working together to deliver these phone and MID [Mobile Internet Device] experiences, whereas Moonlight is focused on desktop Linux.&amp;quot;&lt;/p&gt;  &lt;p&gt;Goldfarb says the announcement is part of a high-level strategy in which Microsoft aims to bring Silverlight to &amp;quot;as many platforms and as many devices as possible,&amp;quot; He adds that, in comparison to Moonlight, the work with Intel is &amp;quot;pretty far apart from a philosophical perspective, regardless of any technical similarities.&amp;quot;&lt;/p&gt;  &lt;p&gt;He expects Silverlight for Moblin to be completed round about Summer 2010 and promised more in-depth technical details no later than the Mix conference in mid-March.&lt;/p&gt;  &lt;p&gt;The other supported runtimes in Intel's Atom program are native code, Java, and Adobe AIR. These differ from Silverlight in that they are desktop runtimes, whereas Silverlight mainly works in the browser, though version 3 adds the ability to run out of browser but still within a security sandbox. Will Intel add new ways to use Silverlight as a desktop runtime? &amp;quot;I don't have enough detail on that. I don't think it's completely worked out,&amp;quot; said Goldfarb.&lt;/p&gt;  &lt;p&gt;Intel's support is a useful boost for Silverlight. The announcement is also a PR effort that enables Microsoft's long-term partner to appear to put Silverlight on the same level as Adobe AIR, which currently looks better suited for devices like a Moblin netbook.&lt;/p&gt;  &lt;p&gt;The awkward question: If it's that easy to port Microsoft Silverlight to Linux, why does the Moonlight project exist at all?&lt;/p&gt;  &lt;p&gt;&amp;quot;I'm really clear about our commitment to Moonlight. I see the work we're doing with Miguel and Moonlight as core to our strategy for delivering implementations for Linux,&amp;quot; says Goldfarb, protesting, perhaps, a little too much. ®&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6762790000228823598?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6762790000228823598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6762790000228823598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6762790000228823598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6762790000228823598'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/microsoft-and-intel-port-silverlight-to.html' title='Microsoft and Intel port Silverlight to Linux'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3102433953951071417</id><published>2009-09-23T22:25:00.001+03:00</published><updated>2009-09-23T22:25:56.002+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><title type='text'>Firefox 4.0 Theme/UI Direction</title><content type='html'>&lt;p&gt;&lt;a href="https://wiki.mozilla.org/File:Fx-4.0-Direction-Phase-01.png"&gt;&lt;img border="0" alt="File:Fx-4.0-Direction-Phase-01.png" src="https://wiki.mozilla.org/images/f/f6/Fx-4.0-Direction-Phase-01.png" width="899" height="280" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;While thinking about UI changes for Firefox 3.7 we simultaneously thought about where we wanted to take 4.0. These designs are envisioned as evolutionary steps. This serves two purposes: easing the transition and allowing adequate development time for platform capabilities.&lt;/p&gt;  &lt;p&gt;This is a tentative direction of things we would like to see happen in 4.0. &lt;i&gt;These directions are still in early brainstorming and proposal phase, and &lt;b&gt;broader suggestions and ideation is welcome&lt;/b&gt;&lt;/i&gt;. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt; Read more at &lt;a href="https://wiki.mozilla.org/Firefox/Sprints/Windows_Theme_Revamp/Direction_and_Feedback" target="_blank"&gt;Firefox/Sprints/Windows Theme Revamp/Direction and Feedback..&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3102433953951071417?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3102433953951071417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3102433953951071417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3102433953951071417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3102433953951071417'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/firefox-40-themeui-direction.html' title='Firefox 4.0 Theme/UI Direction'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3037205818331973839</id><published>2009-09-21T21:28:00.001+03:00</published><updated>2009-09-21T21:28:24.411+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google does not use the keywords meta tag in web ranking</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://googlewebmastercentral.blogspot.com/2009/09/google-does-not-use-keywords-meta-tag.html" target="_blank"&gt;Google Webmaster Central Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Recently we received some questions about how Google uses (or more accurately, doesn't use) the &amp;quot;keywords&amp;quot; meta tag in ranking web search results. Suppose you have two website owners, Alice and Bob. Alice runs a company called AliceCo and Bob runs BobCo. One day while looking at Bob's site, Alice notices that Bob has copied some of the words that she uses in her &amp;quot;keywords&amp;quot; meta tag. Even more interesting, Bob has added the words &amp;quot;AliceCo&amp;quot; to his &amp;quot;keywords&amp;quot; meta tag. Should Alice be concerned?&lt;/p&gt;  &lt;p&gt;At least for Google's web search results currently (September 2009), the answer is no. Google doesn't use the &amp;quot;keywords&amp;quot; meta tag in our web search ranking. This video explains more, or see the questions below.&lt;/p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jK7IPbnmvVU&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jK7IPbnmvVU&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&lt;strong&gt;Q: Does Google ever use the &amp;quot;keywords&amp;quot; meta tag in its web search ranking?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A: In a word, no. Google does sell a Google Search Appliance, and that product has &lt;a href="http://code.google.com/apis/searchappliance/documentation/50/help_gsa/serve_filters.html"&gt;the ability to match meta tags&lt;/a&gt;, which could include the keywords meta tag. But that's an enterprise search appliance that is completely separate from our main web search. Our web search (the well-known search at Google.com that hundreds of millions of people use each day) disregards keyword metatags completely. They simply don't have any effect in our search ranking at present.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q: Why doesn't Google use the keywords meta tag?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A: About a decade ago, search engines judged pages only on the content of web pages, not any so-called &amp;quot;off-page&amp;quot; factors such as the links pointing to a web page. In those days, keyword meta tags quickly became an area where someone could stuff often-irrelevant keywords without typical visitors ever seeing those keywords. Because the keywords meta tag was so often abused, many years ago Google began disregarding the keywords meta tag.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q: Does this mean that Google ignores all meta tags?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A: No, Google does support several other meta tags. This &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?answer=79812"&gt;meta tags&lt;/a&gt; page documents more info on several meta tags that we do use. For example, we do sometimes use the &amp;quot;description&amp;quot; meta tag as the text for our search results snippets, as this screenshot shows:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_oFOUEFf8v5U/SreTc15eFTI/AAAAAAAAAAc/utP7-ckTeog/s1600-h/meta-description.png"&gt;&lt;img border="0" alt="" src="http://3.bp.blogspot.com/_oFOUEFf8v5U/SreTc15eFTI/AAAAAAAAAAc/utP7-ckTeog/s400/meta-description.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Even though we sometimes use the description meta tag for the snippets we show, we still don't use the description meta tag in our ranking.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q: Does this mean that Google will always ignore the keywords meta tag?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A: It's possible that Google could use this information in the future, but it's unlikely. Google has &lt;a href="http://searchengineland.com/meta-keywords-tag-101-how-to-legally-hide-words-on-your-pages-for-search-engines-12099"&gt;ignored the keywords meta tag for years&lt;/a&gt; and currently we see no need to change that policy.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;//Posted by Matt Cutts, Search Quality Team, &lt;/em&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/2009/09/google-does-not-use-keywords-meta-tag.html" target="_blank"&gt;&lt;em&gt;Google Webmaster Central Blog&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3037205818331973839?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3037205818331973839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3037205818331973839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3037205818331973839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3037205818331973839'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/google-does-not-use-keywords-meta-tag.html' title='Google does not use the keywords meta tag in web ranking'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oFOUEFf8v5U/SreTc15eFTI/AAAAAAAAAAc/utP7-ckTeog/s72-c/meta-description.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-4353722619999894826</id><published>2009-09-20T23:00:00.001+03:00</published><updated>2009-09-20T23:00:37.483+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sketching'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>GIMP v2.8 to finally implement single-window interface</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.downloadsquad.com/2009/09/20/at-long-last-gimp-v2-8-to-finally-implement-single-window-inter/" target="_blank"&gt;Download Squad&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mmiworks.net/eng/publications/2009/09/gimp-single-mode.html"&gt;&lt;img border="0" hspace="4" alt="" vspace="4" src="http://www.blogcdn.com/www.downloadsquad.com/media/2009/09/dfagh45njqjmnaqtnaq.jpg" width="580" height="432" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.downloadsquad.com/tag/GIMP/"&gt;GIMP&lt;/a&gt; is one of those applications that people either seem to love or hate. While it's always been a powerful and capable alternative to big commercial apps like &lt;a href="http://www.downloadsquad.com/tag/Photoshop/"&gt;Photoshop&lt;/a&gt;, GIMP's multiple floating window interface has been hard for some users to adapt to.    &lt;br /&gt;Good news to those of you who love the program but just couldn't adapt to the UI: version 2.8 will feature a selectable &lt;a href="http://www.mmiworks.net/eng/publications/2009/09/gimp-single-mode.html"&gt;single window mode&lt;/a&gt;. As you can see in the mock-up above, it's a much more Photoshop-like experience. Hardcore GIMP fans, don't despair. If you've been convinced that multi-window mode is a superior way to work, you won't have to change.    &lt;br /&gt;GIMP developers have also been looking at ways of better handling multiple images in the editor. Tabs, of course, were added in Photoshop CS4. Don't expect to see them in GIMP 2.8, however. Peter Sikking offers three reasons in his blogs post that they have decided not to use tabs, instead opting for a movable thumbnail tray (image after the break).&lt;/p&gt;  &lt;p&gt;&lt;img border="1" hspace="4" alt="" vspace="4" src="http://www.blogcdn.com/www.downloadsquad.com/media/2009/09/parade-sagv3h.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;UI customization has always been central to the GIMP. In keeping with that, Sikking anticipates that users will be able to place the strip on the top, bottom, left, or right.   &lt;br /&gt;Another idea being considered are &amp;quot;Polaroids&amp;quot; - floating, independent windows that can be used as references while working on an image in the editor. Apart from full images, you'll also be able to select a region and copy it to its own Polaroid - useful for doing detail work.&lt;/p&gt;  &lt;p&gt;&lt;img border="1" hspace="4" alt="" vspace="4" src="http://www.blogcdn.com/www.downloadsquad.com/media/2009/09/bngsmtye564jeanr.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;What do you think about the new concepts for GIMP 2.8? Do you think the addition of a single window mode will attract new users? Share your take in the comments!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-4353722619999894826?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/4353722619999894826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=4353722619999894826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4353722619999894826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/4353722619999894826'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/gimp-v28-to-finally-implement-single.html' title='GIMP v2.8 to finally implement single-window interface'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-791738444848666098</id><published>2009-09-20T00:53:00.001+03:00</published><updated>2009-09-20T00:53:18.059+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Host jQuery on Microsoft CDN servers</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://jquery-howto.blogspot.com/2009/09/host-jquery-on-microsoft-cdn-servers.html" target="_blank"&gt;JQUERY HOWTO Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After Microsoft decided to ship and use jQuery library for its JavaScript needs in Visual Studio, hosting jQuery on Microsoft CDN servers is actually a logical and good decision. Yes, some of us might argue that &lt;a href="http://jquery-howto.blogspot.com/2008/12/let-google-host-your-jquery-library.html"&gt;Google already hosts jQuery&lt;/a&gt;, but Microsoft can not recommend to use its competitor’s services.&lt;/p&gt;  &lt;p&gt;Anyway, intention of this post is not to discuss why Microsoft introduced its own jQuery hosted servers. The intentions is to share a link to Microsoft hosted jQuery library. Here we go:&lt;/p&gt;  &lt;pre&gt;http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.js&lt;br /&gt;http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.min.js&lt;br /&gt;http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2-vsdoc.js&lt;br /&gt;http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.min-vsdoc.js&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Currently Microsoft AJAX CDN hosts only jQuery version 1.3.2, but they will add more releases in the future. To see a full list of the JavaScript libraries and their URLs that are already hosted on CDN cache go here:&lt;a href="http://www.asp.net/ajax/cdn"&gt;www.asp.net/ajax/cdn&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-791738444848666098?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/791738444848666098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=791738444848666098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/791738444848666098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/791738444848666098'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/host-jquery-on-microsoft-cdn-servers.html' title='Host jQuery on Microsoft CDN servers'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-8727853126313312189</id><published>2009-09-10T22:59:00.001+03:00</published><updated>2009-09-10T22:59:47.985+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft gives sneak peek at Silverlight 4 RIA technology</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://infoworld.com/d/developer-world/microsoft-gives-sneak-peek-silverlight-4-ria-technology-938" target="_blank"&gt;InfoWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Microsoft this week will shed some light on a planned upgrade to Silverlight, its browser-based rich Internet application technology, which will gain native multicast support capabilities as well as support for offline digital rights management.&lt;/p&gt;  &lt;p&gt;Called Silverlight 4, the upgrade will be previewed at the International Broadcasting Convention, which begins Sept. 11 in Amsterdam.&amp;#160; Microsoft, &lt;a href="http://www.infoworld.com/d/developer-world/update-microsoft-silverlight-3-unveiled-925"&gt;which shipped Silverlight 3 in July&lt;/a&gt;, has not revealed a ship date for Silverlight 4.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;[ Check out the related &lt;a href="http://www.infoworld.com/d/developer-world/first-look-microsoft-silverlight-3-challenges-adobe-air-216?source=fssr"&gt;First look: Microsoft Silverlight 3 challenges Adobe AIR&lt;/a&gt; | Keep up with app dev issues and trends with InfoWorld's &lt;a href="http://weblog.infoworld.com/fatalexception?source=fssr"&gt;Fatal Exception&lt;/a&gt; and &lt;a href="http://weblog.infoworld.com/stratdev/?source=fssr"&gt;Strategic Developer&lt;/a&gt; blogs. ]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Multicast capabilities in version 4 will provide a way to stream video on bandwidth-constrained networks, thus reducing the burden on media servers while enabling broadcasters to reach more viewers, according to a Microsoft representative. Previously, a plug-in was required to enable this functionality.&lt;/p&gt;  &lt;p&gt;Offline digital rights management in Silverlight 4 will be powered by Microsoft PlayReady technology. PlayReady is intended to enable the mobile industry to support online content services.&amp;#160; With offline PlayReady DRM and out-of-browser capabilities in Silverlight 4, movie studios and retailers can offer the same rich interactive experiences via digital copy and Internet distribution as consumers get with DVD or Bluray, Microsoft said.&lt;/p&gt;  &lt;p&gt;Silverlight 4 will enable movie studios to offer network-delivered updates, special offers, and live events.&lt;/p&gt;  &lt;p&gt;The company this week also will announce plans to release IIS (Internet Information Services ) Media Services 3.0, enabling delivery of interactive &amp;quot;Live Smooth Streaming,&amp;quot; which has been used to broadcast live events.&lt;/p&gt;  &lt;p&gt;IIS Media Services, which is an integrated HTTP-based media delivery platform that supports HD streaming, and Silverlight 3 provide a platform for delivering online media experiences for online consumers, Microsoft said.&lt;/p&gt;  &lt;p&gt;Microsoft this week announced a beta version of its Smooth Streaming player development kit, which is intended to make it easier for developers to build custom players using templates. It will be offered with the release of IIS Media Services 3.0.&lt;/p&gt;  &lt;p&gt;Microsoft this week also will publish the IIS (Internet Information Services) Smooth Streaming Transport Protocol and PIFF (Protected File Format) specification, for DRM interoperability, under the &lt;a href="http://www.microsoft.com/interop/cp/default.mspx"&gt;Microsoft Community Promise&lt;/a&gt;, thus allowing use of the technologies without Microsoft invoking any claims against users. With these moves, Microsoft hopes to promote industry adoption of a video format optimized for Internet delivery and interoperable among a range of consumer devices.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-8727853126313312189?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/8727853126313312189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=8727853126313312189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8727853126313312189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/8727853126313312189'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/microsoft-gives-sneak-peek-at.html' title='Microsoft gives sneak peek at Silverlight 4 RIA technology'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3723225577374204875</id><published>2009-09-10T22:53:00.001+03:00</published><updated>2009-09-10T22:56:24.919+03:00</updated><title type='text'>TomTom Launches Open Source Navigation Project</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://ostatic.com/blog/tomtom-launches-open-source-navigation-project" target="_blank"&gt;OStatic&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.flickr.com/photos/23701795@N02/3899648551/"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" alt="TomTom, openLR" align="right" src="http://farm3.static.flickr.com/2510/3899648551_f676e27ffc_o.jpg" width="74" height="72" /&gt;&lt;/a&gt;ZDNet's &lt;a href="http://blogs.zdnet.com/open-source/?p=4788"&gt;Dana Blankenhorn&lt;/a&gt; reports today on a new open source navigation project launched by European GPS company &lt;a href="http://www.tomtom.com/"&gt;TomTom&lt;/a&gt; that adds additional functionality to navigational devices, regardless of the make or model. The &lt;a href="http://www.tomtom.com/page/openLR"&gt;OpenLR project&lt;/a&gt; aims to put navigation data on top of a GPS unit's existing database so drivers can access local traffic, weather, and other useful information as they travel.&lt;/p&gt;  &lt;p&gt;&amp;quot;This technological development is being introduced to the open source community to assist in delivering location based services to customers. TomTom will use this technology for its own services too, allowing us to transmit content like HD Traffic to connected devices and improve service quality and coverage,&amp;quot; Mark Gretton, TomTom's Director of Product Engineering, said In a prepared statement.&lt;/p&gt;  &lt;p&gt;TomTom says an open source model is critical to the success of this project in order for it to achieve wide-scale adoption by the industry at large.&amp;quot; That's no doubt partially a dig at Microsoft, who recently sued the company for patent infringement and later &lt;a href="http://ostatic.com/blog/silver-lining-in-microsoft-tomtom-settlement-tomtom-didnt-stand-alone"&gt;settled out of court&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Though OpenLR's &lt;a href="http://www.tomtom.com/page/openLR"&gt;technical documentation&lt;/a&gt; is already available online, TomTom plans to present the specifics of the project at the &lt;a href="http://www.itsworldcongress.com/"&gt;ITS World Congress&lt;/a&gt; in Stockholm later this month.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3723225577374204875?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3723225577374204875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3723225577374204875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3723225577374204875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3723225577374204875'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/tomtom-launches-open-source-navigation.html' title='TomTom Launches Open Source Navigation Project'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-6766267200105034755</id><published>2009-09-09T21:31:00.001+03:00</published><updated>2009-09-09T21:31:28.539+03:00</updated><title type='text'>IBM tool eases JavaScript development</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoworld.com/d/developer-world/ibm-tool-eases-javascript-development-909" target="_blank"&gt;InfoWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just i messaged about Microsoft’s Doloto and here we go, IBM brings something new as well.&lt;/p&gt;  &lt;p&gt;Countering rivals Microsoft and Adobe Systems, IBM is offering a free tool to simplify development of JavaScript-based Web applications, featuring use of a modeling language, according to IBM sources.&lt;/p&gt;  &lt;p&gt;Big Blue's EGL CE&amp;#160; (Enterprise Generation Language Community Edition), released Tuesday, is an Eclipse-based tool geared to building Web 2.0 applications. It leverages IBM's EGL modeling language. Developers who code in PHP, Ruby on Rails, Groovy, JavaScript, and HTML can use the EGL tool to code, test, and debug Web 2.0 applications using one language.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;[ Microsoft also is &lt;a href="http://www.infoworld.com/d/developer-world/microsoft-tool-boosts-ajax-web-page-response-636?source=fssr"&gt;offering a new tool, called Doloto, to boost JavaScript-based applications&lt;/a&gt;. ]&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EGL does not try to replace HTML or JavaScript, unlike Adobe Flash/Flex or Microsoft Silverlight technologies, said Will Smythe, EGL product line manager at IBM, in a slide presentation posted on &lt;a href="http://www-949.ibm.com/software/rational/cafe/servlet/JiveServlet/previewBody/3249-102-1-6559/EGL%20CE%20Quick%20Overview%20v2.pdf" target="_blank"&gt;the EGL Web page (PDF)&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;quot;EGL is a higher-level programming language designed for developing powerful, modern applications,&amp;quot; Smythe said. &amp;quot;The goal is to shield developers from complexities typically associated with Web 2.0 application development.&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;quot;EGL CE is intended for anyone who wants to develop RIAs (rich Internet applications) quickly and efficiently. Since EGL syntax is easy for people to learn and can integrate across different business tiers, people from all development backgrounds (Java, PHP, Cobol, etc) find they are very productive using EGL,&amp;quot; said Smythe.&lt;/p&gt;  &lt;p&gt;EGL CE enables development of JavaScript-based user interfaces without having to write JavaScript. It also can be used to build Java-based Web services without the need to write Java code. Developers can build complex Web applications without coding in multiple different languages and patching pieces together for the end product, according to a statement from an IBM representative, and can spend less time deploying and more time coding.&lt;/p&gt;  &lt;p&gt;Developers can download EGL CE at IBM's Web page.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-6766267200105034755?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/6766267200105034755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=6766267200105034755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6766267200105034755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/6766267200105034755'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/ibm-tool-eases-javascript-development.html' title='IBM tool eases JavaScript development'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5536157639494413545</id><published>2009-09-07T21:07:00.001+03:00</published><updated>2009-09-07T21:07:52.071+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Doloto on DevLabs</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://blogs.msdn.com/somasegar/archive/2009/09/04/doloto-on-devlabs.aspx" target="_blank"&gt;Somasegar’s Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;AJAX web applications bring a variety of rich user experiences to the web, but often those experiences require downloading a lot of code. The result is applications that are frustratingly slow to load and taxing to web servers.&lt;/p&gt;  &lt;p&gt;Today we are announcing the availability of &lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx"&gt;Doloto&lt;/a&gt; on MSDN DevLabs.&amp;#160; Doloto is a tool that makes pages more responsive by decreasing the initial download size of complex AJAX web applications.&lt;/p&gt;  &lt;p&gt;Doloto analyzes AJAX application workloads and automatically performs code splitting of existing large web applications. Doloto enables applications to initially transfer only the portion of client-side JavaScript code necessary for application initialization. The rest of the application’s code is replaced by short stubs; their actual function code is transferred lazily in the background or on-demand on first execution. Since code download is interleaved with application execution, users can start interacting with your web application much sooner without waiting to download code that implements features they’re not currently using.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;How it Works&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Doloto is a standalone client-side tool. Its wizard guides you through the following three steps:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;1. Doloto profiles your application. Doloto performs profiling by running a local proxy on your machine that intercepts JavaScript files and instruments them to capture timestamps at runtime for every JavaScript function in a browser-independent manner.&lt;/p&gt;  &lt;p&gt;2. Profiling information is used to calculate code coverage and a clustering strategy. This determines which functions are stubbed out and which are not and groups functions into batches which are downloaded together, called clusters.&lt;/p&gt;  &lt;p&gt;3. Doloto rewrites JavaScript code. It then saves it to disk so that you can upload it to the server. The entire process happens on your machine, without needing access to the server. This way, you can profile and optimize the JavaScript of a any third-party site without special access to their servers. When you are satisfied with Doloto’s results, you can deploy the rewritten files to the server.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Show Me Some Results!&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;In our experiments across a number of AJAX applications and network conditions, Doloto reduced the amount of initial downloaded JavaScript code by over 40%, resulting in startup often faster by 30-40%, depending on network conditions. The chart below shows savings in the amount of downloaded JavaScript code across a range of popular web sites required for the initial application loading phase.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://kxacog.blu.livefilestore.com/y1p5SpV9mgif1dVrgEf30CAoLsT8sOjfzoEgjZDkkRhIKxGdcnt81Vb7jVjQMVsGikG7YJQ8OJGdO7gWTyH8GLWoQ/DolotoSavings.jpg"&gt;&lt;img title="Doloto download savings" border="0" alt="Doloto download savings" src="http://kxacog.blu.livefilestore.com/y1pDnkdK-DKNOM8cRu3inCQAahPq3rPfLqx2_0S9HKS-zNCwYnviWtd5-ke4TmCX9fXTZLexEMjW9Ppj3A9eQZ2UQ/DolotoSavingsSmall.jpg" width="546" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx"&gt;Download&lt;/a&gt; and try Doloto today, and share your thoughts and experiences on the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/doloto/"&gt;project’s forum&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Namaste!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5536157639494413545?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5536157639494413545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5536157639494413545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5536157639494413545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5536157639494413545'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/doloto-on-devlabs.html' title='Doloto on DevLabs'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3390917800816722971</id><published>2009-09-07T20:52:00.001+03:00</published><updated>2009-09-07T20:52:05.450+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='mozilla'/><title type='text'>Firefox to warn users of insecure Adobe Flash</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.theregister.co.uk/2009/09/04/firefox_adobe_security_warning/"&gt;The Register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Upcoming versions of Mozilla's Firefox browser will automatically warn users running versions of Adobe's Flash Media Player that contain known security bugs, according to a published report.&lt;/p&gt;  &lt;p&gt;The check will be invoked each time the popular open-source browser is updated, according to &lt;a href="http://www.h-online.com/security/Mozilla-to-protect-Adobe-Flash-users-Update--/news/114157" target="_blank"&gt;the report&lt;/a&gt; which was published Thursday by &lt;i&gt;The H&lt;/i&gt;. Users who have out-of-date versions of the Adobe application will be notified in the &amp;quot;What's New&amp;quot; browser page that automatically opens each time an update is installed.&lt;/p&gt;  &lt;p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/p&gt;  &lt;p&gt;The feature is already available in versions 3.5.3 and 3.0.14 versions of Firefox, which are in beta testing, according to the publication. Mozilla officials didn't respond to emails requesting comment.&lt;/p&gt;  &lt;p&gt;The move makes perfect sense given the difficulty many computer users have installing Adobe updates in a timely fashion. A &lt;a href="http://www.trusteer.com/files/Flash_Security_Hole_Advisory.pdf" target="_blank"&gt;report (PDF)&lt;/a&gt; released last month by security firm Trusteer found that 80 percent of PCs users failed to install one or more critical updates more than two weeks after they were issued. An estimated 99 percent of internet users have Flash installed, making it one of the world's most ubiquitous programs.&lt;/p&gt;  &lt;p&gt;Flaws in the program are routinely exploited by criminals to install keyloggers and other malicious software on end-user machines.&lt;/p&gt;  &lt;p&gt;If the Firefox feature makes it into release versions, Flash laggards who install a new version of the browser will receive a warning that reads: &amp;quot;You should update Adobe Flash right now. Firefox is up to date, but your current version of Flash can cause security and stability issues. Please install the free update as soon as possible.&amp;quot; A download link is included. ®&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3390917800816722971?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3390917800816722971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3390917800816722971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3390917800816722971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3390917800816722971'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/09/firefox-to-warn-users-of-insecure-adobe.html' title='Firefox to warn users of insecure Adobe Flash'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-309355002754728773</id><published>2009-08-19T10:21:00.001+03:00</published><updated>2009-08-19T10:21:07.848+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>WebSphere vs. .NET: IBM and Microsoft Go Head to Head</title><content type='html'>&lt;p&gt;&lt;img style="margin: 0px 10px 0px 0px; display: inline" align="left" src="http://www.infoq.com/resource/articles/WebSphere-Windows-.NET-Debate/en/smallimage/image_racing_cars.jpg;jsessionid=435727E3D6216D343CFCACE647F2E934" /&gt; After carrying out a number of benchmarks, Microsoft concluded that NET offers better performance and cost-performance ratio than WebSphere. IBM rebutted Microsoft's findings and carried out other tests proving that WebSphere is superior to .NET. Microsoft responded by rejecting some of IBM's claims as false and repeating the tests on different hardware with different results.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-309355002754728773?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/309355002754728773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=309355002754728773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/309355002754728773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/309355002754728773'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/08/websphere-vs-net-ibm-and-microsoft-go.html' title='WebSphere vs. .NET: IBM and Microsoft Go Head to Head'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-657256963615662331</id><published>2009-06-17T10:30:00.001+03:00</published><updated>2009-06-17T10:30:07.672+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><title type='text'>HTML 5: Could it kill Flash and Silverlight?</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoworld.com/print/79291" target="_blank"&gt;InfoWorld&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;HTML 5, a groundbreaking upgrade to the prominent Web presentation specification, could become a game-changer in Web application development, one that might even make obsolete such plug-in-based rich Internet application (RIA) technologies as Adobe Flash, Microsoft Silverlight, and Sun JavaFX.&lt;/p&gt;  &lt;p&gt;The World Wide Web Consortium's (W3C) &lt;a href="http://www.infoworld.com/d/developer-world/w3c-offers-html-5-draft-731"&gt;HTML 5 proposal&lt;/a&gt; [1] is geared toward Web applications, something not adequately addressed in previous incarnations of HTML, the W3C acknowledges. In other words, HTML 5 tackles the gap that Flash, Silverlight, and JavaFX are trying to fill.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The rich promise of HTML 5      &lt;br /&gt;&lt;/strong&gt;&amp;quot;HTML 5 is really the second coming of this Web stuff -- of the Web,&amp;quot; says Dion Almaer, co-founder of the Ajaxian Web site and co-director of developer tools at Mozilla. The specification boasts capabilities covering video and graphics on the Web, as well as a slew of APIs, Almaer notes.&lt;/p&gt;  &lt;p&gt;HTML 5 technologies such as &lt;a href="http://www.infoworld.com/d/developer-world/canvas-set-boost-ajax-971"&gt;Canvas&lt;/a&gt; [4], for 2-D drawing on a Web page, are being promoted by heavyweights in the Internet space such as Apple, Google, and Mozilla. (Although Microsoft itself has given a thumbs-up to certain aspects of HTML 5, it has not backed Canvas.)&lt;/p&gt;  &lt;p&gt;&amp;quot;HTML 5 features like Canvas, local storage, and Web Workers let us do more in the browser than ever before,&amp;quot; says Ben Galbraith, also co-founder of the Ajaxian Web site and co-director of developer tools at Mozilla. Local storage enables users to work in a browser when a connection drops and Web Workers makes &amp;quot;next generation&amp;quot; applications incredibly responsive by pushing long-running tasks to the background, he says.&lt;/p&gt;  &lt;p&gt;Web applications will become more fun, says Ian Fette, project manager at Google for the &lt;a href="http://www.infoworld.com/t/applications/lab-test-google-chrome-vs-internet-explorer-8-823"&gt;Chrome browser&lt;/a&gt; [5]: &amp;quot;They're going to be faster and they're just going to provide overall a better user experience and make the distinction between online apps and desktop apps blurred.&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;HTML 5 features already appearing in browsers      &lt;br /&gt;&lt;/strong&gt;After five years of work, a draft of the HTML 5 specification was released in 2008. Parts of it are showing up in browsers, but the complete HTML 5 work won't be done for years.&lt;/p&gt;  &lt;p&gt;&amp;quot;For example, video support is new in HTML 5 and new in &lt;a href="http://www.infoworld.com/d/windows/ie8-vs-firefox-35-browser-wars-continue-422"&gt;Firefox 3.5&lt;/a&gt; [6],&amp;quot; notes Vlad Vukicevic, technical lead of the Firefox project at Mozilla. Google's new Chrome browser also has some capabilities, including video tags, derived from the HTML 5 specification. And Microsoft has several HTML 5 features in &lt;a href="http://www.infoworld.com/d/windows/ie8-end-line-internet-explorer-978"&gt;Internet Explorer 8&lt;/a&gt; [7], such as local storage, AJAX navigation, and mutable DOM prototypes.&lt;/p&gt;  &lt;p&gt;Opera supports Canvas and plans to add capabilities such as video to its browser, says Molly E. Holzschlag, a Web evangelist at Opera Software. Meanwhile, Apple supports HTML 5 audio and video tags in its &lt;a href="http://www.infoworld.com/d/applications/test-center-safari-4-preview-826"&gt;Safari&lt;/a&gt; [8] browser, as well as the Canvas technology (which it invented).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The case for HTML 5: Get rid of proprietary add-ons      &lt;br /&gt;&lt;/strong&gt;While Adobe, Microsoft, and &lt;a href="http://www.infoworld.com/t/mergers-and-acquisitions/update-oracle-agrees-buy-sun-74b-095"&gt;Sun Microsystems (soon to be Oracle)&lt;/a&gt; [9] duke it out with their own technologies to implement multimedia on the Web, HTML 5 has the potential to eat these vendors' lunches, offering Web experiences based on an industry standard.&lt;/p&gt;  &lt;p&gt;Therefore, Adobe Flash and Microsoft Silverlight could see their turf invaded by HTML 5, Almaer says. &amp;quot;Essentially, what it does is lays the groundwork to have equivalent functionality that Flash or Silverlight provides,&amp;quot; says RedMonk analyst Michael Cote. It also could threaten JavaFX, he adds.&lt;/p&gt;  &lt;p&gt;One of HTML 5's goals is to move the Web away from proprietary technologies such as Flash, Silverlight, and JavaFX, says Ian Hickson, co-editor of the HTML 5 specification. (Hickson is a Google employee, while his co-editor David Hyatt works for Apple.)&lt;/p&gt;  &lt;p&gt;&amp;quot;They're single-vendor solutions [and] they don't really fit well into the Web platform,&amp;quot; Hickson says. &amp;quot;It's always a problem when you're stuck with a single software provider -- what if they decide to abandon the product you're using? What if they decide to start charging? With an open platform, there's no such risk, since we have true competition, many vendors, and an open standard that anyone can implement.&amp;quot;&lt;/p&gt;  &lt;p&gt;Hickson adds, &amp;quot;It would be a terrible step backward if humanity's major development platform [the Web] was controlled by a single vendor the way that previous platforms such as Windows have been.&amp;quot;&lt;/p&gt;  &lt;p&gt;Mozilla wants the Web to stay open and ensure that capabilities such as video are not beholden to corporate entities, says Firefox lead Vukicevic. But whether HTML 5 and Canvas displace Flash, Silverlight, and JavaFX &amp;quot;really depends on what developers do,&amp;quot; he adds.&lt;/p&gt;  &lt;p&gt;Lack of support for some HTML 5 technologies in the popular Internet Explorer is an issue for developers, says Vukicevic. &amp;quot;The fact that IE doesn't support a lot of these advanced features really holds back Web apps,&amp;quot; because developers must instead do extra work such as supporting Microsoft-specific APIs or writing a portion of their application in Flash, he says.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The case for proprietary add-ons: They're better and available today      &lt;br /&gt;&lt;/strong&gt;Although all three companies are involved with the W3C's HTML 5 efforts, Microsoft, Adobe, and Sun each defend the need for their technologies.&lt;/p&gt;  &lt;p&gt;&amp;quot;HTML 5 is still a standard in progress and the makers of it say it will be five to ten years at least before it's done, so it's too early to make any comparisons at this time,&amp;quot; a Microsoft spokesperson says. &amp;quot;Silverlight will still be necessary as it provides more advanced features -- such as a richer and faster programming model (C#), 3-D, and out-of-browser capabilities. With those features, Silverlight will ultimately provide a richer Internet experience.&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;quot;HTML 5 faces many challenges,&amp;quot; says Dave Story, vice president of developer tools at Adobe. &amp;quot;The browser market remains highly fragmented, and incompatibilities between browsers reign. The HTML 5 timeline states that it will be at least a decade before the evolving HTML 5/CSS 3 efforts are finalized, and it remains to be seen what parts will be implemented consistently across all browsers. In the meantime, the Flash platform will continue to deliver a ubiquitous, consistent platform that enables ever richer, more engaging user experiences.&amp;quot;&lt;/p&gt;  &lt;p&gt;Sun vice president James Gosling, often considered the father of Java, says JavaFX &amp;quot;has much more advanced rendering, performance, and behavior than HTML 5.&amp;quot;&lt;/p&gt;  &lt;p&gt;Analyst Cote sees no immediate threat to these rich Internet app browser plug-ins: &amp;quot;It would take many years to reproduce the functionality in those plug-ins.&amp;quot; And he expects the concept of plug-ins to continue to be useful when HTML 5 does ship.&lt;/p&gt;  &lt;p&gt;Google's Fette agrees. HTML 5 is only a starting point, he says, and companies such as Google will add their own advancements, such as the ability to drag and drop images to a browser.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A few industry players may be conflicted      &lt;br /&gt;&lt;/strong&gt;Most companies involved in the HTML 5 effort are browser developers or rich Internet application tool developers, but not both. The exception is Microsoft, which therefore is in a difficult situation, says Almaer. The company has heavy investments in trying to propel Silverlight to dominance. &amp;quot;That's a big elephant in the room for them because you can imagine the Silverlight team [whose] whole existence is to add [this] functionality in. [But] if Internet Explorer puts it already in there, why do we have Silverlight?&amp;quot; he asks.&lt;/p&gt;  &lt;p&gt;Google may also face some touchy decisions. For example, its YouTube subsidiary uses Flash for its video, but the inclusion of HTML 5 capabilities in browsers might cause YouTube to rethink that decision, notes Fette. &amp;quot;It's a cost/benefit analysis that they'd need to make.&amp;quot;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-657256963615662331?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/657256963615662331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=657256963615662331' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/657256963615662331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/657256963615662331'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/06/html-5-could-it-kill-flash-and.html' title='HTML 5: Could it kill Flash and Silverlight?'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-416468007076163904</id><published>2009-05-22T10:25:00.001+03:00</published><updated>2009-05-22T10:25:05.364+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><title type='text'>Adobe beams up new Strobe video framework</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://news.cnet.com/8301-1023_3-10237909-93.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1023_3-0-5" target="_blank"&gt;CNET&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://i.i.com.com/cnwk.1d/i/bto/20090511/adobeflash_270x179.jpg" /&gt; As part of the Streaming Media East conference in New York, Adobe has unveiled &amp;quot;&lt;a href="http://www.adobe.com/products/strobe/"&gt;Strobe&lt;/a&gt;,&amp;quot; the &amp;quot;open framework&amp;quot; for its Flash video player that the company first announced last month. It's expected to be available in the third quarter of this year.&lt;/p&gt;  &lt;p&gt;Since you were probably wondering: No, Adobe is not tweaking the pronunciation of &amp;quot;Strobe&amp;quot; so that it rhymes. Thank goodness.&lt;/p&gt;  &lt;p&gt;But here's what it is: Strobe is a product and architecture for accompanying plug-ins based on Adobe's Flash technology that lets a company build a custom video player more easily, should it want to host online videos in-house rather than relying on YouTube or its ilk.&lt;/p&gt;  &lt;p&gt;While Adobe's ActionScript language is &amp;quot;very flexible,&amp;quot; explained Jennifer Taylor, director of product management for Flash distribution, &amp;quot;everybody's sort of had to recreate that from scratch, and as a result it's taken people longer than they've wanted to to to get their video players up to get their video online.&amp;quot;&lt;/p&gt;  &lt;p&gt;The meat of Tuesday's announcement at Streaming Media East is that a host of big new partners are on board, from content delivery networks to analytics firms. The full list of supporters is Adap.tv, Akamai, Blip.tv, Brightcove, CDNetworks, Digital Smiths, Eyewonder, GlanceGuide, Grab Media, Incited Media, iStreamplanet, KickApps, Level3, Limelight Networks, Multicast, Nielsen, Omniture, Panache, PointRoll, ScanScout, Thumbplay, Visible Measures, and YuMe.&lt;/p&gt;  &lt;p&gt;Strobe is &amp;quot;taking the mystery out of creating video players, and also streamlining and simplifying that process, so people can do it much faster than they could before,&amp;quot; Taylor said. She added that ComScore statistics have said that Flash is used to serve up 80 percent of all online videos.&lt;/p&gt;  &lt;p&gt;Adobe is calling Strobe an &amp;quot;open framework&amp;quot; and is inviting developers to contribute, but has not finalized the way that it will be licensed. There may, for example, be an open source version that developers are invited to try out, test, and build on, but the version that will be downloadable at Adobe.com may haev a different license. This, Adobe representatives said in an e-mail to CNET News, would &amp;quot;take all the best pieces of the open source code, bundled with plug-ins,&amp;quot; but that it would be protected to &amp;quot;prevent modifications, breaking plug-ins and prevent competing branding.&amp;quot;&lt;/p&gt;  &lt;p&gt;Company representatives followed up later on Tuesday to clarify that &amp;quot;the intent is to work with a license that allows for liberal use and innovation.&amp;quot;&lt;/p&gt;  &lt;p&gt;But regardless of license, the Strobe framework will be free, and Adobe does not have plans to charge for it. &amp;quot;Our intent is to not monetize Strobe directly,&amp;quot; Taylor said. &amp;quot;Obviously, we anticipate and hope that Strobe will help accelerate the adoption of Flash video, and the rising tide helps all boats: it's going to help our partners and those who provide plug-ins for the framework.&amp;quot;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-416468007076163904?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/416468007076163904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=416468007076163904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/416468007076163904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/416468007076163904'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/05/adobe-beams-up-new-strobe-video.html' title='Adobe beams up new Strobe video framework'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-5529518948947771378</id><published>2009-05-20T09:42:00.001+03:00</published><updated>2009-05-20T09:42:05.300+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><category scheme='http://www.blogger.com/atom/ns#' term='failure'/><title type='text'>New York Times Dropping WPF/Silverlight for Adobe AIR</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.infoq.com/news/2009/05/Times-AIR-Reader" target="_blank"&gt;InfoQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In a rather unexpected turn of events, Microsoft’s WPF and Silverlight platforms have lost another early adopter. Back in 2006 we reported on how the &lt;a href="http://www.infoq.com/news/NYTimes-Reader"&gt;Times Reader was based on WPF&lt;/a&gt;. Since then the New York Times has also added a Silverlight-based application for OS X users.&lt;/p&gt;  &lt;p&gt;Unfortunately the Silverlight version has been plagued with problems, both political and technical. The biggest hurdle was the lack of cross-platform support. Though based on WPF or Windows Presentation Foundation, Silverlight only has a subset of WPF’s capabilities. This makes writing code that works on both difficult and most developers seem to end up maintaining two separate code bases. Silverlight 2.0 is designed to run within a browser, a limitation not found in WPF. Apple users, who tend to be sensitive to such issues, rightfully complained about not having all the same features as Windows users. Silverlight is also known to produce &lt;a href="http://social.msdn.microsoft.com/forums/en-US/wpf/thread/5289ee56-6d06-4f66-84f2-69865b6dc401"&gt;blurry text&lt;/a&gt; at times, a major issue for an application dedicated to displaying news. Finally, the Times Reader has some &lt;a href="http://firstlook.blogs.nytimes.com/2009/03/11/times-reader-beta-for-mac-and-conflicts-with-safari-4-beta/"&gt;compatibility issues with Safari 4&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;To address these and other issues, the &lt;a href="http://firstlook.blogs.nytimes.com/2009/05/08/sneak-peek-of-times-reader-20/"&gt;New York Times is abandoning both WPF and Silverlight&lt;/a&gt;. Rob Larson writes,&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Next week we’ll be introducing Times Reader 2.0. This version is powered by Adobe AIR and will run equally well on Windows , Mac and Linux computers. With this latest release, Times Reader resembles the printed paper even more closely, and it updates every five minutes with the latest news from the Web.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The &lt;a href="http://firstlook.blogs.nytimes.com/2009/05/12/times-reader-20-is-now-available/"&gt;Times Reader 2.0 is now available&lt;/a&gt;; and with Microsoft promoting its &lt;a href="http://www.infoq.com/news/2009/05/Times-Silverlight"&gt;New York Times Silverlight Kit&lt;/a&gt;, the timing couldn’t be worse.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-5529518948947771378?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/5529518948947771378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=5529518948947771378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5529518948947771378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/5529518948947771378'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/05/new-york-times-dropping-wpfsilverlight.html' title='New York Times Dropping WPF/Silverlight for Adobe AIR'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3185657944716806130</id><published>2009-05-14T10:41:00.001+03:00</published><updated>2009-05-14T10:43:28.922+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curl'/><category scheme='http://www.blogger.com/atom/ns#' term='ria'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Curl goes outside browser for Silverlight fight</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://www.theregister.co.uk/2009/05/07/curl_seven_silverlight/" target="_blank"&gt;The Register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Microsoft's Silverlight 3.0 is still in beta and it promises major improvements, but the competition is already promising greater power.&lt;/p&gt;  &lt;p&gt;The Novell-backed open-source implementation of Silverlight this week announced a preview of its second version. Moonlight 2.0 is based on Silverlight 2.0, but it now includes&lt;a href="http://www.theregister.co.uk/2009/05/05/moonlight_two_silverlight_three/"&gt;significant APIs&lt;/a&gt; from the Silverlight 3.0 beta.&lt;/p&gt;  &lt;p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/p&gt;  &lt;p&gt;Meanwhile, Curl - a company with its own epic history - is today expected to unveil the latest version of its interface programming language to help close the gap on the yet-to-launch Silverlight 3.0.&lt;/p&gt;  &lt;p&gt;Curl 7.0 will let users run rich internet applications outside the browser by specifying their preferences using a simple a dialogue box. Previously, Curl relied on programmers to build in such out-of-browser capabilities into the content, with users then clicking a URL that fired up a separate window. It was an involved build process and confusing to the user.&lt;/p&gt;  &lt;p&gt;RIAs have naturally attracted concern because they give PC users another opportunity to download and install potentially malicious code on their desktops. This could access important data and infect entire networks.&lt;/p&gt;  &lt;p&gt;The company said Curl 7.0 isn't putting responsibility for desktop security in the hands of users downloading and installing all kinds of dangerous media-based content.&lt;/p&gt;  &lt;p&gt;Curl 7.0 lets administrators override any controls and settings users have given to applications on the desktop and assert corporate security controls, the company said. The desktop data store is also encrypted, for added protection.&lt;/p&gt;  &lt;p&gt;The Silverlight 3.0 beta ads to Microsoft's browser-based media player the ability to run applications outside the browser. It also features a sandbox to contain code and prevent malicious code from running wild. But it's unclear whether administrators can enforce corporate security policy and override desktop settings in Silverlight 3.0.&lt;/p&gt;  &lt;p&gt;Curl claims it can bring weight to RIAs that's missing in Silverlight and Adobe Systems' AIR. Curl compiles an application to the hardware to speed performance and reduce round-trips between the client and server that can delay performance - particularly of data-intensive applications with large data sets. The company claimed it has won a number of customers who've found performance limitations with Adobe or using AJAX.&lt;/p&gt;  &lt;p&gt;Curl's got a long history. Founded in 1998, with a rich language for building interfaces from the brains at MIT, Curl went on to become a subsidiary of Sumisho Computer Systems, notched up a number of big-name customers in Japan such as Nissan Diesel Motor, and was then re-launched in the US.&lt;/p&gt;  &lt;p&gt;An idea ahead of its time, Curl now faces competition not just from Microsoft and Adobe, but also AJAX and array of open-source languages and frameworks. ®&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;See also:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.curl.com/" target="_blank"&gt;Curl, Inc. web site&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.curl.com/products_v7.php" target="_blank"&gt;Curl version 7&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3185657944716806130?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3185657944716806130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3185657944716806130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3185657944716806130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3185657944716806130'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/05/curl-goes-outside-browser-for.html' title='Curl goes outside browser for Silverlight fight'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24340914.post-3977966146350767921</id><published>2009-04-24T09:50:00.001+03:00</published><updated>2009-04-24T09:50:07.609+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='regexp'/><title type='text'>myPatterns: XSLT / RegEx for JS Objects</title><content type='html'>&lt;p&gt;Nic Volanschi pointed us to &lt;a href="http://mypatterns.free.fr/"&gt;myPatterns&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;myPatterns is a new library adding custom notations for data structures in JS (and also C). It’s really useful for writing elegant programs using general pattern matching. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To explain myPatterns, let’s introduce a standard JavaScript object:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.guildfa.net/mypatterns-xslt-regex-for-js-objects/showCodeTxt%28%27javascript-4%27%29;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;JavaScript:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;{&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;name: { firstname: “John”, lastname: “Smith” }, &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&amp;#160; children: [&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;{ firstname: “Eric”, gender: “male”, born: 1991 }, &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;{ firstname: “Deborah”, gender: “female”, born: 1996 }&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;]&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;}&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Using myPattern, you can write a test to check if this object represents a person whose first child is a boy 18 years old:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.guildfa.net/mypatterns-xslt-regex-for-js-objects/showCodeTxt%28%27javascript-5%27%29;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;JavaScript:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;(s = match(x, “{name:{lastname: %l}, children:[{gender: 'male', born: %b} | %x]}”))&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&amp;amp;&amp;amp; new Date().getFullYear() - s.b == 18&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The website explains the pattern above:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;In the above, the match() statement both checks whether the object has a certain form (e.g. that the children field is an array containing a first element of a given form), and returns a “substitution” object s having the following value: {l: “Smith”, b: 1991, x: [ {firstname: &amp;quot;Deborah&amp;quot; , born: 1996} ]}.&lt;/p&gt;    &lt;p&gt;Furthermore, using your own notations, you could write the same condition more concisely, and with your own personal touch, for example:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.guildfa.net/mypatterns-xslt-regex-for-js-objects/showCodeTxt%28%27javascript-6%27%29;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;JavaScript:&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;       &lt;p&gt;s = match(x, “&amp;lt;%first ~ %last: [boy(18) | %rest]&amp;gt;”)&lt;/p&gt;     &lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;In the above, the object is noted in a more concise way, and the age of the first son is directly specified in the pattern, as if it was stored in the object, taking advantage of active patterns to compute the age on the fly. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Neat!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24340914-3977966146350767921?l=blog.skitsanos.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.skitsanos.com/feeds/3977966146350767921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24340914&amp;postID=3977966146350767921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3977966146350767921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24340914/posts/default/3977966146350767921'/><link rel='alternate' type='text/html' href='http://blog.skitsanos.com/2009/04/mypatterns-xslt-regex-for-js-objects.html' title='myPatterns: XSLT / RegEx for JS Objects'/><author><name>Evgenios Skitsanos</name><uri>http://www.blogger.com/profile/03177593596380058429</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='25' src='http://bp3.blogger.com/_557MJRSN5HM/R5ovoAqn3RI/AAAAAAAAB4k/DIlZKCiqvpA/S220/skitsanos.png'/></author><thr:total>0</thr:total></entry></feed>
