<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Chathura Sarathchandra</title><description>a Computer Scientist #MobileComputing #CloudComputing #MobileCloudComputing</description><managingEditor>noreply@blogger.com (Chathura Sarathchandra)</managingEditor><pubDate>Wed, 7 Feb 2024 04:29:57 GMT</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">38</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://thisismyeye.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>a Computer Scientist #MobileComputing #CloudComputing #MobileCloudComputing</itunes:subtitle><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>Openstack: OpenvSwitch Kernel panic</title><link>http://thisismyeye.blogspot.com/2014/05/openstack-openvswitch-kernel-panic.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Thu, 22 May 2014 14:39:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-626530845936730078</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
When starting openvswtich-swtich or&amp;nbsp;quantum-plugin-openvswitch-agent with enable_tunneling = True the network node kernel panics.&lt;br /&gt;
&lt;br /&gt;
The kernel version linux 3.5.0-41-generic&lt;br /&gt;
Openvswitch version 1.4.6&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Solution&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
Upgrade to Openvswitch version to 1.10.2 from the Havana repositories.&lt;br /&gt;
&lt;br /&gt;







&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;ZH-CN&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
   &lt;w:UseFELayout/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="276"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;

&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
table.MsoNormalTable
 {mso-style-name:"Table Normal";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-parent:"";
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin-top:0cm;
 mso-para-margin-right:0cm;
 mso-para-margin-bottom:10.0pt;
 mso-para-margin-left:0cm;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-fareast-language:ZH-CN;}
&lt;/style&gt;
&lt;![endif]--&gt;



&lt;!--StartFragment--&gt;



&lt;!--EndFragment--&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background: white; color: #3f5fbf; font-family: Consolas; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-GB; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US; mso-font-kerning: 0pt;"&gt;add-apt-repository
-y cloud-archive:Havana &amp;amp;&amp;amp; apt-get update &amp;amp;&amp;amp; apt-get install
openvswitch-switch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span style="background: white; color: #3f5fbf; font-family: Consolas; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-GB; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US; mso-font-kerning: 0pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Enabling Virtio drivers in kernel for running androidx86 on Openstack</title><link>http://thisismyeye.blogspot.com/2014/04/enabling-virtio-drivers-on-kernel-for.html</link><category>Howto</category><category>openstack</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Tue, 1 Apr 2014 23:06:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-736523862571442803</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Guest operating systems running on virtualised systems needs to cooperate with the underlying hypervisors when using virtualised resources. &amp;nbsp;Virtio is a set of standard for disk and network virtualisation that is required to be installed on instances that runs on Openstack. The default Androidx86 kernel does not come with these modules installed. Also, you have to edit the source code of Androidx86 OS to detect the virtualised block devices. Otherwise you will see a screen with "Detecting Android-x86... (continuous dots :s)".&lt;br /&gt;
&lt;br /&gt;
This is what you will see in androidx86 debug mode:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://i62.tinypic.com/1zcjz46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://i62.tinypic.com/1zcjz46.png" height="177" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If you do not want to compile the source and set it up yourself. I have already created the image for you. Download it from &lt;a href="https://sourceforge.net/projects/androidx86-openstack/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
1. First, &amp;nbsp;to compile the OS you have to initialise the build environment. &amp;nbsp;Follow instructions &lt;a href="http://source.android.com/source/initializing.html" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the repo client using instructions &lt;a href="http://source.android.com/source/downloading.html" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
3. Download Androidx86 source from &lt;a href="http://www.android-x86.org/getsourcecode" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
4. Alter the kernel defconfig files in "kernel/arch/x86/configs/android-x86_defconfig"&lt;br /&gt;
&lt;div class="p1"&gt;
and "kernel/arch/x86/configs/android-x86_64_defconfig" by adding following lines.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;CONFIG_VIRT_DRIVERS=Y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_RING=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;
5. To be able to detect virtual block devices, alter the "bootable/newinstaller/initrd/init" file.&amp;nbsp;&lt;/div&gt;
&lt;div class="p1"&gt;
In line 124, Change&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;for device in ${ROOT:-/dev/sr* /dev/[hs]d[a-z]* /dev/mmcblk*}; do&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
to&lt;/div&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;for device in ${ROOT:-/dev/sr* /dev/[hsv]d[a-z]* /dev/mmcblk*}; do&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
6. Insert following lines to device/generic/x86/init.sh&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;#Force dhcp on eth0 interface.
netcfg eth0 dhcp
#Start SSH daemon at startup.
start-ssh &lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
7. Add follwing packages to PRODUCT_PACKAGES in device/generic/x86/packages.mk.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;ssh-keygen
sshd_config
start-ssh
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
8. Then compile.&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
9. Install androidx86 OS onto a disk storage (dvi, vmdk, qcow2) .&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
10. To fetch the nova keypair, create&amp;nbsp;&lt;i&gt;fetchsshkeys&lt;/i&gt;&amp;nbsp;script with following lines in /data/local/.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;#!/system/bin/sh

# Fetch public key using HTTP
cd /data
wget http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key 
cat /data/openssh-key &amp;gt; /data/ssh/authorized_keys

chmod 0600 /data/ssh/authorized_keys
restorecon /data/ssh/authorized_keys

