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

<channel>
	<title>LYCOG</title>
	<atom:link href="http://lycog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lycog.com</link>
	<description>Programming, Concurrency, Distributed Systems, Simulation</description>
	<lastBuildDate>Thu, 22 Nov 2012 01:32:10 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>How Google Scans a Book? Linear Book Scanner</title>
		<link>http://lycog.com/news/how-google-scans-a-book-linear-book-scanner/</link>
		<comments>http://lycog.com/news/how-google-scans-a-book-linear-book-scanner/#comments</comments>
		<pubDate>Thu, 22 Nov 2012 01:32:10 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=639</guid>
		<description><![CDATA[Google has been developed low cost book scanner that just simply making form vacuum cleaner and low cost Cannon scanner plus several metals tweak to make possible book scanning with minimization of scanning damage. &#160;]]></description>
				<content:encoded><![CDATA[<p>Google has been developed low cost book scanner that just simply making form vacuum cleaner and low cost Cannon scanner plus several metals tweak to make possible book scanning with minimization of scanning damage.</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/4JuoOaL11bw?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/news/how-google-scans-a-book-linear-book-scanner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenStack &#8212; The Cloud Operating System</title>
		<link>http://lycog.com/distributed-systems/openstack-the-cloud-operating-system/</link>
		<comments>http://lycog.com/distributed-systems/openstack-the-cloud-operating-system/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 07:40:13 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Distributed Systems]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=630</guid>
		<description><![CDATA[It is an innovative idea of design this application stack in the cloud era. According to openstack.org, OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. [...]]]></description>
				<content:encoded><![CDATA[<p>It is an innovative idea of design this application stack in the cloud era. According to <a title="OpenStack" href="http://openstack.org">openstack.org</a>, OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.</p>
<p><a href="http://lycog.com/wp-content/uploads/2012/10/openstack-software-diagram.jpg"><img class="alignnone size-full wp-image-633" title="openstack software diagram" src="http://lycog.com/wp-content/uploads/2012/10/openstack-software-diagram.jpg" alt="" width="748" height="310" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/distributed-systems/openstack-the-cloud-operating-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Data Center via Google Street View</title>
		<link>http://lycog.com/distributed-systems/google-data-center-via-google-street-view/</link>
		<comments>http://lycog.com/distributed-systems/google-data-center-via-google-street-view/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 02:22:41 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Distributed Systems]]></category>
		<category><![CDATA[Data Center]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=612</guid>
		<description><![CDATA[Google Street View brings you to see its data center. It&#8217;s a major improvement. Source: http://www.google.com/about/datacenters]]></description>
				<content:encoded><![CDATA[<p>Google Street View brings you to see its data center. It&#8217;s a major improvement.</p>
<p>Source: <a href="http://www.google.com/about/datacenters/">http://www.google.com/about/datacenters</a><br />
<object width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/avP5d16wEp0?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/avP5d16wEp0?version=3&amp;hl=en_US&amp;rel=0" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/distributed-systems/google-data-center-via-google-street-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The new multi-screen world: Understanding Cross-platform Consumer Behavior</title>
		<link>http://lycog.com/news/the-new-multi-screen-world-understanding-cross-platform-consumer-behavior/</link>
		<comments>http://lycog.com/news/the-new-multi-screen-world-understanding-cross-platform-consumer-behavior/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 02:59:06 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=600</guid>
		<description><![CDATA[Google has just released its research result on understanding cross-platform consumer behavior on multi-screen dimension. Smartphone, tablet, PC and TV are the major tools to bring information/content to users with different screen size. For full report please visit: The new multi-screen world Key Findings]]></description>
				<content:encoded><![CDATA[<p>Google has just released its research result on understanding cross-platform consumer behavior on multi-screen dimension. Smartphone, tablet, PC and TV are the major tools to bring information/content to users with different screen size.</p>
<p>For full report please visit: <a title="Multi-screen world" href="http://services.google.com/fh/files/misc/multiscreenworld_final.pdf">The new multi-screen world</a></p>
<p><a href="http://lycog.com/wp-content/uploads/2012/09/screen-based-usage.png"><img class="alignnone size-medium wp-image-601" title="Screen based Usage" src="http://lycog.com/wp-content/uploads/2012/09/screen-based-usage-300x157.png" alt="" width="300" height="157" /></a></p>
<p><a href="http://lycog.com/wp-content/uploads/2012/09/multi-screen-avg-time-spent.png"><img class="alignnone size-medium wp-image-602" title="Multi-Screen Average Time Spent" src="http://lycog.com/wp-content/uploads/2012/09/multi-screen-avg-time-spent-300x191.png" alt="" width="300" height="191" /></a></p>
<h2>Key Findings</h2>
<p><a href="http://lycog.com/wp-content/uploads/2012/09/Multi-screen-lessons-to-apply1.png"><img class="alignnone size-medium wp-image-603" title="Multi-screen lessons to apply 1" src="http://lycog.com/wp-content/uploads/2012/09/Multi-screen-lessons-to-apply1-300x179.png" alt="" width="300" height="179" /></a></p>
<p><a href="http://lycog.com/wp-content/uploads/2012/09/Multi-screen-lessons-to-apply2.png"><img class="alignnone size-medium wp-image-604" title="Multi-screen lessons to apply 2" src="http://lycog.com/wp-content/uploads/2012/09/Multi-screen-lessons-to-apply2-300x195.png" alt="" width="300" height="195" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/news/the-new-multi-screen-world-understanding-cross-platform-consumer-behavior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google BigQuery</title>
		<link>http://lycog.com/distributed-systems/google-bigquery/</link>
		<comments>http://lycog.com/distributed-systems/google-bigquery/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 02:21:02 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Distributed Systems]]></category>
		<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=595</guid>
		<description><![CDATA[Google designed BigQuery as a cloud service for running fast queries against massive datasets, but with lofty ambitions there’s always room to take a step back. Now, users that don’t require super speed can run batch queries, and can connect to the service using Microsoft Excel. For more information please visit official page: https://developers.google.com/bigquery/ Google BigQuery [...]]]></description>
				<content:encoded><![CDATA[<p>Google designed BigQuery as a cloud service for running fast queries against massive datasets, but with lofty ambitions there’s always room to take a step back. Now, users that don’t require super speed can run batch queries, and can connect to the service using Microsoft Excel.</p>
<p>For more information please visit official page: <a href="https://developers.google.com/bigquery/">https://developers.google.com/bigquery/</a></p>
<p><img class="alignnone" title="Google BigQuery" src="https://developers.google.com/bigquery/images/big_banner.png" alt="" width="600" height="220" /></p>
<p>Google BigQuery Service allows you to run SQL-like queries against very large datasets, with potentially billions of rows. This can be your own data, or data that someone else has shared for you. BigQuery works best for interactive analysis of very large datasets, typically using a small number of very large, append-only tables. For more traditional relational database scenarios, you might consider using <a href="https://developers.google.com/cloud-sql">Google Cloud SQL</a> instead. You can use BigQuery through a web UI called the <a href="https://developers.google.com/bigquery/docs/browser_tool">BigQuery browser tool</a>, the <a href="https://developers.google.com/bigquery/docs/cli_tool">bq command-line tool</a>, or by making calls to the REST API using various client libraries in multiple languages, such as Java, Python, etc.</p>
<div style="width: 100%;">
<div style="float: left; width: 60%;">
<h3>Features</h3>
<p>BigQuery offers the following features:</p>
<ul>
<li><strong>Speed</strong> &#8211; Analyze billions of rows in seconds.</li>
<li><strong>Scale</strong> &#8211; Terabytes of data, trillions of records.</li>
<li><strong>Simplicity</strong> &#8211; SQL-like query language, hosted on Google infrastructure.</li>
<li><strong>Sharing</strong> &#8211; Powerful group- and user-based permissions using Google accounts.</li>
<li><strong>Security</strong> &#8211; Secure SSL access.</li>
<li><strong>Multiple access methods</strong> &#8211; Connect to BigQuery using the BigQuery browser, the bq command-line tool, the REST API, or Google Apps Script.</li>
</ul>
</div>
<div style="float: left; width: 40%;">
<h3>Best Uses</h3>
<p>BigQuery is ideal for the following uses:</p>
<ul>
<li>Ad-hoc analysis</li>
<li>Standardized reporting</li>
<li>Data exploration</li>
<li>Web applications</li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/distributed-systems/google-bigquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Accord.NET Framework</title>
		<link>http://lycog.com/programming/the-accord-net-framework/</link>
		<comments>http://lycog.com/programming/the-accord-net-framework/#comments</comments>
		<pubDate>Thu, 31 May 2012 01:55:27 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=588</guid>
		<description><![CDATA[Accord.NET Framework is one among the best open source .NET framework written in C# for researcher in scientific computing. Here is the description of what containing in this framework. For more information please visit: http://code.google.com/p/accord/ Scientific Computing Accord.Math - Contains a matrix extension library, along with a suite of numerical matrix decomposition methods, numerical optimization algorithms for [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_590" class="wp-caption alignleft" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/Accord.NET_.png"><img class="size-medium wp-image-590" title="Accord.NET Framework" src="http://lycog.com/wp-content/uploads/2012/05/Accord.NET_-300x223.png" alt="Accord.NET Framework" width="300" height="223" /></a><p class="wp-caption-text">Accord.NET Framework</p></div>
<p>Accord.NET Framework is one among the best open source .NET framework written in C# for researcher in scientific computing. Here is the description of what containing in this framework. For more information please visit: <a href="http://code.google.com/p/accord/">http://code.google.com/p/accord/</a></p>
<div style="clear: both;"></div>
<h3>Scientific Computing</h3>
<ul>
<li><strong>Accord.Math</strong> - Contains a matrix extension library, along with a suite of numerical matrix decomposition methods, numerical optimization algorithms for constrained and unconstrained problems, special functions and other tools for scientific applications.</li>
</ul>
<ul>
<li><strong>Accord.Statistics</strong> - Probability distributions, statistical models and methods such as Linear and Logistic regression, Hidden Markov Models, (Hidden) Conditional Random Fields, Principal Component Analysis, Partial Least Squares, Discriminant Analysis, Kernel methods and functions and many other related techniques.</li>
</ul>
<ul>
<li><strong>Accord.<a href="http://code.google.com/p/accord/wiki/MachineLearning">MachineLearning</a></strong> - Support Vector Machines, Decision Trees, Naive Bayesian models, K-means, Gaussian Mixture models and general algorithms such as Ransac, Cross-validation and Grid-Search for machine-learning applications.</li>
</ul>
<ul>
<li><strong>Accord.Neuro</strong> - Neural learning algorithms such as Levenberg-Marquardt, Parallel Resilient Backpropagation, initialization procedures such as Nguyen-Widrow and other neural network related methods.</li>
</ul>
<h3><a name="Signal_and_Image_Processing"></a>Signal and Image Processing</h3>
<ul>
<li><strong>Accord.Imaging</strong> - Interest point detectors (Harris, SURF and FAST), image matching and image stitching methods</li>
</ul>
<ul>
<li><strong>Accord.Audio</strong> - Process, transforms, filters and handle audio signals for machine learning and statistical applications.</li>
</ul>
<ul>
<li><strong>Accord.Vision</strong> - Real-time face detection and tracking, as well as general methods for detecting, tracking and transforming objects in image streams. Contains cascade definitions, Camshift and Dynamic Template Matching trackers.Support Libraries</li>
</ul>
<ul>
<li><strong>Accord.Controls</strong> - Histograms, scatterplots and tabular data viewers for scientific applications.</li>
</ul>
<ul>
<li><strong>Accord.Controls.Imaging</strong> - Windows Forms controls to show and handle images. Contains a convenient ImageBox control which mimics the traditional MessageBox behavior for quickly displaying or inspecting images.</li>
</ul>
<ul>
<li><strong>Accord.Controls.Audio</strong> - Windows Forms controls to display waveforms and audio-related information.</li>
</ul>
<ul>
<li><strong>Accord.Controls.Vision</strong> - Windows Forms components and controls to track head, face and hand movements and other computer vision related tasks.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/programming/the-accord-net-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moore&#8217;s Law is Slowing Down: Prof. Michio Kaku</title>
		<link>http://lycog.com/distributed-systems/moores-law-is-slowing-down-prof-michio-kaku/</link>
		<comments>http://lycog.com/distributed-systems/moores-law-is-slowing-down-prof-michio-kaku/#comments</comments>
		<pubDate>Tue, 22 May 2012 02:36:46 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Distributed Systems]]></category>
		<category><![CDATA[moore law]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=584</guid>
		<description><![CDATA[Moore&#8217;s Law is going to slow down because of the capacity of silicon technology; meaning that computer power is not going to be exponentially increased. The two basic problems are heat and leakage. If the chip is too small, it is so intense that can melt the chip. Leakage: if it is too small and [...]]]></description>
				<content:encoded><![CDATA[<p><a title="Moore’s Law" href="http://lycog.com/distributed-systems/moores-law/">Moore&#8217;s Law</a> is going to slow down because of the capacity of silicon technology; meaning that computer power is not going to be exponentially increased. The two basic problems are <strong>heat</strong> and <strong>leakage</strong>. If the chip is too small, it is so intense that can melt the chip. Leakage: if it is too small and so intense, the chip may not handle the electron running inside the chip. Prof. Michio Kaku, physicist, is trying to explain why it would be happened. Intel also admitted by start moving to 3D chip, he noted. He also gives some candidates for post-silicon era. They are molecule computer and quantum computer.</p>
<p>Please watch his talk for detail.</p>
<p><object style="height: 390px; width: 640px;" width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/bm6ScvNygUU?version=3&amp;feature=player_detailpage" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed style="height: 390px; width: 640px;" width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/bm6ScvNygUU?version=3&amp;feature=player_detailpage" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/distributed-systems/moores-law-is-slowing-down-prof-michio-kaku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Example of ClickOnce Deployment</title>
		<link>http://lycog.com/programming/example-of-clickonce-deployment/</link>
		<comments>http://lycog.com/programming/example-of-clickonce-deployment/#comments</comments>
		<pubDate>Sun, 20 May 2012 08:54:49 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ClickOnce]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=559</guid>
		<description><![CDATA[Without any tool, deployment of desktop application is really painful. In the old day, developers need to write an auto-updated application by themselves. However, now ClickOnce, Microsoft product, could leverage this task easily. ClickOnce allows user to setup and run program directly from a webpage. The deployment files will be published to the a friendly [...]]]></description>
				<content:encoded><![CDATA[<p>Without any tool, deployment of desktop application is really painful. In the old day, developers need to write an auto-updated application by themselves. However, now ClickOnce, Microsoft product, could leverage this task easily. ClickOnce allows user to setup and run program directly from a webpage. The deployment files will be published to the a friendly URL and then access at the client computer. There is an option for client to check update every program run or any point in the program. This technique is very similar to Java Web Start.</p>
<p>I will show how to achieve it in this demo.</p>
<h3> 1. Architecture</h3>
<div id="attachment_562" class="wp-caption alignnone" style="width: 303px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-arch.png"><img class="size-medium wp-image-562" title="ClickOnce Architecture" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-arch-293x300.png" alt="" width="293" height="300" /></a><p class="wp-caption-text">ClickOnce Architecture</p></div>
<h3>2. Source Code</h3>
<p>I just want to show a snapshot of code in LoginForm and UpdateForm.</p>
<p>LoginForm</p>
<pre class="brush: csharp, toolbar:false;">using System;
using System.Deployment.Application;
using System.Windows.Forms;

namespace RVD.Win.View
{
  public partial class LoginForm : Form
  {
    public LoginForm()
    {
      InitializeComponent();
    }

    private void LoginForm_Load(object sender, EventArgs e)
    {
      CheckForUpdate();
    }

    private void CheckForUpdate()
    {
      var appDeploy = ApplicationDeployment.CurrentDeployment;

      //Check for update
      var update = appDeploy.CheckForDetailedUpdate();
      if(appDeploy.CheckForUpdate())
      {
        MessageBox.Show(@"The system needs to be updated to version: " + update.AvailableVersion, @"Update",
                        MessageBoxButtons.OK, MessageBoxIcon.Information);
        var deployForm = new AppDeployPopup {AppDeploy = appDeploy, IsUpdateAvailable = true};
        deployForm.ShowDialog();

        if (deployForm.ShouldAppRestart)
        {
          Visible = false;
          Close();  
          Application.Restart(); 
        }
      }
    }
  }
}</pre>
<p>UpdateForm here, I would call AppDeployPopup. We are invoking<br />
<code>UpdateAsync()</code><br />
method to update the software asynchronously. This method support two events called <code>AsyncCompletedEvent</code> and <code>DeploymentProgressChangedEvent</code>. We will use this event to show downloading progress in the form as well as closing the form after updating is completed.</p>
<pre class="brush: csharp, toolbar:false;">using System;
using System.ComponentModel;
using System.Deployment.Application;
using System.Windows.Forms;

namespace RVD.Win.View.Popup
{
  public partial class AppDeployPopup : Form
  {
    public AppDeployPopup()
    {
      InitializeComponent();
    }

    #region Properties

    public ApplicationDeployment AppDeploy { get; set; }

    public bool IsUpdateAvailable { get; set; }

    public bool ShouldAppRestart { get; set; }

    #endregion

    private void AppDeployPopup_Load(object sender, EventArgs e)
    {
      Cursor = Cursors.WaitCursor;

      try
      {
        if (IsUpdateAvailable) BeginUpdate();
      }catch(Exception exception)
      {
        MessageBox.Show(@"Unexpected error during updating this software. \n" + exception.Message);
      }finally
      {
        Cursor = Cursors.Default;
      }
    }

    private void BeginUpdate()
    {

      AppDeploy.UpdateCompleted += new AsyncCompletedEventHandler(AppDeploy_UpdateCompleted);

      AppDeploy.UpdateProgressChanged += new DeploymentProgressChangedEventHandler(AppDeploy_UpdateProgressChanged);

      AppDeploy.UpdateAsync();
    }

    private void AppDeploy_UpdateCompleted(object sender, AsyncCompletedEventArgs e)
    {
      ShouldAppRestart = false;
      if (e.Cancelled)
      {
        MessageBox.Show(@"The update of the application's latest version was cancelled.", @"Warning",
                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
      }
      else if (e.Error != null)
      {
        MessageBox.Show(@"There was an error during updating. Please contact your system administrator.", @"Error",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
      }
      else
      {
        ShouldAppRestart = true;
      }
      Close();
    }

    private void AppDeploy_UpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e)
    {
      var progressText = String.Format("Downloading: {0:D}K out of {1:D}K downloaded - {2:D}% complete", e.BytesCompleted/1024,
                                          e.BytesTotal/1024, e.ProgressPercentage);
      lblDownloadStatus.Text = progressText;
      pgbDownload.Value = e.ProgressPercentage;
    }
  }
}</pre>
<p><span id="more-559"></span></p>
<h3> 3. Publish</h3>
<div id="attachment_565" class="wp-caption alignleft" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-publish.png"><img class="size-medium wp-image-565" title="ClickOnce Publish Page" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-publish-300x194.png" alt="" width="300" height="194" /></a><p class="wp-caption-text">ClickOnce Publish Page</p></div>
<p>You should publish the program or iterated update program to location where accessed by IIS for application web deployment. In this example, we publish to ftp server. To see the page, right click on Project in Solution Explorer and then choose Properties.</p>
<p>&nbsp;</p>
<div style="clear: both;"></div>
<div id="attachment_566" class="wp-caption alignleft" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-application-files.png"><img class="size-medium wp-image-566" title="ClickOnce Application Files" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-application-files-300x215.png" alt="" width="300" height="215" /></a><p class="wp-caption-text">ClickOnce Application Files</p></div>
<p><strong>Application Files Button</strong></p>
<p>Choose the library required by the program. You have an option to include or exclude those libraries.</p>
<p>&nbsp;</p>
<div style="clear: both;"></div>
<div id="attachment_568" class="wp-caption alignleft" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-prerequisites.png"><img class="size-medium wp-image-568" title="ClickOnce Prerequisites" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-prerequisites-300x232.png" alt="" width="300" height="232" /></a><p class="wp-caption-text">ClickOnce Prerequisites</p></div>
<p><strong>Prerequisites Button</strong></p>
<p>Show an option for prerequisites library or program. In this example, we choose to create a setup file for prerequisites. We choose Microsoft .NET Framework 4 and Windows Installer. So if the client does not have these files, it will automatically setup these files first before running our program.</p>
<p>&nbsp;</p>
<div style="clear: both;"></div>
<div id="attachment_569" class="wp-caption alignleft" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-update.png"><img class="size-medium wp-image-569" title="ClickOnce Update Page" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-update-300x254.png" alt="" width="300" height="254" /></a><p class="wp-caption-text">ClickOnce Update Page</p></div>
<p><strong>Update Button</strong></p>
<p>This page will tell how to client check update. In this example, we did not allow any update. However, we have done manually in the source code above. Our code is flexible than the default configuration.</p>
<p>&nbsp;</p>
<div style="clear: both;"></div>
<div id="attachment_570" class="wp-caption alignleft" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-options.png"><img class="size-medium wp-image-570" title="ClickOnce Option" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-options-300x175.png" alt="" width="300" height="175" /></a><p class="wp-caption-text">ClickOnce Option</p></div>
<p><strong>Options</strong></p>
<p>This page showing more options on modifying the description of program, deployment, manifest and file association. In this example, I keep it as default except the Deployment webpage.</p>
<p>&nbsp;</p>
<div style="clear: both;"></div>
<h3>4. Output Files</h3>
<div id="attachment_571" class="wp-caption alignleft" style="width: 169px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-output-files.png"><img class="size-full wp-image-571" title="ClickOnce Output Files" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-output-files.png" alt="" width="159" height="136" /></a><p class="wp-caption-text">ClickOnce Output Files</p></div>
<p>After publishing, some program files will be created in the designed folder. These files is enough for mapping a virtual directory in IIS; so that client can access by friendly URL.</p>
<p>&nbsp;</p>
<div style="clear: both;"></div>
<h3>5. Configure IIS for the publishing files</h3>
<div id="attachment_575" class="wp-caption alignnone" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-iis.png"><img class="size-medium wp-image-575" title="ClickOnce IIS Configuration" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-iis-300x184.png" alt="" width="300" height="184" /></a><p class="wp-caption-text">ClickOnce IIS Configuration</p></div>
<h3>6. Client Setup</h3>
<p>Please use Internet Explorer for full support. Just type URL in the address bar then the setup page will be appeared.</p>
<p>&nbsp;</p>
<div id="attachment_576" class="wp-caption alignnone" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-setup-page.png"><img class="size-medium wp-image-576" title="ClickOnce Setup Page at Client" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-setup-page-300x167.png" alt="" width="300" height="167" /></a><p class="wp-caption-text">ClickOnce Setup Page at Client</p></div>
<div id="attachment_577" class="wp-caption alignnone" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-setup-dialog.png"><img class="size-medium wp-image-577" title="ClickOnce Setup Dialog" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-setup-dialog-300x179.png" alt="" width="300" height="179" /></a><p class="wp-caption-text">ClickOnce Setup Dialog</p></div>
<h3>7. Update at Client</h3>
<p>Client checks update on the start up. If update is available it will show the information and perform update.</p>
<div id="attachment_579" class="wp-caption alignnone" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-show-update-available.png"><img class="size-medium wp-image-579" title="ClickOnce Showing Update Is Available" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-show-update-available-300x123.png" alt="" width="300" height="123" /></a><p class="wp-caption-text">ClickOnce Showing Update Is Available</p></div>
<div id="attachment_580" class="wp-caption alignnone" style="width: 310px"><a href="http://lycog.com/wp-content/uploads/2012/05/clickonce-update-in-progress.png"><img class="size-medium wp-image-580" title="ClickOnce Updating is in Progress" src="http://lycog.com/wp-content/uploads/2012/05/clickonce-update-in-progress-300x105.png" alt="" width="300" height="105" /></a><p class="wp-caption-text">ClickOnce Updating is in Progress</p></div>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/programming/example-of-clickonce-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joljet.net</title>
		<link>http://lycog.com/news/joljet-net/</link>
		<comments>http://lycog.com/news/joljet-net/#comments</comments>
		<pubDate>Tue, 08 May 2012 07:10:50 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=553</guid>
		<description><![CDATA[Dude interested in Cambodia music should drop by play.joljet.net]]></description>
				<content:encoded><![CDATA[<p>Dude interested in Cambodia music should drop by <a title="JolJet Hitz" href="http://play.joljet.net" target="_blank">play.joljet.net</a></p>
<p><a href="http://lycog.com/wp-content/uploads/2012/05/joljet.png"><img class="alignnone size-medium wp-image-554" title="joljet" src="http://lycog.com/wp-content/uploads/2012/05/joljet-300x163.png" alt="" width="300" height="163" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/news/joljet-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NHibernate 3.2 Mapping by Code: Component Mapping</title>
		<link>http://lycog.com/programming/nhibernate-32-mapping-code-component-mapping/</link>
		<comments>http://lycog.com/programming/nhibernate-32-mapping-code-component-mapping/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 02:24:07 +0000</pubDate>
		<dc:creator>Nguonly Taing</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[NHibernate]]></category>

		<guid isPermaLink="false">http://lycog.com/?p=539</guid>
		<description><![CDATA[Component mapping in NHibernate 3.2 Mapping by code provides a very flexible way. You can have multiples static method for returning Action&#60;IComponentMapper&#60;Address&#62;&#62; for the same component class. So that you can reuse it in different place with more customization. In this example, we have Veteran class and Address class as a component. &#160; Entity class [...]]]></description>
				<content:encoded><![CDATA[<p>Component mapping in NHibernate 3.2 Mapping by code provides a very flexible way. You can have multiples static method for returning Action&lt;IComponentMapper&lt;Address&gt;&gt; for the same component class. So that you can reuse it in different place with more customization.</p>
<p>In this example, we have Veteran class and Address class as a component.</p>
<p><a href="http://lycog.com/wp-content/uploads/2011/10/class_component.png"><img class="alignnone size-medium wp-image-540" title="class_component" src="http://lycog.com/wp-content/uploads/2011/10/class_component-300x150.png" alt="" width="300" height="150" /></a></p>
<p>&nbsp;</p>
<h3>Entity class files</h3>
<p><strong>Address.cs</strong></p>
<pre class="brush: csharp, toolbar: false;">  public class Address
  {
    public virtual string HouseNo { get; set; }
    public virtual string Street { get; set; }
    public virtual string Commune { get; set; }
    public virtual string District { get; set; }
    public virtual string Province { get; set; }
  }</pre>
<p><strong>Veteran.cs</strong></p>
<pre class="brush: csharp, toolbar: false;">  public class Veteran
  {
    public virtual Guid Id { get; set; }
    public virtual string Name { get; set; }
    public virtual Address Address { get; set; }
  }</pre>
<h3>Entity mapping class files</h3>
<p><strong>AddressMap.cs</strong></p>
<pre class="brush: csharp; toolbar: false;">  public class AddressMap
  {
    public static Action&lt;IComponentMapper&lt;Address&gt;&gt; Mapping()
    {
      return c =&gt;
               {
                 c.Property(p =&gt; p.HouseNo);
                 c.Property(p =&gt; p.Street);
                 c.Property(p =&gt; p.Commune);
                 c.Property(p =&gt; p.District);
                 c.Property(p =&gt; p.Province);
               };
    }
  }</pre>
<p><strong>VeteranMap.cs</strong></p>
<pre class="brush: csharp; toolbar: false; highlight:[7];">  public class VeteranMap : ClassMapping
  {
    public VeteranMap()
    {
      Id(p=&gt;p.Id, map=&gt;map.Generator(Generators.GuidComb));
      Property(p=&gt;p.Name);
      Component(p=&gt;p.Address, AddressMap.Mapping());
    }
  }</pre>
]]></content:encoded>
			<wfw:commentRss>http://lycog.com/programming/nhibernate-32-mapping-code-component-mapping/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: lycog.com @ 2013-05-22 02:16:37 by W3 Total Cache -->