<?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>Hamiltonian Consulting - Information Technology, System Analysis and Design</title>
	<atom:link href="http://codeskilled.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeskilled.com</link>
	<description>Information Technology, Database Consulting, Programmer Analyst, System Development</description>
	<lastBuildDate>Fri, 03 Jun 2011 01:39:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tracking retail traffic &#8211; Data visualization and Computer Vision</title>
		<link>http://codeskilled.com/89/tracking-retail-traffic-data-visualization-and-computer-vision/</link>
		<comments>http://codeskilled.com/89/tracking-retail-traffic-data-visualization-and-computer-vision/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 01:36:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://codeskilled.com/?p=89</guid>
		<description><![CDATA[Looking for data visualization software?
Data visualization is a major part of our development platform. Business decisions will be taken to a new level. Using computer systems that can build proper data visualizations are used to aid in decision making.
Example of tracking is shown earlier with tracking mouse movements on a web page. This is key [...]]]></description>
			<content:encoded><![CDATA[<p>Looking for data visualization software?</p>
<p>Data visualization is a major part of our development platform. Business decisions will be taken to a new level. Using computer systems that can build proper data visualizations are used to aid in decision making.</p>
<p>Example of tracking is shown earlier with tracking mouse movements on a web page. This is key to making decisions on on placement of items in an internet store front. This example is easily extended into a real, physical store front as well.</p>
<p>Using computer vision technology, people are easily tracked through video, for example surveillance, and capturing position data. Later this data can be visualized, and used to determine best product placements.</p>
<p><a href="/contact-us/">Contact us for more information</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/89/tracking-retail-traffic-data-visualization-and-computer-vision/feed/</wfw:commentRss>
		<slash:comments>108</slash:comments>
		</item>
		<item>
		<title>SEO  SERP Heatmap Development using JQuery and PHP/MYSQL</title>
		<link>http://codeskilled.com/84/seo-serp-heatmap-development-using-jquery-and-phpmysql/</link>
		<comments>http://codeskilled.com/84/seo-serp-heatmap-development-using-jquery-and-phpmysql/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 00:11:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Heat map]]></category>
		<category><![CDATA[heatmap]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[SERP]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://codeskilled.com/84/seo-serp-heatmap-development-using-jquery-and-phpmysql/</guid>
		<description><![CDATA[Seo Development &#8211; Maximizing your page layout potential


One way to maximize ad revenue, and user experience is through trial and error
Our approach, use a custom heat map that can track users&#8217; mouse movements and clicks. This will give us a better idea on how to monetize our site better, sell better, improve user experience and [...]]]></description>
			<content:encoded><![CDATA[<h2>Seo Development &#8211; Maximizing your page layout potential<br />
<h2>
<p><a href="http://codeskilled.com/wp-content/uploads/2011/05/heatmap1.png"><img src="http://codeskilled.com/wp-content/uploads/2011/05/heatmap1-300x240.png" alt="A heatmap done for a site sheet music tabs" title="heatmap1" width="300" height="240" class="size-medium wp-image-83" /></a></p>
<h3>One way to maximize ad revenue, and user experience is through trial and error</h3>
<p>Our approach, use a custom heat map that can track users&#8217; mouse movements and clicks. This will give us a better idea on how to monetize our site better, sell better, improve user experience and more.</p>
<p>Check out the image above so see an example heat map.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/84/seo-serp-heatmap-development-using-jquery-and-phpmysql/feed/</wfw:commentRss>
		<slash:comments>112</slash:comments>
		</item>
		<item>
		<title>Real Time Data Reporting Dashboard</title>
		<link>http://codeskilled.com/71/real-time-data-reporting-dashboard/</link>
		<comments>http://codeskilled.com/71/real-time-data-reporting-dashboard/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 00:05:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://codeskilled.com/?p=71</guid>
		<description><![CDATA[Developing reporting applications using HTML 5 web standards helps users to have access to data anywhere at any time using a variety of devices. Perfect for managers and CRM type systems, these tools can help make decisions based on real time up to date data.
An example of some HTML 5 reports using the canvas tag [...]]]></description>
			<content:encoded><![CDATA[<p>Developing reporting applications using HTML 5 web standards helps users to have access to data anywhere at any time using a variety of devices. Perfect for managers and CRM type systems, these tools can help make decisions based on real time up to date data.</p>
<p>An example of some HTML 5 reports using the canvas tag developed for our clients:</p>
<div id="attachment_72" class="wp-caption alignleft" style="width: 460px"><a href="http://codeskilled.com/wp-content/uploads/2010/10/report_example-e1288138017809.jpg"><img class="size-full wp-image-72" title="report_example" src="http://codeskilled.com/wp-content/uploads/2010/10/report_example-e1288138017809.jpg" alt="Example of a report generated with HTML 5 canvas" width="450" height="288" /></a><p class="wp-caption-text">Example of a report generated with HTML 5 canvas</p></div>
<p>More information on how to use the canvas tag can be found here:</p>
<p><a href="http://programminglinuxgames.blogspot.com/2010/07/using-canvas-in-firefox-and-safari-for.html">http://programminglinuxgames.blogspot.com/2010/07/using-canvas-in-firefox-and-safari-for.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/71/real-time-data-reporting-dashboard/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
		</item>
		<item>
		<title>Linux HA &#8211; Load Balancing and High Availability</title>
		<link>http://codeskilled.com/57/linux-ha-load-balancing-and-high-availability/</link>
		<comments>http://codeskilled.com/57/linux-ha-load-balancing-and-high-availability/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 17:17:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://codeskilled.com/?p=57</guid>
		<description><![CDATA[Linux HA &#8211; Heartbeat, ldirectord, apache, mysql, debian
Today, the internet is booming. Millions of people are viewing billions of pages. Some of the larger sites require robust hardware setups if the content they are serving is remotely complex, involving things like relational databases and dynamic content. We are going to look at a practical solution [...]]]></description>
			<content:encoded><![CDATA[<h2>Linux HA &#8211; Heartbeat, ldirectord, apache, mysql, debian</h2>
<p>Today, the internet is booming. Millions of people are viewing billions of pages. Some of the larger sites require robust hardware setups if the content they are serving is remotely complex, involving things like relational databases and dynamic content. We are going to look at a practical solution that is both cost effective and scalable to handle varying loads. High availability and load balancing is a technique that we can implement with apache and mysql using Heartbeat, a small, open source software package.</p>
<p>There are many ways this package can be set up. What we require is a number of physical servers, each behind a router. Our goals here are to have Fault Tolerance, as well as performance scalability.</p>
<h2>Simple Linux HA &#8211; Scalable Performance</h2>
<p>Our first configuration lacks some high availability features. It has a single point of failure, the load balancing machine Linux HA-1. Other possible points of failures are the router, and the network file storage. These two problems can be solved by looking elsewhere and are not necessarily in the scope of this article. </p>
<p>This is our original layout and has served quite well in many cases. It is simpler to set up and scales well as we add more machines.</p>
<p>The MySQL servers are set up in master-master replication mode. So a write on either of the machines will replicate to the other and vice-versa. </p>
<p><a href="http://codeskilled.com/wp-content/uploads/2010/09/linux-ha11.jpg"><img src="http://codeskilled.com/wp-content/uploads/2010/09/linux-ha11.jpg" alt="Diagram of Linux HA simple layout" title="linux-ha1" class="alignleft size-full wp-image-60" /></a></p>
<p>The performance here is achieved by using the ldirectord daemon running on Linux HA-1. It acts as both the apache server and the mysql server. It keeps track of open connections on each machine, and routes the next new connection to the machine (apache or mysql) to the least loaded host (an algorithm chosen in the ldirectord configuration).</p>
<p>An example on how to set this up in a how-to fashion can be found at our blog <a href="http://programminglinuxgames.blogspot.com/2010/09/load-balancing-web-servers-using.html" title="Load Balancing Web Servers using ldirectord">http://programminglinuxgames.blogspot.com/2010/09/load-balancing-web-servers-using.html</a></p>
<p>Note this example does not use heartbeat. Heartbeat is a useful tool that will give you the fault tolerance in this set up. Below we will discuss more</p>
<h2>Linux HA &#8211; Fault Tolerance and Scalable Performance</h2>
<p>The next logical step in this is to remove the single point of failure, the Linux HA-1 machine. What we can do is set up heartbeat on 2 machines, and allow one to take over if the other fails at any time. </p>
<p>In order for one to take over for another, we will have both of these machines using a &#8220;virtual&#8221; network interface. This is just a 2nd IP address, using the virtual interface supported in linux. The circle surrounding Linux HA-1 and Linux HA-2 represents this network interface. You must assign it a separate, new IP address, and have your router route all traffic to that virtual IP address.</p>
<p><a href="http://codeskilled.com/wp-content/uploads/2010/09/linux-ha2.jpg"><img src="http://codeskilled.com/wp-content/uploads/2010/09/linux-ha2.jpg" alt="Highly Available and Performance Scalable set-up" title="linux-ha2" class="alignleft size-full wp-image-59" /></a></p>
<h2>More Information</h2>
<p><a href="http://www.linux-ha.org/wiki/Main_Page">http://www.linux-ha.org/wiki/Main_Page &#8211; Linux HA</a><br />
<a href="http://www.ultramonkey.org/3/linux-ha.html">http://www.ultramonkey.org/3/linux-ha.html &#8211; Ultramonkey (Heartbeat and Ldirectord)<br />
<a href="http://en.wikipedia.org/wiki/Linux-HA">http://en.wikipedia.org/wiki/Linux-HA &#8211;  Wikipedia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/57/linux-ha-load-balancing-and-high-availability/feed/</wfw:commentRss>
		<slash:comments>162</slash:comments>
		</item>
		<item>
		<title>Check out our blog</title>
		<link>http://codeskilled.com/52/check-out-our-blog/</link>
		<comments>http://codeskilled.com/52/check-out-our-blog/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 03:30:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-to]]></category>

		<guid isPermaLink="false">http://codeskilled.com/?p=52</guid>
		<description><![CDATA[About our Blog: More How-To Information
For lots more how-to information, check out my blog at http://programminglinuxgames.blogspot.com/. 
]]></description>
			<content:encoded><![CDATA[<h2>About our Blog: More How-To Information</h2>
<p>For lots more how-to information, check out my blog at <a href="http://programminglinuxgames.blogspot.com/" title="Hamiltonian Information Technology Consulting's blog">http://programminglinuxgames.blogspot.com/</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/52/check-out-our-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python OpenCL Example OpenCL Language</title>
		<link>http://codeskilled.com/24/python-opencl-example-opencl-language/</link>
		<comments>http://codeskilled.com/24/python-opencl-example-opencl-language/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 23:54:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[opencl]]></category>

		<guid isPermaLink="false">http://codeskilled.com/?p=24</guid>
		<description><![CDATA[Introduction to OpenCL and PyOpenCL. A quick description of OpenCL language and API]]></description>
			<content:encoded><![CDATA[<h3>Python OpenCL Example: pyOpenCL</h3>
<h4>Example of a program written in the OpenCL programming language.</h4>
<p>Below is an example of a program written in <a href="http://en.wikipedia.org/wiki/OpenCL" title="OpenCL wikipedia article">OpenCL</a>. This language is written to allow highly parallel processes to be computed on any type of highly parallel processor(s). This is an example from the &#8216;examples&#8217; folder of pyOpenCL.</p>
<h4>About OpenCL</h4>
<p>OpenCL stands for Open Computing Language. Its goal is to allow writing of programs across multiple platforms. One of the advantages of OpenCL is its ability to allow programs to be written for the GPU. The GPU is one of the most parallel processors to date and offers large amounts of parallel processing power. You will find OpenCL support in Linux, Windows, and MacOS (Snow Leopard or newer only unfortunately). You will find full support for the GPU using NVidia or ATI video cards and any of the previous operating systems. Also OpenCL is supported for some multi-core or multiple CPU set ups.</p>
<h4>Alternatives</h4>
<p>Other similar packages are NVidia&#8217;s <a href="http://en.wikipedia.org/wiki/CUDA">Compute Unified Device Architecture or CUDA</a> and Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/DirectCompute">DirectCompute</a>. None of these are quite as cross-platform as OpenCL.</p>
<h4>Overview</h4>
<p>We create 2 arrays of random numbers (using the numpy package) then write an OpenCL &#8216;kernel&#8217; that will sum the 2 arrays, and write to an output buffer the results. We then read that buffer back into python&#8217;s memory and print out statistics on that array.</p>
<h4>Source Code</h4>
<pre>
import pyopencl as cl
import numpy
import numpy.linalg as la

a = numpy.random.rand(50000).astype(numpy.float32)
b = numpy.random.rand(50000).astype(numpy.float32)

ctx = cl.create_some_context()
queue = cl.CommandQueue(ctx)

mf = cl.mem_flags
a_buf = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=a)
b_buf = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=b)
dest_buf = cl.Buffer(ctx, mf.WRITE_ONLY, b.nbytes)

prg = cl.Program(ctx, """
__kernel void sum(__global const float *a,
__global const float *b, __global float *c) {
     int gid = get_global_id(0);
     c[gid] = a[gid] + b[gid];
}
""").build()

prg.sum(queue, a.shape, a_buf, b_buf, dest_buf)

a_plus_b = numpy.empty_like(a)
cl.enqueue_read_buffer(queue, dest_buf, a_plus_b).wait()

print la.norm(a_plus_b - (a+b)), la.norm(a_plus_b)
</pre>
<h4>Links:</h4>
<p><a href="http://mathema.tician.de/software/pyopencl" title="PyOpenCL homepage">PyOpenCL</a><br />
<a href="http://www.python.org/" title="Python Homepage">Python</a><br />
<a href="http://www.boost.org/" title="Boost Homepage">Boost C++ Libraries</a> (required for PyOpenCL)<br />
<a href="http://en.wikipedia.org/wiki/OpenCL" title="OpenCL wikipedia article">More info on OpenCL</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/24/python-opencl-example-opencl-language/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web Crawling Project</title>
		<link>http://codeskilled.com/8/web-crawling-project/</link>
		<comments>http://codeskilled.com/8/web-crawling-project/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 01:58:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://codeskilled.com/?p=8</guid>
		<description><![CDATA[
Hamiltonian Consulting develops Custom Web Crawling Application


Web Crawling

For the CityDirect network
Task: A system was developed for web data mining. Users were able to input specialized URLs to guide the crawler, and manually rank data sources for their reliability.
Achievements

Gathered large amounts of data (100s of GB) in a relational database (PostgreSQL).
Multi-process and multi-threaded application written in [...]]]></description>
			<content:encoded><![CDATA[<h2>
Hamiltonian Consulting develops Custom Web Crawling Application<br />
</h2>
<h3>
Web Crawling<br />
</h3>
<h4>For the <a href="http://www.citydirect.info">CityDirect network</a></h4>
<p><strong>Task:</strong> A system was developed for web data mining. Users were able to input specialized URLs to guide the crawler, and manually rank data sources for their reliability.</p>
<p><strong>Achievements</strong></p>
<ul>
<li>Gathered large amounts of data (100s of GB) in a relational database (PostgreSQL).</li>
<li>Multi-process and multi-threaded application written in Python.</li>
<li>Due to code reuse and good practices, delivered system in half the time others had quoted.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codeskilled.com/8/web-crawling-project/feed/</wfw:commentRss>
		<slash:comments>137</slash:comments>
		</item>
	</channel>
</rss>