rm /data/openssh-key &lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
11. Make the script executable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;chmod 755 /data/local/fetchsshkeys
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
12. Call the script in /etc/init.sh file.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;#Fetch ssh keys from openstack metadata service.
/data/local/fetchsshkeys
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
13. Upload the disk to Glance.&lt;br /&gt;
&lt;br /&gt;
It should now detect /dev/vda1.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://i62.tinypic.com/2qncdxl.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://i62.tinypic.com/2qncdxl.png" height="209" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;
14. Create a virtual machine using the uploaded image. Your VM should get a private ip. (Make sure to specify a keypair)&lt;br /&gt;
&lt;br /&gt;
15. You should be able to ssh into the androidx86 VM now.&lt;br /&gt;
&lt;br /&gt;
16. To get get GUI, add "nomodeset" to grub.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Thanks to everyone helped me on this issue from Androidx86 mailing list.&lt;/span&gt;&lt;/i&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="http://i62.tinypic.com/1zcjz46_th.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></item><item><title>Openstack Grizzly slow API and timeouts</title><link>http://thisismyeye.blogspot.com/2014/03/openstack-grizzly-slow-api-and-timeouts.html</link><category>openstack</category><category>Software</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 12 Mar 2014 11:40:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-6831255670209766405</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I have come across this issue a while ago on our Openstack testbed that as the amount of API calls increase, the delay when you do API calls increased. &amp;nbsp;Then I discovered that Openstack does not clean the expired tokens automatically when you are using a SQL backend.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://bugs.launchpad.net/ubuntu/+source/keystone/+bug/1032633"&gt;https://bugs.launchpad.net/ubuntu/+source/keystone/+bug/1032633&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
To delete the expired tokens I have created a script so that I can automate this, by creating a cron job.&lt;br /&gt;
&lt;br /&gt;
You can find the script &lt;a href="https://github.com/chathura77/useful_openstackscripts/blob/master/controller/keystone_flush" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;on my github. Download the script and change the password to your mysql password.&lt;br /&gt;
&lt;br /&gt;
Then create a cron job to periodically execute this script.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;0 0 * * * /path/to/keystone_flush 2&amp;gt;&amp;amp;1 &amp;gt;&amp;gt; /path/to/log/keystone_flush.log
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Above cron job will run ones everyday. You may change the timing of the job as you desire.&lt;/div&gt;
&lt;br /&gt;
However this problem is solved in Openstack Havana release.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://blueprints.launchpad.net/keystone/+spec/keystone-manage-token-flush"&gt;https://blueprints.launchpad.net/keystone/+spec/keystone-manage-token-flush&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Openstack Folsom cant ping instance/VM </title><link>http://thisismyeye.blogspot.com/2014/01/openstack-folsom-cant-ping-instancevm.html</link><category>openstack</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 29 Jan 2014 14:02:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-8993658384891121511</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The most annoying bug that I came across when setting up Openstack Folsom was that, after creating the a virtual machine it was not able to reach the metadata service and I was not able to reach the virtual machine.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
After days of debugging, I found out that it was not only me that was having the same issue. Finally it was reported as a known bug to the openstack developers.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
https://bugs.launchpad.net/neutron/+bug/1091605&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The problem seems to be that OpenvSwitch devices have been brought back up after after rebooting. &amp;nbsp;Hence before I upgraded to Grizzily from Folsom, I created the following script and had it running at the boot-up in the network node.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; #!/bin/sh  
   
 #  
 # This script fixes the following bug.  
 # Has to run after reboot.  
 # Bug: https://bugs.launchpad.net/quantum/+bug/1091605  
 #  
 #  
 # Chathura S. Magurawalage  
   
 ((  
 #Check for root permissions  
 # Make sure only root can run our script  
 if [ "$(id -u)" != "0" ]; then  
   echo "This script must be run as root"  
   exit 1  
 fi  
   
 BRIDGE=${BRIDGE:-br0}  
   
 while getopts b:hv option  
 do   
   case "${option}"  
   in  
     b) BRIDGE=${OPTARG};;  
      v) set -x;;  
     h) cat &amp;lt;&amp;lt;EOF   
 Usage: $0 [-b bridge_name]  
   
 Add -v for verbose mode, -h to display this message.  
 EOF  
 exit 0  
 ;;  
      \?) echo "Use -h for help"  
        exit 1;;  
   esac  
 done  
   
 ovs-vsctl del-br br-int  
 ovs-vsctl del-br br-ex  
 ovs-vsctl add-br br-int  
 ovs-vsctl add-br br-ex  
 ovs-vsctl add-port br-ex $BRIDGE  
 ip link set up br-ex  
   
 service quantum-plugin-openvswitch-agent restart  
 service quantum-dhcp-agent restart  
 service quantum-l3-agent restart  
   
 )) 2&amp;gt;&amp;amp;1 | tee $0.log  
   
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Ubuntu Kernel panic when creating Openstack instance</title><link>http://thisismyeye.blogspot.com/2014/01/ubuntu-kernel-panic-when-creating.html</link><category>openstack</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 29 Jan 2014 13:49:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-9111541115381331872</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Currently I am using Openstack Folsom, nova version &amp;nbsp;2013.1.4, Installed on Ubuntu 12.04. &amp;nbsp;I upgraded my compute and network nodes's kernel to &amp;nbsp;"Linux 3.2.0-58-generic". Since then, when I try to create an instance on a the compute nodes or when I restart the network node, the systems goes to Kernel panic.&amp;nbsp;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The only fix for this issue I found, is to downgrade the kernel from "Linux 3.2.0-58-generic" to "Linux 3.2.0-55-generic" on all compute nodes and network node to keep things consistent. &amp;nbsp;The controller nodes does not seem to be affected by this kernel bug.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Also make sure to install the header if the corresponding kernel, if you are installing the kernel. Or if you have already got "Linux 3.2.0-55-generic" kernel installed, then just change it to the default kernel in grub records.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
First find out the index of the kernel in the grub records.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #eeeeee; color: #222222; font-family: 'Ubuntu Mono', 'Ubuntu Beta Mono A', Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 14px; line-height: 18.200000762939453px;"&gt;grep menuentry /boot/grub2/grub.cfg&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #eeeeee; color: #222222; font-family: 'Ubuntu Mono', 'Ubuntu Beta Mono A', Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 14px; line-height: 18.200000762939453px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
Then the fist answer of the following question should help when editing the grub config.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
http://askubuntu.com/questions/216398/set-older-kernel-as-default-grub-entry&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Openstack Grizzily Error "FATAL: Module openvswitch_mod not found" when start openvswitch or at startup</title><link>http://thisismyeye.blogspot.com/2014/01/openstack-grizzily-error-fatal-module.html</link><category>openstack</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 29 Jan 2014 13:26:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-517076639214243747</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h3 class="post-title entry-title" itemprop="name" style="background-color: white; color: #29aae1; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 18px; margin: 0px; position: relative;"&gt;
&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;I came across this error on Openstack Grizzily installed on Ubuntu 12.04 LTS, when I upgrade or degrade the linux kernel. So its very likely that you will get this error after running a "dist-upgrade" on your system.&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;The cause of this problem seem to be that when a different kernel is used, the openvswitch modules have not been built &amp;nbsp;with it.&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;Error:&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;FATAL: Module openvswitch_mod not found.&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;&amp;nbsp;* Inserting openvswitch module&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;&amp;nbsp;* not removing bridge module because bridges exist (virbr0)&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;invoke-rc.d: initscript openvswitch-switch, action "load-kmod" failed.&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;Solution:&lt;/span&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;br style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;" /&gt;&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;Copy the following script to a file. Then save.&lt;/span&gt;&lt;/h3&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; #!/bin/bash  
   
 sudo apt-get install linux-headers-$(uname -r)  
   
 depmod  
 modprobe openvswitch  
   
 sudo apt-get remove openvswitch-switch openvswitch-datapath-dkms quantum-plugin-openvswitch-agent  
   
 sudo apt-get install openvswitch-switch openvswitch-datapath-dkms quantum-plugin-openvswitch-agent  
   
   
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
Then make it make the file executable.&lt;br /&gt;
&lt;br /&gt;
Go to the file directory then execute following command in terminal:&lt;br /&gt;
&lt;br /&gt;
sudo chmod&amp;nbsp;+x filename&lt;br /&gt;
&lt;br /&gt;
Finally execute the file.&lt;br /&gt;
&lt;br /&gt;
./filename&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #333333; font-size: 13px; font-weight: normal; line-height: 18.200000762939453px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Openstack Folsom Error "FATAL: Module openvswitch_mod not found" when start openvswitch or at startup</title><link>http://thisismyeye.blogspot.com/2014/01/openstack-folsom-error-fatal-module.html</link><category>openstack</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 29 Jan 2014 13:17:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-4550721682337305011</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I came across this error on Openstack Folsom installed on Ubuntu 12.04 LTS, when I upgrade or degrade the linux kernel. So its very likely that you will get this error after running a "dist-upgrade" on your system.&lt;br /&gt;
&lt;br /&gt;
The cause of this problem seem to be that when a different kernel is used, the openvswitch modules have not been built &amp;nbsp;with it.&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
&lt;br /&gt;
FATAL: Module openvswitch_mod not found.&lt;br /&gt;
&amp;nbsp;* Inserting openvswitch module&lt;br /&gt;
&amp;nbsp;* not removing bridge module because bridges exist (virbr0)&lt;br /&gt;
invoke-rc.d: initscript openvswitch-switch, action "load-kmod" failed.&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
&lt;br /&gt;
Copy the following script to a file. Then save.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghiAloSWXw-ictX5e4_wpHsblOQF0UhRwd7EHPDPJlKrTgxKRfSqPjakf6zVww2JyBdQefM1wFITMtRnpgj2h60H2IbFr2dKScaAyo1ryfYs2jairzvJfF-zWf12XXBfEAzMZjCOMKEDiL/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; #!/bin/bash  
   
 sudo apt-get install linux-headers-$(uname -r)  
   
 sudo apt-get remove quantum-plugin-openvswitch openvswitch-switch quantum-plugin-openvswitch-agent openvswitch-datapath-dkms openvswitch-common quantum-common python-quantum  
   
 apt-get install openvswitch-switch  
 mkdir -p /etc/quantum/  
 apt-get install quantum-plugin-openvswitch-agent quantum-dhcp-agent quantum-l3-agent quantum-server  
   
 depmod  
 modprobe openvswitch  
   
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then make it make the file executable.&lt;br /&gt;
&lt;br /&gt;
Go to the file directory then execute following command in terminal:&lt;br /&gt;
&lt;br /&gt;
sudo chmod&amp;nbsp;+x filename&lt;br /&gt;
&lt;br /&gt;
Finally execute the file.&lt;br /&gt;
&lt;br /&gt;
./filename&amp;nbsp;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>No sound on Ubuntu 12.04 after upgrading from 11.10</title><link>http://thisismyeye.blogspot.com/2012/06/no-sound-on-ubuntu-1204-after-upgrading.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Sat, 23 Jun 2012 15:54:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-5213781402706988123</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;br /&gt;
I have recently upgraded my Ubuntu 11.10 distribution to Ubuntu 12.04 LTS on my HP pavillion dv6 laptop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white;"&gt;This is the output from 'aplay -l' command of my system.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="stylecode"&gt;
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]&lt;br /&gt;
&amp;nbsp; Subdevices: 0/1&lt;br /&gt;
&amp;nbsp; Subdevice #0: subdevice #0&lt;br /&gt;
card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital]&lt;br /&gt;
&amp;nbsp; Subdevices: 1/1&lt;br /&gt;
&amp;nbsp; Subdevice #0: subdevice #0&lt;br /&gt;
card 2: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]&lt;br /&gt;
&amp;nbsp; Subdevices: 1/1&lt;br /&gt;
&amp;nbsp; Subdevice #0: subdevice #0&lt;br /&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
After rebooting I noticed that I had no sound. After trying many things, to resolve this problem I had to add the following two lines to the "alsa-base.conf" file.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="stylecode"&gt;
&lt;span style="color: #333333; font-family: Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 18px;"&gt;alias snd-card-0 snd-hda-intel&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #333333; font-family: Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 18px;"&gt;options snd-hda-intel model=auto&lt;/span&gt;&lt;br /&gt;
&lt;/pre&gt;
&lt;br /&gt;
If this does not work then replace "auto" with the following keywords one at a time. Save the file and restart your computer each time you test with one configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="stylecode"&gt;
ref &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- Reference board&lt;br /&gt;
mic-ref &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-Reference board with power management for ports&lt;br /&gt;
dell-s14 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -Dell laptop&lt;br /&gt;
hp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -HP laptops with (inverted) mute-LED&lt;br /&gt;
hp-dv7-4000 &amp;nbsp;-HP dv-7 4000&lt;br /&gt;
auto &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- BIOS setup (default)&lt;br /&gt;
&lt;br /&gt;
&lt;/pre&gt;
Reference :-&amp;nbsp;&lt;a href="https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/196068"&gt;ubuntu 12.04 no sound vostro 3300 i5&lt;/a&gt;&lt;br /&gt;
Chathura&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></item><item><title>Lunux/Ubuntu not booting up after the kernel update?</title><link>http://thisismyeye.blogspot.com/2011/06/lunuxubuntu-not-booting-up-after-kernel.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Sat, 21 Apr 2012 14:07:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-1491546131182631059</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
After I have upgraded to 2.6.38-9-generic kernel I got the following message and I have tried many thing but this is how I have solved the problem.&lt;br /&gt;
&lt;br /&gt;
Gave up waiting for root device. Common problems:&lt;br /&gt;
-Boot args (cat /proc/cmdline)&lt;br /&gt;
-Check rootdelay= (did the system wait long enough?)&lt;br /&gt;
-Check root= (did the system wait for the right device?)&lt;br /&gt;
-Missing modules (cat /proc/modules; ls /dev)&lt;br /&gt;
ALERT! /dev/disk/by-uuid/310147a9-f21c-4e7c-aeb0-18f31073da58 does not exist. Dropping to a shell!&lt;br /&gt;
&lt;br /&gt;
BusyBox v1.10.2 (Ubuntu 1:1.10.2-2ubuntu7) built-in shell (ash)&lt;br /&gt;
Enter 'help' for a list of built-in commands.&lt;br /&gt;
&lt;br /&gt;
(initramfs)&lt;br /&gt;
&lt;br /&gt;
Boot your computer and when the grub loader appears, select the linux version you use (to the rescue mode) and press 'e' to edit it.&lt;br /&gt;
&lt;br /&gt;
Then remove the the UUID=&lt;uuid&gt; part of the line from root=UUID=&lt;uuid&gt;&lt;br /&gt;
&lt;br /&gt;
Replace it with your current partition, so in my case it looks like&lt;br /&gt;
&lt;br /&gt;
root=/dev/sda5&lt;br /&gt;
&lt;br /&gt;
press &lt;ctrl&gt;+x to boot up with the changed settings&lt;br /&gt;
&lt;br /&gt;
Then after you have logged in install fglrx module.&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install fglrx&lt;br /&gt;
&lt;br /&gt;
Then restart.&lt;br /&gt;
&lt;br /&gt;
Now this time select your linux version but this time not the rescue mode. &lt;br /&gt;
&lt;br /&gt;
Then replace the UUID how you did earlier.&lt;br /&gt;
&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
To permanently apply the settings to grub, you will have to edit the grub.cfg file&lt;br /&gt;
&lt;br /&gt;
sudo vi /boot/grub/grub.cfg&lt;/ctrl&gt;&lt;/uuid&gt;&lt;/uuid&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Intelligent Agents in a simulated environment</title><link>http://thisismyeye.blogspot.com/2012/04/intelligent-agents-in-simulated.html</link><category>My Projects</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Fri, 20 Apr 2012 22:31:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-783809683211472041</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;span style="text-align: left;"&gt;The following video and the description is about a Agent simulation that I have designed and implemented. I would like to give my gratitude to the "Intelligent Agents" module director&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;a href="http://dces.essex.ac.uk/staff/sam/" style="text-align: left;"&gt;Dr. Sam Steel&lt;/a&gt;&lt;span style="text-align: left;"&gt;&amp;nbsp;at the &lt;/span&gt;&lt;a href="https://www.essex.ac.uk/" style="text-align: left;"&gt;University Of Essex&lt;/a&gt;&lt;span style="text-align: left;"&gt; for his supervision throughout the module.&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The simulation shows an "Agent-world" represented by a grid of squares. Agents survive in this world by eating plants. There are four types of plants that occur in various quantities. Agents are able to consume a combination of plants and gain more energy. The energy levels decreases as they live and as they roam to other squares in the gird. Creatures can carry a limited amount of plants so then can eat when it is needed. If the creatures can create two combinations at once then the most&amp;nbsp;energetic&amp;nbsp;combinations of plants will be eaten first.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/6XX6gkgdvMk?feature=player_embedded' frameborder='0'&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
In the “Agent world” there could be maximum of two types creatures in the world. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The agent types: &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SimpleCreature: Less intelligent creature. &lt;br /&gt;
&lt;br /&gt;
IntelCreature: Most intelligent creature. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; SimpleCreature:&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt; A simple creature will be born in the agent world with a limited amount of energy. 
The creatures move around the world in random directions in a consecutive manner, for random amounts of times, with an intention to feed to&amp;nbsp;survive.
A simple creature can carry a limited amount of plants.
This creature eats plants when it's energy goes down less than it's energy limit. (When it feels hungry)
The creature is able to consume compounds(CP)of plants (P) of varied types (t) that they carry, and gain more energy than it would if it eats them individually. Such that:&lt;br /&gt;
&lt;br /&gt;
CP = {Pt&lt;sub&gt;1&lt;/sub&gt;, Pt&lt;sub&gt;2&lt;/sub&gt;, Pt&lt;sub&gt;3&lt;/sub&gt;, Pt&lt;sub&gt;4&lt;/sub&gt;}&lt;br /&gt;
&lt;br /&gt;
Creatures can only see the plants in the same square as it is.
When the world has been resized, eventually the creatures will follow back in to the world.
Each individual creature has got a unique ID. This&amp;nbsp;phenomenon&amp;nbsp;has been recorded on the video.&lt;br /&gt;
&lt;br /&gt;
The simulated environment in which the creatures act:&lt;br /&gt;
The “Agent world” is a grid of squares.
The plants and the creatures will be in this grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;IntelCreature:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Only an IntelCreature can look around. These creatures can only see only one square around ahead, as well as the square it is interpolated. They can also see the the plants as well as the creatures in its range of vision.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVx5H2SwtPAffeAIn-2lb8s6cHqvA5u5vaaknxan0o1GiQ0Hm5Chg-Aw7pv5Q49nZTVtqyjvolyUDb637A0FUPfkgz0nDn4Cqfnu1a6mCs8Wla1fTHglFVFbPZ0E1U1SqXISiG2Vphpscq/s1600/rsz_2agen_vision.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVx5H2SwtPAffeAIn-2lb8s6cHqvA5u5vaaknxan0o1GiQ0Hm5Chg-Aw7pv5Q49nZTVtqyjvolyUDb637A0FUPfkgz0nDn4Cqfnu1a6mCs8Wla1fTHglFVFbPZ0E1U1SqXISiG2Vphpscq/s320/rsz_2agen_vision.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
The creature can remember the creatures and the plants in the squares that it can see (This memory is limited). Although the vision is perfectly accurate only within its local square. Just after it has been born, IntelCreature will be in an &lt;i&gt;Observation mode&lt;/i&gt;, so that it will observe the world by capriciously observing the world until it finds more than one plant. Then it will start going after the plants intentionally that it sees around. A creature may decide to go after plants that are more therapeutic&amp;nbsp;than the others. Such plants may be the plants that could complete a combination.&lt;br /&gt;
&lt;br /&gt;
If two creatures meet together in one square they start talking to each other, asking about the plants that the other creature carry. Then the first creature will propose to the other creature for a shared combination, with the amount that it would like to share. Such that:&lt;br /&gt;
&lt;br /&gt;
Assume:&lt;br /&gt;
combo1 = P&lt;span style="font-size: 13px;"&gt;1&lt;/span&gt;&amp;nbsp;+ P&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&amp;nbsp;+ P&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;br /&gt;
Ag&lt;sub&gt;1&lt;/sub&gt;:Plants = {P&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;, P&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;, P&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;, P&lt;span style="font-size: 13px;"&gt;1&lt;/span&gt;}&lt;br /&gt;
Ag&lt;sub&gt;2&lt;/sub&gt;:Plants = {P&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;, P&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;, P&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
Ag&lt;span style="font-size: 13px;"&gt;1&lt;/span&gt;: Ag&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;.requestCombo(&amp;lt;share_amount&amp;gt;, &amp;lt;plant&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
If the other creature agrees then they will consume the plants and share the energy amount. When they share the plant combinations, they will get the double the amount of the normal combination, hence it is more desirable for the creatures to share. The creatures can decide to be partners with another one, and go for other plants that one of the creatures have seen.&amp;nbsp;Furthermore&amp;nbsp;when the creatures are in the same square, they may request other creatures to be parters, a creature will request to be a partner of another creature, if the plant the second creature is going after, interests the first creature. If the second creature agrees to be partners, then it will make a leader and partner relationship between each other. The first creature that made the request will be the partner and the other will be the leader. &amp;nbsp;After the leader gets the plant, the energy amount will be shared. Finally the partnership will end and the two creatures will go their own ways. In the situations where the plants that are subject to the partners engrossment have been taken by some other creature, the partnership will&amp;nbsp;immediately&amp;nbsp;end. When the partnership has been made, the colour of the red circle, will change to a light yellow colour if it is a partner, and the colour of the leader's circle will change in to dark yellow. This is&amp;nbsp;demonstrated&amp;nbsp;in the figure blow.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEIModCJZvQpA6-2BawySySQIhK1chudq5hTEbzdSjQZUBMgsb3V7Ug4GyLEi0DuaxhFtNGOk-oOu2nGMhJaFORhHn4RV1J8j48p_C85JXTjiKGR7ye1dZHc-GsLgb5Vqk4RYX0ARg74_/s1600/rsz_agent_partner.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyEIModCJZvQpA6-2BawySySQIhK1chudq5hTEbzdSjQZUBMgsb3V7Ug4GyLEi0DuaxhFtNGOk-oOu2nGMhJaFORhHn4RV1J8j48p_C85JXTjiKGR7ye1dZHc-GsLgb5Vqk4RYX0ARg74_/s320/rsz_agent_partner.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A creature can make partnership with another one, only if the both of the creatures are neither a partner or a leader. If the creatures do not carry any plants and it can not remember any plants, it goes back to the &lt;i&gt;Observation mode&lt;/i&gt; to collect information about the world(Grid). If the creature can not carry any more plants, it will stop travelling to save the amount of energy that it will loose by going to other squares.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt; What are plants?:&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;There are four types of plants in the world.&lt;/li&gt;
&lt;li&gt;Green plants, Red plants, Yellow plants, and Magenta plants.&lt;/li&gt;
&lt;li&gt;The plants are represented in small squares with the colour of their names.&lt;/li&gt;
&lt;li&gt;Each plant holds different energy levels.&lt;/li&gt;
&lt;li&gt;A plant set consists of a set of random types of plants.&lt;/li&gt;
&lt;li&gt;The plant sets appears in the “Agent world” in&amp;nbsp;arbitrary&amp;nbsp;places.&lt;/li&gt;
&lt;li&gt;The amount of the plants that will be put in to the grid is variable.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;In the world there will be a constant amount of plants at a time.&lt;/li&gt;
&lt;li&gt;The size of the “Agent world” is variable.&lt;/li&gt;
&lt;li&gt;The number of types of plants are in the world are variable.&lt;/li&gt;
&lt;li&gt;The energy of creatures will be consumed until it dies. The energy consumption speed is variable.&lt;/li&gt;
&lt;li&gt;If the creature moves to a different square, more energy will be consumed than if it stays in the same square.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;The log output of the software which show&lt;/b&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;what a particular simple creature does&lt;/li&gt;
&lt;li&gt;what a particular creature that looks around does&lt;/li&gt;
&lt;li&gt;the interaction of a two creatures who meet&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
The above description about the "AgentWorld" is just a&amp;nbsp;brief introduction about the project. Accordingly there are many other&amp;nbsp;theoretical and technical details that I have not introduced to you in this article. Although if you are interested, I am happy to supply you with further&amp;nbsp;details&amp;nbsp;on this project.&lt;/div&gt;
&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVx5H2SwtPAffeAIn-2lb8s6cHqvA5u5vaaknxan0o1GiQ0Hm5Chg-Aw7pv5Q49nZTVtqyjvolyUDb637A0FUPfkgz0nDn4Cqfnu1a6mCs8Wla1fTHglFVFbPZ0E1U1SqXISiG2Vphpscq/s72-c/rsz_2agen_vision.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Bicycle Actuators Artist Edition playing cards</title><link>http://thisismyeye.blogspot.com/2012/04/bicycle-actuators-artist-edition.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 18 Apr 2012 22:20:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-2350955927304087735</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The new arrival to my playing card collection. Bicycle&amp;nbsp;Actuators Artist Edition deck has been designed by &lt;a href="http://lancetmiller.com/about-me"&gt;Lance T. Miller&lt;/a&gt;. This is a great piece of art work that was hand drawn by the designer. Only 2500 decks have been printed and all of the decks have been individually numbered.&lt;br /&gt;
&lt;br /&gt;
For more information follow the &lt;a href="http://www.kickstarter.com/projects/lancetmiller/lance-millers-new-steampunk-playing-card-deck"&gt;link&lt;/a&gt;&amp;nbsp;to the kickstarter project.&lt;br /&gt;
&lt;br /&gt;
Lance was&amp;nbsp;grateful&amp;nbsp;enough to sign my deck :)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNGLu63Vgj2GD5CRr32CCyYdryFKjxo31aHKGkqoeZ-Vljf35KdphfaAISOZs0-HVwBivAj1kyaMVddy99piDhccaCifhm5CUTiSEWr7XfMaw9I_md5fR-I1SKdgSW5kOMtka97eN642P7/s1600/IMAG0492.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNGLu63Vgj2GD5CRr32CCyYdryFKjxo31aHKGkqoeZ-Vljf35KdphfaAISOZs0-HVwBivAj1kyaMVddy99piDhccaCifhm5CUTiSEWr7XfMaw9I_md5fR-I1SKdgSW5kOMtka97eN642P7/s320/IMAG0492.jpg" width="241" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJLyub7AKX1bW_kDvug2l-SCcI3amGSs37UeR2rCkW8BY98Yuj3pHrCh3IVDKKM__eQSjZjE_8I7gEZjqzXrYe5N4NgkCZy4o4rhll0csX8OfthKgBGYsD1bN9EHWnMKt3zI49Ci-nDyBn/s1600/IMAG0495.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJLyub7AKX1bW_kDvug2l-SCcI3amGSs37UeR2rCkW8BY98Yuj3pHrCh3IVDKKM__eQSjZjE_8I7gEZjqzXrYe5N4NgkCZy4o4rhll0csX8OfthKgBGYsD1bN9EHWnMKt3zI49Ci-nDyBn/s320/IMAG0495.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNpsgdkIkK5DZk0gkiboAirZlB-81Rz1zdIYo07MWmYn8UdQSLj5qiNP-ph83gGiftIBIBs3InrQ3mlJFeOvgA1Wh4toHGPcCnqmidInxwTmUhcI3QHnXyS6RtzPxaqc_COjqC7jytK33R/s1600/IMAG0496.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNpsgdkIkK5DZk0gkiboAirZlB-81Rz1zdIYo07MWmYn8UdQSLj5qiNP-ph83gGiftIBIBs3InrQ3mlJFeOvgA1Wh4toHGPcCnqmidInxwTmUhcI3QHnXyS6RtzPxaqc_COjqC7jytK33R/s320/IMAG0496.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgseDoSp75T8AJs1cllDPHCeJZF43f9xAjnjpdw5Lvb8hwyswP-CPHozSrsLWuaJSMKiJ4ejyp8PNGwC2yKghDjNcgL3Jrt2VKonY0690kvEwzyQNOUmPJxUoLPM-qt_LFsED_8f35GKFX9/s1600/IMAG0497.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgseDoSp75T8AJs1cllDPHCeJZF43f9xAjnjpdw5Lvb8hwyswP-CPHozSrsLWuaJSMKiJ4ejyp8PNGwC2yKghDjNcgL3Jrt2VKonY0690kvEwzyQNOUmPJxUoLPM-qt_LFsED_8f35GKFX9/s320/IMAG0497.jpg" width="241" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSOW2anjUhZC1Y8hfV_eenXsEp1fxzVdzGoZAIrVYEq4a000b6PU72h4Q2zEJYcfn8mEem2ByKLXPZwkmMxEKqnwvqngnd06HNKRtSYr7jpC9jAUFx_zY2pmDSfOYpXvlEpOD2HDAsDbu/s1600/IMAG0498.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSOW2anjUhZC1Y8hfV_eenXsEp1fxzVdzGoZAIrVYEq4a000b6PU72h4Q2zEJYcfn8mEem2ByKLXPZwkmMxEKqnwvqngnd06HNKRtSYr7jpC9jAUFx_zY2pmDSfOYpXvlEpOD2HDAsDbu/s320/IMAG0498.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNGLu63Vgj2GD5CRr32CCyYdryFKjxo31aHKGkqoeZ-Vljf35KdphfaAISOZs0-HVwBivAj1kyaMVddy99piDhccaCifhm5CUTiSEWr7XfMaw9I_md5fR-I1SKdgSW5kOMtka97eN642P7/s72-c/IMAG0492.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>Content Based Image Retrieval using cross correlation co-efficiency</title><link>http://thisismyeye.blogspot.com/2012/04/content-based-image-retrieval-using.html</link><category>My Projects</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 4 Apr 2012 23:21:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-5015745891982330156</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Have you ever searched google for images? I am sure everyone who is reading this article has done this before more than once. Wouldn't it be nice if you could search images for the similar images, for a given image? So for an example, if you want to search for an image of a particular object, by supplying a probe image (a image which to find similar images of) to the search engine, you can search for images that are similar to the given image.&lt;br /&gt;
&lt;br /&gt;
Content-based image retrieval (CBIR) or Query by image content (QBIC), is an active area in Computer Vision research. Comparing images using cross-correlation&amp;nbsp;efficiency&amp;nbsp;was similar to the state of the art for CBIR in the early 1990s. Comparing the colours in the probe image and other test images, is one&amp;nbsp;conservative way of doing this. Histogram is a good way of discriminating the colours in an image.&lt;br /&gt;
&lt;br /&gt;
One way of doing this is explained below. There are many ways of doing this although this is not&amp;nbsp;necessarily&amp;nbsp;the right or the best way of doing it.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Split the R,G,B channels of the probe image&lt;/li&gt;
&lt;li&gt;Split the R,G,B channels of the "test image" that is subject to comparison.&lt;/li&gt;
&lt;li&gt;Calculate the histograms of the R,G,B channels of each images.&lt;/li&gt;
&lt;li&gt;Calculate the cross correlation of the R, G, B channels of the probe image and the "test image" histograms. Such that,&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&amp;nbsp; &amp;nbsp; r1 = correlation(img1.R,img2.R);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; r2 = correlation(img1.G,img2.G);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; r3 = correlation(img1.B,img2.B);&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;5. Finally multiply the results all together ( r1 x r2 x r3 )&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
The result (r) of a cross correlation calculation lies between -1 and +1. If the value is +1 in average the two images are identical. If it is -1 then the images are identical but the image looks like a photographic negative version of the probe image. If r=0 then the images are on average very unlike each other.&lt;br /&gt;
&lt;br /&gt;
People who are interested in Computer Vision are likely to be&amp;nbsp;familiar&amp;nbsp;with the &lt;a href="http://opencv.willowgarage.com/wiki/"&gt;OpenCV&lt;/a&gt; library. The following code snippet (incomplete) is an example for calculating the cross correlation co-efficiency using the OpenCV library in C.&lt;br /&gt;
&lt;br /&gt;
&lt;style&gt;
.stylecode {
display:block;
background-color:#CCC;
color:#33312B;
border:3px solid #000;
}
&lt;/style&gt;
&lt;br /&gt;
&lt;pre class="stylecode"&gt;&amp;nbsp; //split img1 in to RGB channels and store them in seperate images

&amp;nbsp; cvSplit(img1, img1R, img1G, img1B, NULL);

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;

&amp;nbsp; //calculate histograms of the the image

&amp;nbsp; CvHistogram *h1R = calHistogram(img1R, bins, ranges);

&amp;nbsp; CvHistogram *h1G = calHistogram(img1G, bins, ranges);

&amp;nbsp; CvHistogram *h1B = calHistogram(img1B, bins, ranges);



&amp;nbsp; &amp;nbsp; //split the image two in to RGB channels and store them

&amp;nbsp; &amp;nbsp; //in seperate images

&amp;nbsp; &amp;nbsp; cvSplit(img2, img2B, img2G, img2R,0);

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;

&amp;nbsp; &amp;nbsp; //calculate histograms of the RGB channel images of the "img2"

&amp;nbsp; &amp;nbsp; CvHistogram *h2R = calHistogram(img2R, bins, ranges);

&amp;nbsp; &amp;nbsp; CvHistogram *h2G = calHistogram(img2G, bins, ranges);

&amp;nbsp; &amp;nbsp; CvHistogram *h2B = calHistogram(img2B, bins, ranges);

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;

&amp;nbsp; &amp;nbsp; //Calculate the correlation coefficient of RGB images, of img1 and img2

&amp;nbsp; &amp;nbsp; rR = cvCompareHist(h1R,h2R,CV_COMP_CORREL);

&amp;nbsp; &amp;nbsp; rG = cvCompareHist(h1G,h2G,CV_COMP_CORREL);

&amp;nbsp; &amp;nbsp; rB = cvCompareHist(h1B,h2B,CV_COMP_CORREL);

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;

&amp;nbsp; &amp;nbsp; //Multiply the results together

&amp;nbsp; &amp;nbsp; tempR= rR*rG*rB;



&lt;/pre&gt;
&lt;br /&gt;
The performance:&lt;br /&gt;
&lt;br /&gt;
Some performance evaluation has been done on this program using a test harness called 'Fact'.&lt;br /&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class="stylecode"&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;Error rates calculated from mycbir 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;tests   TP         TN       FP        FN   accuracy  recall precision specificity       class 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;8        0         0         8         0     0.00     0.00    0.00        0.00   box 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;8        0         0         8         0     0.00     0.00    0.00        0.00   cockeral 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;8        6         0         2         0     0.75     1.00    0.75        0.00   dog 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;9        7         0         2         0     0.78     1.00    0.78        0.00   horus 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;8        7         0         1         0     0.88     1.00    0.88        0.00  ornament 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;10        8         0        2         0     0.80     1.00    0.80        0.00   penguin 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;8        1         0         7         0     0.12     1.00    0.12        0.00   reindeer 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;9        2         0         7         0     0.22     1.00    0.22        0.00   tortoise 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;68       31        0        37         0     0.46     1.00    0.46        0.00          overall&lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;br /&gt;
TP = True Positives&lt;br /&gt;
TN= True Negatives&lt;br /&gt;
FP = False Positives&lt;br /&gt;
FN= False Negatives&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;In the matrix above it shows the amount of test cases for the each picture in the “test” column, True Positives, True Negatives, False Positives and False Negatives in the next four columns. &amp;nbsp;Then the application calculates the accuracy, recall, precision and specificity as follows, and displays in the next four columns. The last “class” column show the type of picture that it has carried out the test on,&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Precision is the number of relevant pictures that are retrieved, divided by the total number of of pictures retrieved. Recall is the number of relevant pictures retrieved divided by the total existing relevant pictures. The specificity and the accuracy is calculated as below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TP &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
sensitivity = recall = ------------------ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; specificity = &amp;nbsp; &amp;nbsp; -----------------&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TP + TN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FP + TN&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&amp;nbsp;As you can see above, the application has failed to find the True
Positives for the “box” and “cockeral” pictures. So in
contrast it has found False Positives in all cases. The best case is
the tests on the ornament pictures as it has found 7/8 TPs and 1/8
FPs. Overall this algorithm has done 68 test cases and have found 31
True Positives and 37 False Positives, but no True Negatives or False
Negatives.&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
The matrix below, is the class confusion matrix. 
&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class="stylecode"&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;Confusion matrix calculated from mycbir 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;expected 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;actual    box    cockeral         dog    horus   ornament  penguin reindeer tortoise 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;box        0        0              0        0        0        0        0        1 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;dog        0        0              6        0        0        0        0        0 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;horus      0        0              1        7        0        0        0        4 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;ornament   1        1              0        0        7        2        7        0 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;penguin    1        0              0        0        1        8        0        0 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;reindeer   5        7              0        1        0        0        1        2 
&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;tortoise   1        0              1        1        0        0        0        2&lt;/span&gt;&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;span style="font-size: x-small;"&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;br /&gt;
The columns and rows indicates that,  the classes in the rows titles
were obtained when the classes in the column title should have been
found (Rows as obtained results, columns as expected result). The
numbers indicates the number of times it has been obtained. So as an
example, as the worst case: in the “box” column,&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
ornament =1, penguin = 1, reindeer = 5, tortoise = 1 has been
obtained when “box” pictures should have been found. But it has
not obtained any “box” pictures as the value of the “box” raw
is 0.&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
As I have mentioned earlier the best results has been obtained on the
tests with the “ornament” picture. It has obtained the correct
“ornament” pictures 7 times and a penguin picture just one time.&lt;br /&gt;
&lt;br /&gt;
Conclusion:&lt;br /&gt;
&lt;br /&gt;
Cross correlation is not the best Content based Image Retrieval technique to date, though it helps us to understand how the histograms of two images&amp;nbsp;can vary or can be&amp;nbsp;complementary.&amp;nbsp;But it is no doubt that analysing just the colours in images are a good way of&amp;nbsp;characterising&amp;nbsp;them though it is hard to compare two images using just this factor.&lt;/div&gt;
&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>The record breaking Lego Christmas tree</title><link>http://thisismyeye.blogspot.com/2011/12/award-winning-lego-christmas-tree.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Tue, 20 Dec 2011 10:37:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-4938676797069730778</guid><description>&lt;div&gt;&lt;p&gt;I am on my way to Derby and just saw this amazing Lego structure in the London st.Pancras train station.&lt;/p&gt;
&lt;br/&gt;&lt;img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJTup7Unr1te_ylmVZVAIlx7rj7l3BTCXltZjzyVqyN6nxovxJzfy0qLHQhLTi_c_udOFju-ole7jkJpXRE1Zvli1KeDDCjV-j4cPYJnnE48dcVOo_lH2-Vo8C0Y47G0eLP3FlDwLA3b9d/' /&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJTup7Unr1te_ylmVZVAIlx7rj7l3BTCXltZjzyVqyN6nxovxJzfy0qLHQhLTi_c_udOFju-ole7jkJpXRE1Zvli1KeDDCjV-j4cPYJnnE48dcVOo_lH2-Vo8C0Y47G0eLP3FlDwLA3b9d/s72-c" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Install and configure trac on Linux/Ubuntu 11.10</title><link>http://thisismyeye.blogspot.com/2011/12/installing-and-configure-trac-on.html</link><category>Howto</category><category>Software</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Fri, 16 Dec 2011 18:52:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-7469568179729236461</guid><description>In this blog post I am going to explain about how to install&amp;nbsp;'trac' on linux. 'trac' is a nice project management tool which is written in python, that can be used to track your projects. And it is open-source :D (Win)&lt;br /&gt;
&lt;br /&gt;
I am using 'trac' with 'git' revision control system, for my&amp;nbsp;project. In my next blog post I will be explain how to use&amp;nbsp;'trac' along with 'git', using the 'GitPlugin'&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Ok, now if you follow the following instructions hopefully you&amp;nbsp;will have a working 'trac' site.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Install 'trac'&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
Make sure you have the latest version of python installed, otherwise&amp;nbsp;apt will install an older version of 'trac'&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;sudo apt-get install python python-babel trac
&lt;/pre&gt;
&lt;pre name="code"&gt;  &lt;/pre&gt;
&lt;pre name="code"&gt;&lt;/pre&gt;
&lt;pre name="code"&gt;&lt;/pre&gt;
&lt;br /&gt;
Yes, apt may ask you to install few dependencies including&amp;nbsp;apache2. So please install all of them.&lt;br /&gt;
&lt;br /&gt;
'trac' uses SQLite as its default data store. So if you have not already got it installed. Then do the following&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;     sudo apt-get install sqlite3&lt;/pre&gt;
&lt;pre name="code"&gt;&lt;/pre&gt;
&lt;br /&gt;
It is possible to get 'trac' working with other database systems. If you are interested, click on the following URL.&lt;br /&gt;
&lt;a href="http://trac.edgewall.org/wiki/TracInstall#Dependencies"&gt;http://trac.edgewall.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Upgrade python packages&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
There are two ways you can do this&lt;br /&gt;
&lt;br /&gt;
With easy_install&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;easy_install Babel

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;easy_install Trac
&lt;/pre&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
With 'pip'&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;pip install --upgrade Babel

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;pip install --upgrade Trac

&lt;/pre&gt;
&lt;br /&gt;
If you have not got pip installed, install pip as follows.&amp;nbsp;Please skip this step if you were successfully able to do the&amp;nbsp;previous step.&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo apt-get install python-pip

&amp;nbsp; &amp;nbsp;&lt;/pre&gt;
Now you have successfully installed all the software that you&amp;nbsp;need to run 'trac'.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;b&gt;Configuration&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;Change the directory locations as desired.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Create a directory for 'trac'&lt;br /&gt;
&amp;nbsp;Then change it's access permissions.&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;sudo mkdir -p /var/local/trac&amp;nbsp;&amp;amp;&amp;amp; chown www-data: /var/local/trac&lt;/pre&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
Initialise the 'trac' environment&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo trac-admin /var/local/trac initenv

&amp;nbsp; &amp;nbsp;&lt;/pre&gt;
Now create the configuration file using your favourite text&amp;nbsp;editor. I use emacs.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo emacs /etc/apache2/sites-available/trac

&amp;nbsp; &amp;nbsp;&lt;/pre&gt;
Paste the following code in to it.&lt;br /&gt;
&lt;div class="codeview"&gt;
&lt;code style="background-color: white; text-align: justify;"&gt;&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;virtualhost *:80=""&gt;&lt;/virtualhost&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style="background-color: white; text-align: justify;"&gt;&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;ServerName trac.local&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Location /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SetHandler mod_python&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonInterpreter main_interpreter&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonHandler trac.web.modpython_frontend&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonOption TracEnv /var/local/trac&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonOption TracEnvParentDir /var/local/trac&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonOption TracUriRoot /&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonOption TracEnv /var/local/trac&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # PythonOption TracEnvIndexTemplate /var/local/trac/templates/index-template.html&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonOption TracLocale en_US.UTF8&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PythonOption PYTHON_EGG_CACHE /tmp&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Order allow,deny&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Allow from all&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Location /login&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AuthType Basic&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AuthName "myproject"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AuthUserFile /var/local/trac/.htpasswd&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Require valid-user&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-family: Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;code style="background-color: white; text-align: justify;"&gt;
&lt;span style="color: #990000;"&gt;&lt;span style="font-size: 15px; line-height: 22px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;Now you should have a working 'trac' instance. So check if it works.&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/pre&gt;
&lt;pre name="code"&gt;      sudo tracd -p 8080 /var/local/trac
&lt;/pre&gt;
&lt;br /&gt;
[-p] flag specifies the port that this particular 'trac' instance&amp;nbsp;belongs&amp;nbsp;to.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
Note: the flag [-p] is same as [-port]&lt;br /&gt;
&lt;br /&gt;
And then go to:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href="http://localhost:8080/"&gt;http://localhost:8080/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now you should see the 'trac' instance running.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Adding Authentication&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;b&gt;Basic Authorisation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In this case we are going to authorise the 'trac' site with a&amp;nbsp;.htpasswd file.&lt;br /&gt;
&lt;br /&gt;
You have to have 'fcrypt' package installed to decode&amp;nbsp;'.htpasswd'&lt;br /&gt;
&lt;br /&gt;
Creating the '.htpasswd'&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo htpasswd -c /var/local/trac/.htpasswd admin&lt;username&gt;&lt;/username&gt;

&lt;/pre&gt;
To add more users:&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo htpasswd -c /var/local/trac/.htpasswd admin&lt;another username=""&gt;&lt;/another&gt;&lt;/pre&gt;
&lt;pre name="code"&gt;&lt;/pre&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
'htpasswd' creates the flat-file with the username and password that you are given.&lt;br /&gt;
[-c] &amp;nbsp;= &amp;nbsp;create the password file in the given path.&lt;br /&gt;
&lt;br /&gt;
Start tracd:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo -p 8080&amp;nbsp;--basic-auth="projectdirectory&lt;projectdirectory&gt;,path/to/the/.htpasswd&lt;path .htpasswd="" the="" to=""&gt;,mname&lt;mname&gt;" /path/to/the/environment/directory&lt;/mname&gt;&lt;/path&gt;&lt;/projectdirectory&gt;

&lt;/pre&gt;
&lt;br /&gt;
&amp;nbsp;In my case, it is&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo -p 8080&amp;nbsp;--basic-auth="trac,/var/local/trac/.htpasswd, admin" path/to/the/environment/directory

&amp;nbsp; &amp;nbsp;&lt;/pre&gt;
&amp;nbsp;&lt;b&gt;Digest Authentication&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp;'htdigest' will be used to create the digest file.&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo htdigest -c /var/local/trac/.htdigest admin admin&lt;/pre&gt;
&lt;pre name="code"&gt;&amp;nbsp; &amp;nbsp;&lt;/pre&gt;
&amp;nbsp; Now start 'trac' with 'tracd':&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sudo -p 8080&amp;nbsp;--auth="projectdirectory,path/to/the/.htpasswd,&lt;projectdirectory&gt;&lt;path .htpasswd="" the="" to=""&gt;&amp;nbsp;admin" /path/to/the/environment/directory&lt;/path&gt;&lt;/projectdirectory&gt;&lt;/pre&gt;
&lt;br /&gt;
&amp;nbsp; So it will be,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt; sudo -p 8080&amp;nbsp;--auth="trac,/var/local/trac/.htpasswd,&lt;projectdirectory&gt;&lt;path .htpasswd="" the="" to=""&gt;&amp;nbsp;admin" /var/local/trac&lt;/path&gt;&lt;/projectdirectory&gt;&lt;/pre&gt;
&lt;pre name="code"&gt;&lt;projectdirectory&gt;&lt;path .htpasswd="" the="" to=""&gt;
&lt;/path&gt;&lt;/projectdirectory&gt;&lt;/pre&gt;
&lt;br /&gt;
&amp;nbsp; If you have just one project in 'trac', then use the [-s] flag&amp;nbsp;with the 'tracd', so it will skip the environment list when it&amp;nbsp;starts.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; eg: sudo tracd -s ...........&lt;br /&gt;
&lt;br /&gt;
There we go, we are done :D&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Trouble Shooting Errors&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
If you get following error. It is most likely because of permission issues. So make sure you have given root access when you start your 'trac' instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/web/api.py", line 440, in send_error
    data, 'text/html')
  File "/usr/lib/python2.7/dist-packages/trac/web/chrome.py", line 827, in render_template
    message = req.session.pop('chrome.%s.%d' % (type_, i))
  File "/usr/lib/python2.7/dist-packages/trac/web/api.py", line 216, in __getattr__
    value = self.callbacks[name](self)
  File "/usr/lib/python2.7/dist-packages/trac/web/main.py", line 300, in _get_session
    return Session(self.env, req)
  File "/usr/lib/python2.7/dist-packages/trac/web/session.py", line 198, in __init__
    self.get_session(sid)
  File "/usr/lib/python2.7/dist-packages/trac/web/session.py", line 219, in get_session
    super(Session, self).get_session(sid, authenticated)
  File "/usr/lib/python2.7/dist-packages/trac/web/session.py", line 61, in get_session
    db = self.env.get_db_cnx()
  File "/usr/lib/python2.7/dist-packages/trac/env.py", line 328, in get_db_cnx
    return get_read_db(self)
  File "/usr/lib/python2.7/dist-packages/trac/db/api.py", line 90, in get_read_db
    return _transaction_local.db or DatabaseManager(env).get_connection()
  File "/usr/lib/python2.7/dist-packages/trac/db/api.py", line 152, in get_connection
    return self._cnx_pool.get_cnx(self.timeout or None)
  File "/usr/lib/python2.7/dist-packages/trac/db/pool.py", line 226, in get_cnx
    return _backend.get_cnx(self._connector, self._kwargs, timeout)
  File "/usr/lib/python2.7/dist-packages/trac/db/pool.py", line 146, in get_cnx
    raise TimeoutError(errmsg)
