<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8505066</id><updated>2024-02-18T21:21:53.992-08:00</updated><category term="Scala"/><category term="Oracle"/><category term="Linux"/><category term="Finance"/><category term="Java"/><category term="Perl"/><category term="Playframework"/><category term="3D printing"/><category term="BizIdeas"/><category term="CQRS"/><category term="Cloud"/><category term="Data Guard"/><category term="Eclipse"/><category term="HL7"/><category term="Logical Standby"/><category term="OpenERP"/><category term="Pattern"/><category term="Pentaho"/><category term="SSH"/><category term="Solaris"/><category term="Streams"/><category term="VMWare"/><category term="Visual Studio"/><category term="BI"/><category term="C++"/><category term="CRM"/><category term="Certificate"/><category term="Cloud Storage"/><category term="Crawler"/><category term="Crystal Report"/><category term="Curl"/><category term="Customer Engagement"/><category term="DDD"/><category term="ESB"/><category term="Game"/><category term="Gamification"/><category term="HPC"/><category term="Heroku"/><category term="Hotpatch"/><category term="Hyper-V"/><category term="IME"/><category term="Latency"/><category term="Layout"/><category term="Log"/><category term="Mashup"/><category term="Merge"/><category term="Middleware"/><category term="NTP"/><category term="Partition"/><category term="Patent"/><category term="Python"/><category term="Razor"/><category term="Refactor"/><category term="SOX"/><category term="SQL"/><category term="SSL"/><category term="Scrapy"/><category term="Security"/><category term="SharpArchitecture"/><category term="T4"/><category term="Tip"/><category term="Trend"/><category term="TurboGears"/><category term="UI"/><category term="URL shortening"/><category term="Usability"/><category term="Virtual Machine"/><category term="Vision"/><category term="WCF"/><category term="Web Monitoring"/><category term="algorithm"/><category term="boost"/><category term="charting"/><category term="concurrent"/><category term="data structure"/><category term="framework"/><category term="language"/><category term="parallel processing"/><category term="vagrant"/><title type='text'>Technical Journeys</title><subtitle type='html'>express the process of my learning of different software technologies and domains.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jackliusr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>197</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8505066.post-4505282842013962399</id><published>2015-06-23T01:47:00.002-07:00</published><updated>2015-06-23T01:47:51.716-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="vagrant"/><title type='text'>my vagrant best practices</title><content type='html'>&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I tried to create vagrant machines recently and found that there is no best practice advices in internet. Here I wrote down some tricks I used during my usage of vagant&amp;nbsp;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Use provision command to test shell scripts or provision scripts changes.&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4505282842013962399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4505282842013962399'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2015/06/my-vagrant-best-practices.html' title='my vagrant best practices'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-1053988995286550930</id><published>2015-06-02T02:07:00.000-07:00</published><updated>2015-06-02T02:07:03.620-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="NTP"/><title type='text'>NTP setup</title><content type='html'>NTP Troubleshooting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;check if NTP port is opened on ntp server&lt;br /&gt;nmap -p123 -sU -P0 --reason 0.rhel.pool.ntp.org&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;li&gt;check if response is dropped : firewall/router drop returned packets&lt;br /&gt;ntpdate -dv 0.rhel.pool.ntp.org&lt;/li&gt;
&lt;li&gt;ntpq&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;reachable, reject&lt;/li&gt;
&lt;li&gt;non-reachable, reject&lt;/li&gt;
&lt;li&gt;non-reachable, reject, mobilize&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/1053988995286550930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/1053988995286550930'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2015/06/ntp-setup.html' title='NTP setup'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-1707729674226596031</id><published>2015-04-30T03:12:00.001-07:00</published><updated>2015-04-30T04:52:59.057-07:00</updated><title type='text'>Juniper terminal client can&amp;#39;t launch at IE11 and Java</title><content type='html'>&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;Recently juniper terminal clients are failed to launch after some windows updates.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;My env:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;IE11&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;Java 8.0.45&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;Windows 7 64bit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=&quot;Helvetica Neue Light, HelveticaNeue-Light, helvetica, arial, sans-serif&quot;&gt;I tried the following ways, however they don&#39;t help.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=&quot;Helvetica Neue Light, HelveticaNeue-Light, helvetica, arial, sans-serif&quot;&gt;Uninstall juniper softwares&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=&quot;Helvetica Neue Light, HelveticaNeue-Light, helvetica, arial, sans-serif&quot;&gt;Clear IE cache&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;Applet testing from www.java.com can pass.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, helvetica, arial, sans-serif;&quot;&gt;After adding the vpn site into&amp;nbsp;ie compatibility view and allow it in pop-up blocker, juniper terminal client can launch.&lt;/span&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/1707729674226596031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/1707729674226596031'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2015/04/juniper-terminal-client-cant-launch-at.html' title='Juniper terminal client can&amp;#39;t launch at IE11 and Java'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-4406841925652226617</id><published>2015-03-20T10:06:00.001-07:00</published><updated>2015-03-20T10:06:23.650-07:00</updated><title type='text'>ETL:   awk vs other script languages vs ETL tools</title><content type='html'>I did a lot of data migration (ETL) last year. I didn&#39;t want to write program to do those things and want to try something new. &amp;nbsp;I knew that AWK is very good script language to precessing text file. so I decided to give it a try.&lt;br /&gt;
&lt;br /&gt;
The whole experience using AWK is quite good. I think the main advantage is that the mental model of using AWK processing text files is more nature than other languages.&lt;br /&gt;
&lt;br /&gt;
Now I think, the more easy way is possible using Pentaho data integration tools to do the same things.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4406841925652226617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4406841925652226617'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2015/03/etl-awk-vs-other-script-languages-vs.html' title='ETL:   awk vs other script languages vs ETL tools'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-298953302313827309</id><published>2014-05-29T01:35:00.001-07:00</published><updated>2014-08-05T23:51:07.282-07:00</updated><title type='text'>Compile rlwrap in Redhat/Oracle Enterprise Linux 5.4</title><content type='html'>Rlwrap(0.41) &amp;nbsp;depends on readline library and readline depends on&amp;nbsp;libtermcap.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Download source code of rlwrap from&amp;nbsp;&lt;a href=&quot;http://utopia.knoware.nl/~hlub/uck/rlwrap/&quot;&gt;http://utopia.knoware.nl/~hlub/uck/rlwrap/&lt;/a&gt;&lt;br /&gt;
Get dependencies of rlwrap from&amp;nbsp;&lt;a href=&quot;http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/4/base/x86_64/&quot;&gt;http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/4/base/x86_64/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;libtermcap-devel-2.0.8-46.1.x86_64.rpm&lt;/li&gt;
&lt;li&gt;readline-5.1-3.el5.x86_64.rpm&lt;/li&gt;
&lt;li&gt;readline-devel-5.1-3.el5.x86_64.rpm&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
build and install....&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
maybe it&#39;s more easy to install the package directly from Extra Packages for Enterprise Linux instead of building manually.&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/298953302313827309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/298953302313827309'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2014/05/compile-rlwrap-in-redhatoracle.html' title='Compile rlwrap in Redhat/Oracle Enterprise Linux 5.4'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-3398577161310419834</id><published>2014-04-14T22:10:00.001-07:00</published><updated>2014-04-14T22:10:19.741-07:00</updated><title type='text'>Implementing oracle Data guard via SSH and autossh</title><content type='html'>Oracle 9i and 10g gave instructions on how to configure SSH port forwarding with data guard. However it can&#39;t find in MOS now. I recently configured a 11.2 physical standby configuration. The articles I used as reference is as following:&lt;br /&gt;
&lt;a href=&quot;http://www.scribd.com/doc/68622653/Implementing-SSH-Port-Forwarding-With-Data-Guard&quot;&gt;http://www.scribd.com/doc/68622653/Implementing-SSH-Port-Forwarding-With-Data-Guard&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ermanarslan.blogspot.sg/2013/07/database-redo-transport-compression.html&quot;&gt;http://ermanarslan.blogspot.sg/2013/07/database-redo-transport-compression.html&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://linuxaria.com/howto/permanent-ssh-tunnels-with-autossh?lang=en&quot;&gt;http://linuxaria.com/howto/permanent-ssh-tunnels-with-autossh?lang=en&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I don&#39;t want to manually start ssh when machine is restarted or some network issues. I search other options to mitigate this issues. &amp;nbsp;Autossh seems a sound solution to this issue.&amp;nbsp;&lt;a href=&quot;http://linuxaria.com/howto/permanent-ssh-tunnels-with-autossh?lang=en&quot;&gt;http://linuxaria.com/howto/permanent-ssh-tunnels-with-autossh?lang=en&lt;/a&gt;&amp;nbsp;give the configuration. I followed the configuration and found that autossh can&#39;t start after reboot when put the following command into /etc/rc.local&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #c20cb9; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;su&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #660033; font-family: monospace; font-size: 12px; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;-s&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt;bin&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #c20cb9; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;sh&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; autossh &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #660033; font-family: monospace; font-size: 12px; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;-c&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: red; font-family: monospace; font-size: 12px; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;&#39;autossh -M 0 -q -f -N -o &quot;ServerAliveInterval 60&quot; -o &quot;ServerAliveCountMax 3&quot; -L 3306:localhost:3306 autossh@remotemachine&#39;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After specify the full path of autossh, it works.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #c20cb9; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;su&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #660033; font-family: monospace; font-size: 12px; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;-s&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt;bin&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #c20cb9; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;sh&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; autossh &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: #660033; font-family: monospace; font-size: 12px; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;-c&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; color: #110000; font-family: monospace; font-size: 12px; line-height: 16px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; border: 0px; color: red; font-family: monospace; font-size: 12px; line-height: 16px; margin: 0px; outline: 0px; padding: 0px; white-space: pre;&quot;&gt;&#39;/usr/local/bin/autossh -M 0 -q -f -N -o &quot;ServerAliveInterval 60&quot; -o &quot;ServerAliveCountMax 3&quot; -L 3306:localhost:3306 autossh@remotemachine&#39;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Other configurations are similar as in the above links, I don&#39;t repeat those here.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/3398577161310419834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/3398577161310419834'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2014/04/implementing-oracle-data-guard-via-ssh.html' title='Implementing oracle Data guard via SSH and autossh'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-4532331686519783956</id><published>2014-03-12T22:48:00.001-07:00</published><updated>2014-03-12T22:48:26.296-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type='text'>Don&#39;t debug procedure in standby database</title><content type='html'>Always got the following error when debugging a procedure in SQL Developer even the privileges are granted.&lt;br /&gt;
&lt;br /&gt;
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( &#39;10.20.30.125&#39;, &#39;3703&#39; )&lt;br /&gt;
ORA-01031: insufficient privileges&lt;br /&gt;
ORA-06512: at &quot;SYS.DBMS_DEBUG_JDWP&quot;, line 68&lt;br /&gt;
ORA-06512: at line 1&lt;br /&gt;
This session requires DEBUG CONNECT SESSION and DEBUG ANY PROCEDURE user privileges.&lt;br /&gt;
&lt;br /&gt;
I found that the connected database is logical standby after several testing and troubleshooting. Can do the debugging after changing the connection to primary database.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4532331686519783956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4532331686519783956'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2014/03/dont-debug-procedure-in-standby-database.html' title='Don&#39;t debug procedure in standby database'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-3754558057267617377</id><published>2014-02-11T22:24:00.002-08:00</published><updated>2014-02-11T22:24:46.533-08:00</updated><title type='text'>AWS EC2--can&#39;t get windows password without keypair assigned.</title><content type='html'>I setup &amp;nbsp;a windows EC2 instances without keypair. I thought I can use password to login window machine via RDP. &amp;nbsp;However I always can&#39;t get the password. I stopped and startted the EC2 instances. It still don&#39;t work. I tried to launched a new instance, the same issue. Don&#39;t find solution from stackoverflow as well. At last, I noticed that &quot;Unable to retrieve public keys to generate Administrator password. &amp;nbsp;Please ensure that you have launched with a keypair assigned&quot; in system log. I launched a new instance with keypair and I can get the windows password now.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/3754558057267617377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/3754558057267617377'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2014/02/aws-ec2-cant-get-windows-password.html' title='AWS EC2--can&#39;t get windows password without keypair assigned.'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-8435342156636294400</id><published>2014-02-09T23:20:00.001-08:00</published><updated>2014-02-09T23:33:57.838-08:00</updated><title type='text'>Mysql server very slow with low cpu,io usage and little data</title><content type='html'>&lt;br&gt;
Recently, one mysql database in my company is very slow. &amp;nbsp;The solution:&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;skip-name-resolve&lt;/li&gt;
&lt;li&gt;or add host names into host file&lt;/li&gt;
&lt;li&gt;or add hostnames and their ip addresses to name server.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;br&gt;Ref:&lt;br&gt;
&lt;br&gt;
http://allurcode.com/2010/04/07/mysql-very-slow-without-a-reason/&lt;br&gt;
http://dev.mysql.com/doc/refman/5.1/en/host-cache.html&lt;br&gt;
&lt;br&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/8435342156636294400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/8435342156636294400'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2014/02/mysql-server-very-slow-with-low-cpuio.html' title='Mysql server very slow with low cpu,io usage and little data'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-2550399458987463708</id><published>2014-01-03T00:00:00.001-08:00</published><updated>2014-01-03T00:00:35.618-08:00</updated><title type='text'>Build WebKit on windows 7 with visual studio 2013 express</title><content type='html'>&lt;p&gt;cygwin&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;Install cygwin by &lt;span style=&quot;color: #333333; font-family: &#39;Lucida Grande&#39;, Verdana, Arial; font-size: 12px; line-height: 18px;&quot;&gt; &lt;/span&gt;&lt;code style=&quot;font-family: Courier, Fixed; font-size: 13px; overflow: scroll; color: #333333; line-height: 18px;&quot;&gt;cygwin-downloader.exe, &lt;/code&gt;after cygwin installation, do the following:&lt;/p&gt;&lt;p style=&quot;padding-left: 60px;&quot;&gt;Install gcc&lt;/p&gt;&lt;p style=&quot;padding-left: 60px;&quot;&gt;downgrade python from 2.7 to 2.6.8&lt;/p&gt;&lt;p&gt;MathML fonts &lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;download MathML fonts from  https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;https://developer.mozilla.org/@api/deki/files/6388/=MathML-fonts.msi&lt;/p&gt;&lt;p&gt;update-webkit script&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;the script must be runned. It will change environment variables.&lt;/p&gt;&lt;p&gt;Error:&lt;/p&gt;&lt;p&gt;LocalizedStrings.cpp(248): error C2001: newline in constant&lt;/p&gt;&lt;p&gt;   https://bugreports.qt-project.org/browse/QTBUG-23590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/p&gt;&lt;p&gt;Source:&lt;/p&gt;&lt;p&gt;http://www.webkit.org/building/tools.html&lt;/p&gt;&lt;p&gt;http://www.webkit.org/building/checkout.html&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/2550399458987463708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/2550399458987463708'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2014/01/build-webkit-on-windows-7-with-visual.html' title='Build WebKit on windows 7 with visual studio 2013 express'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-4756960318931960876</id><published>2013-12-26T19:11:00.001-08:00</published><updated>2013-12-26T19:12:01.142-08:00</updated><title type='text'>My hosting plan</title><content type='html'>&lt;p&gt;I have figured out several startup ideas and want to start my own opportunities. I need to setup website, mobile app etc . To give my customer best user experience in my budget, I compare cloud hosting, web hosting, VPS hosting etc. Cloud hosting is too expensive, Webhosting is too many restrictions. Finally I choose VPS hosting. Linode and digitalocean are in my list. In the end, I choose &lt;a href=&quot;https://www.digitalocean.com/?refcode=9c5f195e6f1f&quot;&gt;https://www.digitalocean.com/&lt;/a&gt; after comparing the price plans between  Linode and digitalocean.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4756960318931960876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4756960318931960876'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/12/cloud.html' title='My hosting plan'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-2316146740021418121</id><published>2013-12-04T01:04:00.000-08:00</published><updated>2013-12-04T01:04:23.202-08:00</updated><title type='text'>Missed opportunity</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Half years ago, I have a plan to make this kind of mobile app for Singapore. What a pity! don&#39;t implement it.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3tk7MawptvaUtQ_zLVylmv4-JUm6XbI9-swNuc_lAsi2tO7bGiCpWHe6k5zMafzC9_MHw5RWRl3TmhJH1v9inB2_PpaoCaXE7rDVXpdsSdPcYHWAIMTF8Z2Elml7LbidV0YKo/s1600/MissedOpportunities.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3tk7MawptvaUtQ_zLVylmv4-JUm6XbI9-swNuc_lAsi2tO7bGiCpWHe6k5zMafzC9_MHw5RWRl3TmhJH1v9inB2_PpaoCaXE7rDVXpdsSdPcYHWAIMTF8Z2Elml7LbidV0YKo/s1600/MissedOpportunities.png&quot; height=&quot;360&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/2316146740021418121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/2316146740021418121'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/12/missed-opportunity.html' title='Missed opportunity'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3tk7MawptvaUtQ_zLVylmv4-JUm6XbI9-swNuc_lAsi2tO7bGiCpWHe6k5zMafzC9_MHw5RWRl3TmhJH1v9inB2_PpaoCaXE7rDVXpdsSdPcYHWAIMTF8Z2Elml7LbidV0YKo/s72-c/MissedOpportunities.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-4304422686480869116</id><published>2013-11-25T22:31:00.001-08:00</published><updated>2013-11-25T22:31:47.963-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Crawler"/><category scheme="http://www.blogger.com/atom/ns#" term="Scrapy"/><title type='text'>Scrapy to crawl dynamic contents generated from javascript</title><content type='html'>&lt;p&gt;Some websites adopt anti-scrapping technologies. One of such technologies is to use javascript to generate content (http://blog.databigbang.com/scraping-vs-antiscraping/). Javascript enabled crawlers are not feature complete as scrapy. Scrapy and selenium to scrape this kind of sites after researching and several trial.&lt;/p&gt;&lt;p&gt;Selenium env setup: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Download selenium server from http://www.seleniumhq.org/download/, run the download jar file: java -jar selenium-server-standalone-2.37.0.jar&lt;/li&gt;&lt;li&gt;Install Selenium IDE from Firefox (http://www.seleniumhq.org/download/)&lt;/li&gt;&lt;li&gt;Install Selenium Client &amp;amp; WebDriver Language Bindings for Python: pip install selenium&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Code changes of Scrapy CrawlSpider: &lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;Code from http://snipplr.com/view/66998/ is almost enough. only the &lt;span class=&quot;kw3&quot; style=&quot;line-height: 14.640000343322754px; color: blue; font-family: monospace; font-size: 12px; white-space: pre; background-color: #eeeeee;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #00008b; font-family: monospace; font-size: 12px; line-height: 14.640000343322754px; white-space: pre; background-color: #eeeeee;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot; style=&quot;line-height: 14.640000343322754px; color: #00008b; font-family: monospace; font-size: 12px; white-space: pre; background-color: #eeeeee;&quot;&gt;sleep&lt;/span&gt;&lt;span class=&quot;br0&quot; style=&quot;line-height: 14.640000343322754px; color: olive; font-family: monospace; font-size: 12px; white-space: pre; background-color: #eeeeee;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nu0&quot; style=&quot;line-height: 14.640000343322754px; color: maroon; font-family: monospace; font-size: 12px; white-space: pre; background-color: #eeeeee;&quot;&gt;2.5&lt;/span&gt;&lt;span class=&quot;br0&quot; style=&quot;line-height: 14.640000343322754px; color: olive; font-family: monospace; font-size: 12px; white-space: pre; background-color: #eeeeee;&quot;&gt;)&lt;/span&gt; statement cann&#39;t be parsed. I changed that statements as &quot;&lt;span style=&quot;color: #373737; font-family: Monaco, Consolas, &#39;Andale Mono&#39;, &#39;DejaVu Sans Mono&#39;, monospace; font-size: 13px;&quot;&gt;sel.wait_for_page_to_load(10000) &lt;/span&gt;&quot; according to http://blog.fangruhua.name/post-59.html&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4304422686480869116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4304422686480869116'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/11/scrapy-to-crawl-dynamic-contents.html' title='Scrapy to crawl dynamic contents generated from javascript'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-8518235721758655559</id><published>2013-11-12T19:32:00.001-08:00</published><updated>2013-11-12T19:32:27.512-08:00</updated><title type='text'>Install Generic Collectible Card Game on 64bit Kubuntu</title><content type='html'>&lt;p&gt;gccg.sourceforge.net only mentioned how to install on 32bit system. That don&#39;t work on my 64 bit kubuntu virtual machine.&lt;/p&gt;&lt;p&gt;The solution to install 64bit is given at http://sourceforge.net/p/gccg/discussion/248070/thread/01f14149/#f36a&lt;/p&gt;&lt;p&gt;After installed SDL, SDL_image, SDL_net, SDL_ttf and SDL_mixer, I sill got the following error when I run :  sh ./Metw&lt;/p&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 10px; padding: 5px; border: 0px; vertical-align: baseline; background-color: #eeeeee; overflow: auto; width: auto; max-height: 600px; font-family: &#39;Ubuntu Mono&#39;, &#39;Ubuntu Beta Mono A&#39;, Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; word-wrap: normal; color: #333333; line-height: 18.200000762939453px;&quot;&gt;&lt;code style=&quot;margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: &#39;Ubuntu Mono&#39;, &#39;Ubuntu Beta Mono A&#39;, Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; color: #222222;&quot;&gt;./&lt;span class=&quot;goog_qs-tidbit goog_qs-tidbit-0&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: #ffffdd; color: #000000; text-decoration: inherit; display: inline !important;&quot;&gt;ccg_client: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As my vm is 64bit, I run to install libjpeg62. &lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;apt-get install libjpeg62&lt;/p&gt;&lt;p&gt;change server.name following the instruction at http://sourceforge.net/p/gccg/discussion/248070/thread/01f14149/#f36a&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/8518235721758655559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/8518235721758655559'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/11/install-generic-collectible-card-game.html' title='Install Generic Collectible Card Game on 64bit Kubuntu'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-1563846660649653291</id><published>2013-10-23T06:16:00.000-07:00</published><updated>2013-11-06T01:31:32.876-08:00</updated><title type='text'>Oracle RAC 11g Database on Linux Using VirtualBox</title><content type='html'>&lt;p&gt;I installed RAC following the instruction at &lt;a href=&quot;http://www.oracle-base.com/articles/11g/oracle-db-11gr2-rac-installation-on-oracle-linux-6-using-virtualbox.php#vm_setup&quot;&gt;http://www.oracle-base.com/articles/11g/oracle-db-11gr2-rac-installation-on-oracle-linux-6-using-virtualbox.php#vm_setup&lt;/a&gt;. I failed to completed the installation as our office subnet is not as the subnet mentioned at the article. Search via google and found another article &lt;a href=&quot;http://www.lab128.com/rac_installation_using_vb/article_text.html&quot;&gt;http://www.lab128.com/rac_installation_using_vb/article_text.html&lt;/a&gt;. The article at lab128 sounds good for our office env.  The following are some specical issues during the installation following the article at lab128.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt;In the software type installation screen, I choose Desktop as I am not comfortable to configure many things in text mode.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt;Run Automatic Setup by installing &#39;oracle-rdbms-server-11gR2-preinstall&#39; package&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt;I got error: &lt;/span&gt;&lt;strong style=&quot;margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 13px; font-family: &#39;courier new&#39;, courier; vertical-align: baseline; color: #575757; line-height: 19px;&quot;&gt;&lt;span class=&quot;goog_qs-tidbit goog_qs-tidbit-0&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; outline: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; background-color: #ffffdd; color: #000000; text-decoration: inherit; display: inline !important;&quot;&gt;Error: failure: repodata/primary.xml.gz from ol6_latest:&lt;/span&gt;&lt;/strong&gt;&lt;span class=&quot;goog_qs-tidbit goog_qs-tidbit-0&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 13px; font-family: &#39;courier new&#39;, courier; vertical-align: baseline; background-color: #ffffdd; text-decoration: inherit; line-height: 19px; display: inline !important;&quot;&gt; [Errno 256] No more mirrors to try.&lt;/span&gt;  when running &quot;yum install oracle-rdbms-server-11gR2-preinstall&quot;.    Following the correct answer at &lt;a href=&quot;https://forums.oracle.com/thread/2550364&quot;&gt;https://forums.oracle.com/thread/2550364&lt;/a&gt;, I added the following one line  into /etc/yum.conf and cleaned repository metadata. &lt;/p&gt;&lt;p style=&quot;padding-left: 60px;&quot;&gt;&lt;span style=&quot;color: #575757; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, &#39;Lucida Grande&#39;, sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;http_caching=none&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt;Install ASMLib&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt;I got the following error. &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #575757; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, &#39;Lucida Grande&#39;, sans-serif; font-size: 13px; line-height: 19px;&quot;&gt;[Errno 14] PYCURL ERROR 56 - &quot;Failure when receiving data from the peer. &lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 21px;&quot;&gt;Solution:  use download manager to download primary.xml.gz from &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 21px;&quot;&gt;http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/repodata/primary.xml.gz. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 21px;&quot;&gt;replace primary.xml.gz at /var/cache/yum/x86_64/6Server/ol6_latest with the downloaded primary.xml.gz&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 21px;&quot;&gt;Clone:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 21px;&quot;&gt;Refresh MAC address for the cloned machine on adapter 1 and adapter 2 of network, change the corresponding ifcfg-eth0, ifcfg-eth1, ifcfg-eth2 file at /etc/sysconfig/network-scripting&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 21px;&quot;&gt;changes: delete UUID, change HWADDR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/1563846660649653291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/1563846660649653291'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/10/how-to-print-digital-passport-photo.html' title='Oracle RAC 11g Database on Linux Using VirtualBox'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-2655283433173470756</id><published>2013-10-11T03:44:00.003-07:00</published><updated>2013-10-11T03:44:46.515-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="Streams"/><title type='text'>Recoverable scripts in streams setup</title><content type='html'>The following errors were encountered during setting up streams.&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
dbms_recoverable_script.execute_block: exception, sql code = -44001, error message: ORA-44001: invalid schema&lt;br /&gt;ORA-06512: at &quot;SYS.DBMS_RECO_SCRIPT_INVOK&quot;, line 139&lt;br /&gt;ORA-06512: at &quot;SYS.DBMS_STREAMS_RPC&quot;, line 485&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I searched the internet and find a very useful article talking about recoverable scripts at &amp;nbsp;&lt;a href=&quot;http://www.juliandyke.com/Blog/?m=201011&quot;&gt;http://www.juliandyke.com/Blog/?m=201011&lt;/a&gt;&amp;nbsp;. However my case is different with&amp;nbsp;Julian Dyke&#39;s case, my case is stopped at step 7.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
After comparing the block scripts with my saved setup script, I found that the user name -strmadmin is in lower case. There &amp;nbsp;is no documentation about dbms_recoverable_script API. After several trials, I used the following scripts to change the forward script in step 7. I run&amp;nbsp;&amp;nbsp;dbms_recoverable_script.run to run my scripts. It passed step 7 successfully.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
declare&lt;br /&gt;&amp;nbsp; &amp;nbsp;v_block clob := &#39;-- Set up queue &quot;strmadmin&quot;.&quot;PRIMARY$APPQ&quot;&#39; || CHR(10);&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;BEGIN&#39; || CHR(10));&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;dbms_streams_adm.set_up_queue(&#39; || CHR(10));&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;queue_table =&amp;gt; &#39;&#39;&quot;STRMADMIN&quot;.&quot;PRIMARY$APPQT&quot;&#39;&#39;,&#39; || CHR(10));&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;storage_clause =&amp;gt; NULL,&#39; || CHR(10));&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;queue_name =&amp;gt; &#39;&#39;&quot;STRMADMIN&quot;.&quot;PRIMARY$APPQ&quot;&#39;&#39;,&#39; || CHR(10));&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;queue_user =&amp;gt; &#39;&#39;&quot;STRMADMIN&quot;&#39;&#39;);&#39;|| CHR(10));&lt;br /&gt;&amp;nbsp; dbms_lob.append(v_block,&#39;END;&#39; || CHR(10));&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; dbms_recoverable_script.MODIFY_FORWARD_BLOCK(&lt;br /&gt;&amp;nbsp; &amp;nbsp; SCRIPT_ID =&amp;gt;&#39;E8741630FB012C11E043291E140A7C6F&#39;,&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;BLOCK_NUM =&amp;gt;7,&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;FORWARD_BLOCK=&amp;gt;v_block,&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;DBLINK_FORWARD =&amp;gt;&#39;DALIAN&#39;,&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ACTION =&amp;gt;&#39;REPLACE&#39;);&lt;br /&gt;end;&lt;/blockquote&gt;
Should change undo_block for step 7 as well.&lt;br /&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/2655283433173470756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/2655283433173470756'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/10/recoverable-scripts-in-streams-setup_11.html' title='Recoverable scripts in streams setup'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-3557035546288453091</id><published>2013-09-26T01:14:00.001-07:00</published><updated>2013-09-26T02:14:00.485-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Guard"/><category scheme="http://www.blogger.com/atom/ns#" term="Logical Standby"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="Streams"/><title type='text'>Resolve ORA-26786  in logical standby configuration</title><content type='html'>&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 14.545454025268555px; text-align: right;&quot;&gt;Recently I got&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;ORA-26786 errors&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 14.545454025268555px; text-align: right;&quot;&gt;several times &amp;nbsp;in our logical standby database 11.2.0.3. &amp;nbsp;Search support.oracle.com and found&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;u&gt;Bug 10302680 - Logical Standby skips some rows inserted after instantiate table and may produce ORA-26786 ORA-26787 (Doc ID 10302680.8)&lt;/u&gt;&amp;nbsp;. After using 11.2.04 as logical standby, I still got&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;ORA-26786 on the logical standby database. &amp;nbsp;I was thinking what&#39;s happened. After read the events in&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;DBA_LOGSTDBY_EVENTS and compared the schema between primary db and the logical standby, I found that errors is caused by&amp;nbsp;&amp;nbsp;non published bug 14305552&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;&lt;u&gt;ORA-26786 / ORA-1403 After New Column Added to Table with Default Value (Doc ID 1529239.1).&lt;/u&gt;&amp;nbsp;However the workaround solution in the&amp;nbsp;&lt;/span&gt;&lt;u style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;Doc ID 1529239.1 &lt;/u&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;don&#39;t work on logical standby database.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;I don&#39;t want to re-create the logical standby database as the database is big and it will take several hours to recreate the logical standby database. The good thing is that I noticed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;u&gt;How To Reinstantiate a Single Table in a Streams Environment (Doc ID 335502.1)&lt;/u&gt;&amp;nbsp; in the search results during my searching ORA-26786&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;&amp;nbsp;in support.oracle.com. I wonder if I can do the same thing on logical standby database.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif; font-size: 15px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Tahoma, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;Luckily, there is indeed a document about this in MOS. that is &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Synchronizing tables in a Logical Standby Database (Doc ID 271455.1)&lt;/u&gt; . I followed the way to handle this as Example A in&amp;nbsp;&lt;u&gt;(Doc ID 271455.1)&lt;/u&gt; .&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
I created database link and run DBMS_LOGSTDBY.INSTANTIATE_TABLE. Unluckily, I got another error:&amp;nbsp;ORA-16276. &amp;nbsp;Google internet and found another trick thing at&amp;nbsp;&lt;a href=&quot;https://forums.oracle.com/thread/1009899&quot;&gt;https://forums.oracle.com/thread/1009899&lt;/a&gt;&amp;nbsp;. The database link need to be an public database link.&lt;br /&gt;
&lt;br /&gt;
Still unluckily I got another error ORA-31631 when I nun&amp;nbsp;DBMS_LOGSTDBY.INSTANTIATE_TABLE&amp;nbsp;again. Fortunately get the solution from&amp;nbsp;&lt;a href=&quot;https://forums.oracle.com/thread/841693&quot;&gt;https://forums.oracle.com/thread/841693&lt;/a&gt;&amp;nbsp;. &amp;nbsp;I did grant EXP_FULL_DATABASE to the database link user at primary database and IMP_FULL_DATABASE to the database link user at standby database.&lt;br /&gt;
&lt;br /&gt;
Finally I got the error resolved after the so long trouble shooting journey. &lt;br /&gt;
&lt;br /&gt;
A final notes, I am not &amp;nbsp;sure if granting SELECT_CATALOG_ROLE to the database link users also contribute to the success running of DBMS_LOGSTDBY.INSTANTIATE_TABLE. I did that grant when I got the error ORA-16276. This solution is mentioned at&amp;nbsp;&lt;a href=&quot;http://www.linuxidc.com/Linux/2012-05/61129.htm&quot;&gt;http://www.linuxidc.com/Linux/2012-05/61129.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Update: The workaround solution work in logical standby database. It should be applied on primary database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/3557035546288453091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/3557035546288453091'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/09/resolve-ora-26786-in-logical-standby.html' title='Resolve ORA-26786  in logical standby configuration'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-6358964079238653462</id><published>2013-09-17T08:33:00.003-07:00</published><updated>2013-09-26T01:35:42.192-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Guard"/><category scheme="http://www.blogger.com/atom/ns#" term="Logical Standby"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type='text'>ORA-01341 errors in oracle logical standby database</title><content type='html'>All solutions from forums and blogs don&#39;t help me. I couldn&#39;t find capture name in logical standby database. I tried to run the following statement to adjust max SGA size for sql apply to use after I read the&amp;nbsp;&lt;b style=&quot;color: #222222; font-family: Tahoma, sans-serif; font-size: small;&quot;&gt;Oracle® Database PL/SQL Packages and Types Reference (&lt;/b&gt;&lt;a href=&quot;http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_lsbydb.htm#BDCIEGEI&quot;&gt;http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_lsbydb.htm#BDCIEGEI&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
execute&amp;nbsp;&lt;span style=&quot; font-size: 12px;&quot;&gt;DBMS_LOGSTDBY.APPLY_SET(&#39;&lt;/span&gt;&lt;span style= color: #222222; font-family: monospace; font-size: 12px;&quot;&gt;MAX_SGA&lt;/span&gt;&lt;span style=&quot; font-size: 12px;&quot;&gt;&#39;, 1024);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #222222; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #222222; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
After the setting was changed, ORA-01341 disappeared.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/6358964079238653462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/6358964079238653462'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/09/ora-01341-errors-in-oracle-logical.html' title='ORA-01341 errors in oracle logical standby database'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-5993956918888171547</id><published>2013-08-19T01:58:00.001-07:00</published><updated>2013-09-26T01:36:48.738-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type='text'>startup oracle database with  ORA-19815: WARNING: db_recovery_file_dest_size of xxx bytes is 100.00% used, without RMAN configuration</title><content type='html'>&lt;p&gt;startup mount;&lt;/p&gt;&lt;p&gt;alter system set&amp;nbsp;DB_RECOVERY_FILE_DEST=&#39;&#39; scope=both sid=&#39;*&#39;;&lt;/p&gt;&lt;p&gt;alter system set log_archive_dest_1=&#39;location=/backup/sid/archivelog&#39; scope=both sid=&#39;*&#39;&lt;/p&gt;&lt;p&gt;alter database open;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jackliusr.blogspot.com/feeds/5993956918888171547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8505066/5993956918888171547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/5993956918888171547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/5993956918888171547'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/08/startup-oracle-database-with-ora-19815.html' title='startup oracle database with  ORA-19815: WARNING: db_recovery_file_dest_size of xxx bytes is 100.00% used, without RMAN configuration'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-6135820746519561908</id><published>2013-07-17T19:36:00.001-07:00</published><updated>2013-07-17T19:36:53.933-07:00</updated><title type='text'>Koreader can&amp;#39;t open a deleted and copied-back pdf file. </title><content type='html'>&lt;p&gt;I deleted a file which previously can be read from koreader. However koreader can&#39;t open the file again after I copied back the file into kindle. &amp;nbsp;I connected kindle to PC usign usb cable, and deleted the corresponding file in koreader/history folder. Koreader can open the file again.&amp;nbsp;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/6135820746519561908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/6135820746519561908'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/07/koreader-can-open-deleted-and-copied.html' title='Koreader can&amp;#39;t open a deleted and copied-back pdf file. '/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-7128814717678754165</id><published>2013-07-09T06:39:00.001-07:00</published><updated>2013-07-09T06:39:06.660-07:00</updated><title type='text'>Feedly migration from google reader</title><content type='html'>After migration from google reader to feedly cloud, the same resources are marked as read if the resources were read in other devices. &amp;nbsp;The reading synchronisation saves readers a lot of time during reading across many devices. &amp;nbsp;I like this feature very much.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/7128814717678754165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/7128814717678754165'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/07/feedly-migration-from-google-reader.html' title='Feedly migration from google reader'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-4949758898298885263</id><published>2013-05-27T20:29:00.001-07:00</published><updated>2013-05-27T20:29:06.390-07:00</updated><title type='text'>What&amp;#39;s the point to define an interface implemented by only one class?</title><content type='html'>&lt;p&gt;I didn&#39;t see the point to define an interface which is implemented by only one class. &amp;nbsp;I thought it was code smell. I had some doubts about how to fit domain service into DDD+CQRS and researched forums, groups and blogs. I found Jimmy Bograd at this link &lt;a href=&quot;http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/&quot;&gt;http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/&lt;/a&gt;&amp;nbsp;give his opinion on this.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;span style=&quot;color: #444444; font-family: Georgia, &#39;Bitstream Charter&#39;, serif; font-size: 16px; line-height: 24px; background-color: #fcfcfc;&quot;&gt;Services are always exposed as an interface, not for &amp;ldquo;swappability&amp;rdquo;, testability or the like, but to expose a set of cohesive operations in the form of a contract.&amp;nbsp; On a sidenote, it always bothered me when people say that an interface with one implementation is a design smell.&amp;nbsp; No, an interface is used to expose a contract.&amp;nbsp; Interfaces communicate design intent, far better than a class might.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #444444; font-family: Georgia, &#39;Bitstream Charter&#39;, serif; font-size: 16px; line-height: 24px; background-color: #fcfcfc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4949758898298885263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4949758898298885263'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/05/what-point-to-define-interface.html' title='What&amp;#39;s the point to define an interface implemented by only one class?'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-4048320960166917227</id><published>2013-05-14T00:15:00.001-07:00</published><updated>2013-05-14T00:15:37.464-07:00</updated><title type='text'>How to understand  the internal implementation of c# syntax sugars.</title><content type='html'>&lt;p&gt;IL Dasm is mentioned many times in the book &quot;LINQ unleashed for C#&quot;, It is quite useful to understand the magics the c# compile do in the compiling stage for many syntax sugars.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4048320960166917227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/4048320960166917227'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/05/how-to-understand-internal.html' title='How to understand  the internal implementation of c# syntax sugars.'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-5718879807016306784</id><published>2013-05-09T21:28:00.001-07:00</published><updated>2013-05-09T23:21:58.916-07:00</updated><title type='text'> Loading GeoNames Data Into SQL Server 2008 </title><content type='html'>&lt;div&gt;I use linux to prepare the allcountries file for MSSQL to load data as EditPad Pro is not free. The steps I took:&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;#convert line ending&lt;/div&gt;&lt;div&gt;unix2dos allcountries.txt&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;#&lt;/div&gt;&lt;div&gt;iconv -f utf-8 -t UTF-16LE allcountries.txt -o allcountries-utf16.txt&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;#add UTF-16LE BOM&lt;/div&gt;&lt;div&gt;echo -ne &#39;\xFF\xFE&#39; &amp;gt; BOM.txt&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;#as I convert allcountries.txt from utf8 to utf16 at first, so I concatenate the two files instead of using the method mentioned in stackoverflow to save my time.&lt;/div&gt;&lt;div&gt;cat BOM.txt allcountries-utf16.txt &amp;gt; allcountries-utf16-BOM.txt&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;table creation and bulk inserting are same as&amp;nbsp;Spatial Ed&#39;s blog: &amp;nbsp;population of one country is too big and it will cause overflow error during bulk inserting. I changed the data type of population from int to numeric.&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;CREATE TABLE GeoNames(&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; geonameid int NOT NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name nvarchar(200) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asciiname nvarchar(200) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alternatenames nvarchar(max) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latitude float NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; longitude float NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature_class char(2) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature_code nvarchar(10) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; country_code char(3) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cc2 char(60) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin1_code nvarchar(20) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin2_code nvarchar(80) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin3_code nvarchar(20) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin4_code nvarchar(20) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; population numeric(18,0) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elevation int NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gtopo30 int NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timezone char(31) NULL,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; modification_date date NULL&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: small; line-height: 18.162500381469727px; background-color: #ced5db;&quot;&gt;GO&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Reference:&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://blogs.msdn.com/b/edkatibah/archive/2009/01/13/loading-geonames-data-into-sql-server-2008-yet-another-way.aspx&quot;&gt;http://blogs.msdn.com/b/edkatibah/archive/2009/01/13/loading-geonames-data-into-sql-server-2008-yet-another-way.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://stackoverflow.com/questions/4364156/iconv-converting-from-windows-ansi-to-utf-8-with-bom&quot;&gt;http://stackoverflow.com/questions/4364156/iconv-converting-from-windows-ansi-to-utf-8-with-bom&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Byte_order_mark&quot;&gt;http://en.wikipedia.org/wiki/Byte_order_mark&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://download.geonames.org/export/dump/&quot;&gt;http://download.geonames.org/export/dump/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://forum.geonames.org/gforum/posts/list/847.page&quot;&gt;http://forum.geonames.org/gforum/posts/list/847.page&lt;/a&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/5718879807016306784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/5718879807016306784'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/05/loading-geonames-data-into-sql-server.html' title=' Loading GeoNames Data Into SQL Server 2008 '/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8505066.post-7682928946733435392</id><published>2013-04-11T03:58:00.001-07:00</published><updated>2013-04-11T03:58:56.883-07:00</updated><title type='text'>Startup ideas from non technic point of view</title><content type='html'>From average joe&#39;s point of view, instead of personal technic, maybe one can find a lot of opportunities to start up businesses. One example is unroll.me.   A lot of non-IT savvy persons don&#39;t know how to unsubscribe or move those unwanted mails to junk. Think as dumb person!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/7682928946733435392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8505066/posts/default/7682928946733435392'/><link rel='alternate' type='text/html' href='http://jackliusr.blogspot.com/2013/04/startup-ideas-from-non-technic-point-of.html' title='Startup ideas from non technic point of view'/><author><name>Jack Liu S. R.</name><uri>http://www.blogger.com/profile/16903358018766935686</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>