TimeoutError: Unable to get database connection within 0 seconds. (TracError(&amp;lt;babel.support.LazyProxy object at 0x22e47d0&amp;gt;,))&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need more information, please go to&amp;nbsp;&lt;a href="http://trac.edgewall.org/"&gt;http://trac.edgewall.org&lt;/a&gt;.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></item><item><title>Bicycle new fan back (white) Limited edition playing cards deck</title><link>http://thisismyeye.blogspot.com/2011/08/my-bicycle-new-fan-back-white-limited.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 17 Aug 2011 02:32:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-5406647343043571710</guid><description>&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This is the new member of my card pack collection. It is Bicycle fan back limited edition white deck, gold sealed, by Zenneth Kok. These are really rare, as there are less than 1000 copies that have been produced, and I have got one of them. The new fan back black and white decks will be officially released in&amp;nbsp;September. There are only 5000 copies of black decks that have been produced.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; I bought my deck from Zenneth and there were very limited quantity of both type of decks available. You have to buy&amp;nbsp;at least one of his Metal Jackets along with the decks as it is not available to buy on its own. &amp;nbsp;Personally I do not think they are still available to buy from Zenneth as he only had a limited&amp;nbsp;amount&amp;nbsp;of stock.You get two gaff cards with the deck, they are a double backer and a 0 heart card.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsanqQJrjW6i9_zvnlLbp7Mb-_SkOx_N54DuGoRy2K4lWS4NmgZhl8FIpMuIlRYmdt3j38qmm2zs1LEhOx2wNv88fYHTztVHih2IHX4ceK6l1YXtmDu-R0PvjVELK8gFRIcPyTQDEsF35v/s1600/374891930.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsanqQJrjW6i9_zvnlLbp7Mb-_SkOx_N54DuGoRy2K4lWS4NmgZhl8FIpMuIlRYmdt3j38qmm2zs1LEhOx2wNv88fYHTztVHih2IHX4ceK6l1YXtmDu-R0PvjVELK8gFRIcPyTQDEsF35v/s320/374891930.jpg" width="241" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_y5TA4E-_lFyA433m0RqsgCCPXeQih0vUw1SfmyyqtLLTyfcBGRZOxd9ORF9m5vgKfJ2DxwcSOIYzrs36nBDVJpnFi7IsWoZGF2WuJBzsoU8zEoHjtrYKU7GHw162Fbd_hxIsl7zcF7Iv/s1600/374895945.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_y5TA4E-_lFyA433m0RqsgCCPXeQih0vUw1SfmyyqtLLTyfcBGRZOxd9ORF9m5vgKfJ2DxwcSOIYzrs36nBDVJpnFi7IsWoZGF2WuJBzsoU8zEoHjtrYKU7GHw162Fbd_hxIsl7zcF7Iv/s320/374895945.jpg" width="241" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; I am not going to open this deck and I am just going add this to my collection. Collecting card decks is&amp;nbsp;what I do apart from being a computer scientist. I enjoy the art in the cards and I enjoy doing flourishes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/XqRPMQw_7IU/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XqRPMQw_7IU&amp;fs=1&amp;source=uds" /&gt;



&lt;param name="bgcolor" value="#FFFFFF" /&gt;



&lt;embed width="320" height="266"  src="http://www.youtube.com/v/XqRPMQw_7IU&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;I hope you enjoyed the pictures.&lt;br /&gt;
&lt;br /&gt;
Chathura</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsanqQJrjW6i9_zvnlLbp7Mb-_SkOx_N54DuGoRy2K4lWS4NmgZhl8FIpMuIlRYmdt3j38qmm2zs1LEhOx2wNv88fYHTztVHih2IHX4ceK6l1YXtmDu-R0PvjVELK8gFRIcPyTQDEsF35v/s72-c/374891930.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Set up Alpine to work with Gmail</title><link>http://thisismyeye.blogspot.com/2011/07/set-up-alpine-to-work-with-gmail.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Sat, 2 Jul 2011 02:07:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-6837884116979866366</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
To set up Alpine with Gmail, You have you to have Alpine installed on your computer. To set up Gmail, &lt;a href="http://thisismyeye.blogspot.com/2011/06/readreceive-and-send-emails-on-linux.html"&gt;click here&lt;/a&gt; to go to my previous blog post which&amp;nbsp;explains&amp;nbsp;how to install it.&lt;br /&gt;
&lt;br /&gt;
If you have got Alpine installed then, next&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To&amp;nbsp;receive emails from your gmail account:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Go to the Main Menu &amp;gt;&amp;gt; &lt;b&gt;S&lt;/b&gt;etup &amp;gt;&amp;gt; collection&lt;b&gt;L&lt;/b&gt;ists &amp;gt;&amp;gt; &lt;b&gt;A&lt;/b&gt;dd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nickname &amp;nbsp;: [Your Nickname]&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Server &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white;"&gt;imap.gmail.com/ssl/user=username@gmail.com&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Path &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :&lt;br /&gt;
View &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :&lt;br /&gt;
&lt;br /&gt;
Save your settings &lt;ctrl+x&gt;&lt;/ctrl+x&gt;&lt;br /&gt;
&lt;br /&gt;
You can add as many accounts you want if you press &lt;b&gt;E &lt;/b&gt;and exit, then do the same.&lt;br /&gt;
&lt;br /&gt;
Then you need to change few settings on it.&lt;br /&gt;
&lt;br /&gt;
On Main menu &amp;gt; &lt;b&gt;S&lt;/b&gt;et up &amp;gt; &lt;b&gt;C&lt;/b&gt;onfig, find the "Advanced user preferences", Then mark "Save will not delete"&lt;br /&gt;
&lt;br /&gt;
Then scroll down and find Pruning Rule and select "don't rename, don't delete"&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;To send emails using your gmail account :&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Go to Main menu &amp;gt;&amp;gt; &lt;b&gt;R&lt;/b&gt;ules and then &lt;b&gt;A&lt;/b&gt;dd a new rule.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Add a Nickname&lt;br /&gt;
&amp;nbsp; &amp;nbsp; In the Current Folder Type section, Select "Specific"&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Then select "Folder List" and press "&lt;b&gt;T&lt;/b&gt;" and select the specific account folder(Inbox)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Scroll down and find the section where it says "Action Begin here"&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Insert (&lt;b&gt;A&lt;/b&gt;dd) your email address to "Set Form" field&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Then to the "use SMTP" server section &lt;b&gt;A&lt;/b&gt;dd "smtp.gmail.com/tls/user=&lt;your address="" email=""&gt;" &amp;nbsp; (Without the quotes)&lt;/your&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Next Scroll down and find the "Compose Use" value and then select "With Confirmation"&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Then &lt;b&gt;E&lt;/b&gt;xit&lt;br /&gt;
&amp;nbsp; &amp;nbsp; You need to&amp;nbsp;&lt;b&gt;A&lt;/b&gt;dd &amp;nbsp;a new rule per each account&lt;br /&gt;
&lt;br /&gt;
Now you are ready to go!&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Read/Receive and Send emails on the linux command line - Alpine/pine</title><link>http://thisismyeye.blogspot.com/2011/06/readreceive-and-send-emails-on-linux.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Tue, 28 Jun 2011 17:23:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-7893346126621885402</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I like to use my command line to do most of the work rather than using GUIs. So I wanted to be able read and send emails using the linux command line. After done much research I have found this free application called "Alpine" developed at the University Of Washington, which the earlier versions of it was called "Pine".&lt;br /&gt;
&lt;br /&gt;
To download you can go to the official website by clicking the the URL below&lt;br /&gt;
&lt;a href="http://www.washington.edu/alpine/"&gt;http://www.washington.edu/alpine/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
or if you are a Debian/Ubuntu user you can simply type in the command below&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install alpine&lt;br /&gt;
&lt;br /&gt;
Currently I am using Alpine with my gmail account. I may be do a post about how to configure gmail on Alpine&lt;br /&gt;
&lt;br /&gt;
Enjoy&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Secure your Gmail/Google Account</title><link>http://thisismyeye.blogspot.com/2011/06/secure-your-gmailgoogle-account.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Mon, 27 Jun 2011 17:58:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-7296807978797484669</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Are you confidant that your email account is secure anymore? You can never make anything 100% secure but, there are things you can do to make it more secure than it is.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Gmail has introduced 2-step verification which protects your gmail account little bit more. I recommend that everyone who read this blog, should enable the feature.&lt;br /&gt;
&lt;br /&gt;
To enable: Go to your Google account page and then click on the&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Using 2-step verification" And then follow the&amp;nbsp;instructions&lt;br /&gt;
&lt;br /&gt;
Make sure you read the instructions carefully and print out or keep the verification codes safely, which you will need to log in to your account when you haven't got your phone to get a verification code. Never loose them.&lt;br /&gt;
&lt;br /&gt;
The other thing you could do to protect your Gmail account is that to always use HTTPS. To enable this feature.&lt;br /&gt;
&lt;br /&gt;
Log in to your gmail account&lt;br /&gt;
Click on the Options symbol&lt;br /&gt;
Click on the General tab&lt;br /&gt;
Then click on the radio button which says "always use https", under "Browser Connection"&lt;br /&gt;
Save Changes&lt;br /&gt;
&lt;br /&gt;
Surf Save!&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Start Dradis in BackTrack 5</title><link>http://thisismyeye.blogspot.com/2011/06/start-dradis-in-backtrack-5.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Thu, 23 Jun 2011 22:02:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-6877451162063134625</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Back Track 5 comes with Dradis pre loaded already&lt;br /&gt;
But you might not be&amp;nbsp;familiar&amp;nbsp;with the way you start Dradis in BackTrack 5&lt;br /&gt;
&lt;div&gt;
To start Dradis:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Go to the dradis/server directory&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
root@bt:~# cd /pentest/misc/dradis/server&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Then run start.sh script in the dradis directory&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
root@bt:/pentest/misc/dradis/server# /pentest/misc/dradis/start.sh&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>No Active Driver when you type in db_driver or db_connect? </title><link>http://thisismyeye.blogspot.com/2011/06/no-active-driver-when-you-type-in.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Thu, 23 Jun 2011 19:24:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-1343171688785335073</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Do you get the following error message when you type in db_driver on Metasploit console on BlackTrack5?&lt;br /&gt;
&lt;br /&gt;
[*] No Active Driver&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Available: &lt;br /&gt;
&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DB Support: Enable the mysql driver with the following command:&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ gem install mysql&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This gem requires mysqlclient headers, which can be installed on Ubuntu with:&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ sudo apt-get install libmysqlclient-dev&lt;br /&gt;
&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DB Support: Enable the postgresql driver with the following command:&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This requires libpq-dev and a build environment&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ gem install postgres&lt;br /&gt;
[*]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ gem install pg # is an alternative that may work&lt;br /&gt;
&lt;br /&gt;
msf &amp;gt; &lt;br /&gt;
&lt;br /&gt;
And you have tried installing mysql driver but didn't solve the problem ?&lt;br /&gt;
&lt;br /&gt;
This happens because when you start msfconsole by /pentest/exploits/framework3/msfconsole, it does not set the environment variables properly&lt;br /&gt;
&lt;br /&gt;
So all you have to do is, start msfconsole using BT5 menu or by using /usr/local/bin/msfconsole&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></item><item><title>The "Anonymous" threats continues against Sony (Update)</title><link>http://thisismyeye.blogspot.com/2011/04/anonymous-threats-continues-against.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Thu, 14 Apr 2011 06:31:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-426459662718655043</guid><description>The old story Is that Sony has filed a restraining order early this year, against George Hotz A.K.A GeoHot as he has violated copyrights by jail breaking the Sony's play station 3 which allowed him to install custom software on it. Now an independent organisation called 'Anonymous' has threatened Sony by putting up a video on youtube stating their demands (See below). Then this group began to take down Sony website including the Sony main website with DOS (Denial Of Service) attacks. They call this Anti-Sony operation the "Operation Payback". &lt;br /&gt;
&lt;br /&gt;
Sony has demanded popular social media networks such as Youtube and Facebook, to hand over the IP addresses of people who has viewd GeoHot's videos.&lt;br /&gt;
&lt;br /&gt;
&lt;object width="480" height="390"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/2Tm7UKo4IBc?fs=1&amp;amp;hl=en_GB&amp;amp;rel=0&amp;amp;hd=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-nocookie.com/v/2Tm7UKo4IBc?fs=1&amp;amp;hl=en_GB&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="390"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Their argument was that you should be able to do what ever you want with the product you bought with your own money. More future, they ask, if its legal to jail break your phones and install unsigned software applications, why not jail break PS3? &lt;br /&gt;
&lt;br /&gt;
&lt;object width="560" height="349"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/mgtn53sFElE?fs=1&amp;amp;hl=en_GB&amp;amp;rel=0&amp;amp;hd=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-nocookie.com/v/mgtn53sFElE?fs=1&amp;amp;hl=en_GB&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the last video they ask the public to return Sony products if you have bought any and support by join their force, by organising protests against Sony. Anonymous claims &lt;br /&gt;
&lt;br /&gt;
"GeoHot has taken a settlement with sony. The case has been dropped. In the eyes of the law,     the case is closed, for anonymous it is just beginning."&lt;br /&gt;
&lt;br /&gt;
&lt;object width="425" height="349"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/HHaJ0DxE0aw?fs=1&amp;amp;hl=en_GB&amp;amp;rel=0&amp;amp;hd=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-nocookie.com/v/HHaJ0DxE0aw?fs=1&amp;amp;hl=en_GB&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Is this just a start of a massive catastrophic cyber war? would it cause many other war's to start?</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Problem With psexec (Solution)</title><link>http://thisismyeye.blogspot.com/2011/04/problem-with-psexec-solution.html</link><category>Howto</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Wed, 13 Apr 2011 09:10:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-6750343739652130904</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I do my pentests on a Windows XP sp3 box and I had this problem, that I could not get psexec to work as I kept getting this error message.&lt;br /&gt;
&lt;br /&gt;
[*] Started reverse handler on &lt;host ip=""&gt;:4444&lt;br /&gt;
[*] Connecting to the server...&lt;br /&gt;
[*] Authenticating to &lt;remote ip=""&gt;:445|WORKGRO[*] Started reverse handler on 192.168.56.3:4444&lt;br /&gt;
[*] Connecting to the server...&lt;br /&gt;
[*] Authenticating to &lt;remote ip=""&gt;:445|WORKGROUP as user ''...&lt;br /&gt;
&lt;br /&gt;
[-] FAILED! The remote host has only provided us with Guest privileges. Please make sure that the correct username and password have been provided. Windows XP systems that are not part of a domain will only provide Guest privileges to network logins by default.&lt;br /&gt;
&lt;br /&gt;
[*] Exploit completed, but no session was created.UP as user ''...&lt;br /&gt;
&lt;br /&gt;
[-] FAILED! The remote host has only provided us with Guest privileges. Please make sure that the correct username and password have been provided. Windows XP systems that are not part of a domain will only provide Guest privileges to network logins by default.&lt;br /&gt;
&lt;br /&gt;
[*] Exploit completed, but no session was created.&lt;br /&gt;
&lt;br /&gt;
That was because if your Windows XP Professional based computer is not in a domain, by default all users trying to log in to it over the network, are forced to use the Gust Account. To find out more information go to http://www.windowsnetworking.com/articles_tutorials/wxpsimsh.html&lt;br /&gt;
&lt;br /&gt;
So the solution is to &lt;br /&gt;
&lt;br /&gt;
Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa&lt;br /&gt;
And change the ForceGuest value to 0&lt;br /&gt;
&lt;br /&gt;
Done!&lt;/remote&gt;&lt;/remote&gt;&lt;/host&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Text Encryption Application</title><link>http://thisismyeye.blogspot.com/2011/04/text-encrypting-program.html</link><category>My Projects</category><category>Software</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Tue, 12 Apr 2011 01:46:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-3258891741024449216</guid><description>Under the Computer Security module we did one last assignment at the end of the term, the assignment was to implement the substitute cypher and demonstrate how it can be broken by using &lt;a href="http://en.wikipedia.org/wiki/Frequency_analysis"&gt;Frequency Analysis&lt;/a&gt;. So I have written a code to encrypt some text using a key, which the user inputs to the application (Which the application assumes that the key is unique), and to Break the encryption using frequency analysis, using Java. It was required to leave the spaces and non alphabetic characters, and maintain the cases in the cipher text (which makes the cypher text weaker). &lt;br /&gt;
&lt;br /&gt;
I have added another extra feature for the cipher breaking code called The "Advanced Frequency Analysis". Which means that, In frequency analysis it just analyses the frequencies of single characters. But if you turn on this feature if will analyse two and three character combinations as well as single characters, which makes the code breaker more strong.&lt;br /&gt;
&lt;br /&gt;
You will probably wonder that why would I want to add extra code to make the encryption weak. As an example this program passes spaces, non alphabetical characters through to the cipher text. It is because that they are requirements of the assignments so students can write about it on the report and give explanations about how to make it more stronger. &lt;br /&gt;
&lt;br /&gt;
Find the screen shots and examples of the program below.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Encryption &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Plain Text:&lt;br /&gt;
&lt;br /&gt;
Data centres use vast amounts of electricity to run their computer equipment and also to keep it cool.&lt;br /&gt;
&lt;br /&gt;
Environmental group Greenpeace has estimated that their total global energy use will have reached 2 trillion kw/h by 2020.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key:&lt;br /&gt;
&lt;br /&gt;
qazxswedcvfrtgbnhyujmkiolp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioW1Vg-VgJr__6MYtxBVtd54yhPKsFfjMs6rX8W67ZS6PAyT7gnH8f3gHognY_ao8PlEIqMdd36Iv9D14_q4e5YJdnTVx5G0agOYSEjENcOs5zZq6B_h-lpH41W2xnR19uaA-hFe6N_zwR/s1600/Screenshot.png" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioW1Vg-VgJr__6MYtxBVtd54yhPKsFfjMs6rX8W67ZS6PAyT7gnH8f3gHognY_ao8PlEIqMdd36Iv9D14_q4e5YJdnTVx5G0agOYSEjENcOs5zZq6B_h-lpH41W2xnR19uaA-hFe6N_zwR/s320/Screenshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Cipher Text:&lt;br /&gt;
&lt;br /&gt;
Hjtj koetfor gro bjrt jwdgetr dl osoktfakaty td fge tqoaf kdwcgtof ovgacwoet jei jsrd td xooc at kdds.&lt;br /&gt;
&lt;br /&gt;
Yebafdewoetjs pfdgc Jfooecojko qjr ortawjtoi tqjt tqoaf tdtjs psdmjs oeofpy gro nass qjbo fojkqoi 2 tfassade xn/q my 2020.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Decryption&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Advanced Frequency Analysis = off&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3dRLDebQ1r5L26oaUsV8U-FFyk80_bPKEZcMf8loGeGWRRGJaoyaS9sMftskJtueqkcHcQpjmhbUBY6uWJszSEoYUF-7HJUNPiXp-aHp9Ck6Os5aQCkVRKRdTCvgQa6nAfY0NmFAyVOT5/s1600/Screenshot-2.png" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3dRLDebQ1r5L26oaUsV8U-FFyk80_bPKEZcMf8loGeGWRRGJaoyaS9sMftskJtueqkcHcQpjmhbUBY6uWJszSEoYUF-7HJUNPiXp-aHp9Ck6Os5aQCkVRKRdTCvgQa6nAfY0NmFAyVOT5/s320/Screenshot-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Decrypted plain text:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kata lestier dre wart amodstr oq eheltinlntg to ids tueni lomc1dtei ezdnc1mest asf ahro to veec1 nt looh. Jswniosmestah yiodc1 Xieesc1eale uar ertnmatef tuat tueni totah yhopah eseiyg dre bnhh uawe iealuef 2 tinhhnos vb/u pg 2020. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Advanced Frequency Analysis = on&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihlj_XBWJdP8Uizayzt-4pNaKV_32BfmjHKGJC-eo1CAak0EQufVTfz4rMB2ik2vafWttjFPoDDtMdrQZnxKll3xIen12JPwSa0b1xhPS8OGT7mkvrdfTxneeV5Tz4LDtTutZ73c5vSsok/s1600/Screenshot-1.png" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihlj_XBWJdP8Uizayzt-4pNaKV_32BfmjHKGJC-eo1CAak0EQufVTfz4rMB2ik2vafWttjFPoDDtMdrQZnxKll3xIen12JPwSa0b1xhPS8OGT7mkvrdfTxneeV5Tz4LDtTutZ73c5vSsok/s320/Screenshot-1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Decrypted plain text: &lt;br /&gt;
&lt;br /&gt;
Kata lestier  the wart amodstr  in eheltinlntg  of  for tueni lomc1dtei ezdnc1mest  and ahro  of veec1  to looh. Jswniosmestah yiodc1 Xieesc1eale  his ertnmatef tuat tueni totah yhopah eseiyg  the bnhh uawe iealuef 2 tinhhnos vb/u  it 2020. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My Example is just a simple demonstration. As you can see its hard to analyse and decrypt just by using an application/ Algorithm, without having any human help. But This algorithm works better as the plain text gets larger, as it gets more data to analyse so the accuracy of the analysis gets better.</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioW1Vg-VgJr__6MYtxBVtd54yhPKsFfjMs6rX8W67ZS6PAyT7gnH8f3gHognY_ao8PlEIqMdd36Iv9D14_q4e5YJdnTVx5G0agOYSEjENcOs5zZq6B_h-lpH41W2xnR19uaA-hFe6N_zwR/s72-c/Screenshot.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>My Tetris</title><link>http://thisismyeye.blogspot.com/2011/04/my-tetris.html</link><category>My Projects</category><category>Software</category><category>Tech</category><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Mon, 11 Apr 2011 04:10:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-6473374348148242365</guid><description>'Tetris' is one of the most popular games of all time. For the last project of Application Programming module at the university, I got to develop this small Tetris game applet. As you can see its very basic and simple as I added more than requirements of the assignment, to the application itself. It would have had more functionalities but I moved on from it to the next assignment so I can finish my assignments and get it everything done way before the deadline. I will add more features to it if I get much time in the future, even though I tried ones and then I got busy with something else and then moved on.&lt;br /&gt;
&lt;br /&gt;
To control the blocks You can use either keyboard or mouse or both. &lt;br /&gt;
&lt;br /&gt;
Controls:&lt;br /&gt;
&lt;br /&gt;
Mouse Controls:&lt;br /&gt;
&lt;br /&gt;
Right-Mouse Button- Move right&lt;br /&gt;
Left-Mouse Button - Move Left&lt;br /&gt;
&lt;br /&gt;
Key Board Controls:&lt;br /&gt;
&lt;br /&gt;
Right Arrow key- Move Right&lt;br /&gt;
Left Arrow key - Move Left&lt;br /&gt;
'R' key        - Rotate&lt;br /&gt;
&lt;br /&gt;
If I develop it more further I will definitely post it on here. Like I have said it earlier its a very simple version of Tetris. But it plays according do all Tetris rules.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDf3A_qhFXuu4B8RWAb7Ql4d700Cg2Hms2ah0JJzHlzRU6KbLFmF7_XOb8aU_5w6avAqN_-A6i9qq_f3cSyknz98rbHRbKYY799rhbBscEmwzT8eCoa1UGuRmCqzRGPUgiPqr1kiG-sAVv/s1600/Screenshot.png" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDf3A_qhFXuu4B8RWAb7Ql4d700Cg2Hms2ah0JJzHlzRU6KbLFmF7_XOb8aU_5w6avAqN_-A6i9qq_f3cSyknz98rbHRbKYY799rhbBscEmwzT8eCoa1UGuRmCqzRGPUgiPqr1kiG-sAVv/s320/Screenshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1tI50gtopMhpJ25jB8t2COtWWXot88XlOPpaXFYuv2RHjxi4-5oAau3Wj3_8HcfY3lYafx9cxg-B3eOIdJCvozmJ-3A1s0TGeUYpV2uCZ3F6oUQljba69pzQD5ioBS-D3oBNEjr_pcfXl/s1600/Screenshot-2.png" imageanchor="1" style=""&gt;&lt;img border="0" height="320" width="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1tI50gtopMhpJ25jB8t2COtWWXot88XlOPpaXFYuv2RHjxi4-5oAau3Wj3_8HcfY3lYafx9cxg-B3eOIdJCvozmJ-3A1s0TGeUYpV2uCZ3F6oUQljba69pzQD5ioBS-D3oBNEjr_pcfXl/s320/Screenshot-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDf3A_qhFXuu4B8RWAb7Ql4d700Cg2Hms2ah0JJzHlzRU6KbLFmF7_XOb8aU_5w6avAqN_-A6i9qq_f3cSyknz98rbHRbKYY799rhbBscEmwzT8eCoa1UGuRmCqzRGPUgiPqr1kiG-sAVv/s72-c/Screenshot.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Youtube releases new HTML5 embed code</title><link>http://thisismyeye.blogspot.com/2010/07/youtube-releases-new-html5-embed-code.html</link><author>noreply@blogger.com (Chathura Sarathchandra)</author><pubDate>Sat, 24 Jul 2010 06:57:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8013020190602005463.post-1027048169242806982</guid><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Google is testing new HTML5 embed code that plays the videos using either flash or HTML 5 player and it uses &amp;lt;iframe&amp;gt; tag. It is still under construction but developers want&amp;#160; feed back form current users so the beta version of it is now available. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; It won’t play the video on HTML 5, if the video has got Google ads or if you haven’t set it up yet. If you are on a mobile device, it won’t play if it won’t take you to a separate player&amp;#160; or if it won’t play the video in-line. But if your not eligible to view the video in HTML 5 it will play the video using the flash player. But again it depend on the preferences and where you are viewing the video.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; To use this service you have to &lt;a href="http://www.youtube.com/html5" target="_blank"&gt;join&lt;/a&gt; the YouTube HTML 5 beta version and you must be using a browser which supports HTML5.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Supported browsers: &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Google Chrome&lt;/p&gt;  &lt;p&gt;Opera&lt;/p&gt;  &lt;p&gt;Firefox that support the WebM format&lt;/p&gt;  &lt;p&gt;Apple Safari 4.0 or late &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-Chathura Mazz-&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>