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

<channel>
	<title>Tech &#8211; LarryLai</title>
	<atom:link href="https://larrylai.com/category/entrepreneur/tech/feed/" rel="self" type="application/rss+xml" />
	<link>https://larrylai.com</link>
	<description>兼聽則明 偏聽則暗</description>
	<lastBuildDate>Wed, 23 Nov 2016 03:14:29 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://larrylai.com/wp-content/uploads/2017/03/larrylai_com-favicon.png</url>
	<title>Tech &#8211; LarryLai</title>
	<link>https://larrylai.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WP-Courseware LaTex Integration</title>
		<link>https://larrylai.com/wp-courseware-latex-integration/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Wed, 18 Feb 2015 18:33:18 +0000</pubDate>
				<category><![CDATA[Application]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1920</guid>

					<description><![CDATA[<p>Background: Tried Quiz Master Next plugin for WordPress with some Math quizzes with success. However, this plugin has no feature to let users to upload image file for quiz, i.e. if there are some non-multiple choice question and need to review student&#8217;s steps, then this plugin is not enough. Then purchased a Learning Management plugin [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/wp-courseware-latex-integration/">WP-Courseware LaTex Integration</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>Tried <a href="https://wordpress.org/plugins/quiz-master-next/" target="_blank" rel="noopener">Quiz Master Next</a> plugin for <a href="https://wordpress.org/about/" target="_blank" rel="noopener">WordPress</a> with some Math quizzes with success. However, this plugin has no feature to let users to upload image file for quiz, i.e. if there are some non-multiple choice question and need to review student&#8217;s steps, then this plugin is not enough.</p>
<p>Then purchased a Learning Management plugin by Flyplugins called <a href="https://flyplugins.com/wp-courseware/" target="_blank" rel="noopener">WP-Courseware</a> to accept upload image as the written answers with student&#8217;s working steps and to extend the quiz feature to a full function learning management system.</p>
<p><strong>Issue:</strong></p>
<p>Unlike Quiz Master Next plugin, WP-Courseware has no built-in <a href="http://latex-project.org/intro.html" target="_blank" rel="noopener">LaTex</a> rendering feature. To present Math formulae into a question, there must be a separate LaTex rendering mechanism, among several solution, I picked MathJax-LaTex plugin as it includes the <a href="http://www.ams.org/publications/authors/tex/amslatex" target="_blank" rel="noopener">AMSMath</a> package, but after testing several scenarios, all are fine except after submit answers, the quiz result cannot render the LaTex shortcodes, probably because after the quiz result page is loaded dynamically via <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" target="_blank" rel="noopener">AJAX</a>. It is interesting that after a hitting on the reload button, the LaTex will then be nicely rendered.</p>
<p><strong>Solution:</strong></p>
<p>After searching on web, it is a known that for MathJax to handle dynamic content, a MathJax reload is required. Actually a suggested function below may cure this issue:</p>
<p>MathJax.Hub.Queue([&#8220;Typeset&#8221;,MathJax.Hub]);</p>
<p>I tried to include this to the Header.php of the activated theme, but failed with a total white screen. According to the developer of WP-courseware &#8211; Flyplugins, it is logical to place the above function call in wpcw_front.js as the suggested code is javascript function call. After placing it in line 380 immediately before function: quizHandler_setup(), it works brilliantly.</p>
<p>Credit has to be given to Flyplugins&#8217; Ben Arellano who responded to my query promptly and finally advised where to insert the javascript function.</p>
<p><strong>Config:</strong></p>
<ul>
<li>WordPress   4.1.1</li>
<li>WP-Courseware   3.2</li>
<li>Quiz Master Next 4.1.0</li>
<li>MathJax-LaTex  1.3.3</li>
</ul>
<p><strong>Tricks:</strong></p>
<ol>
<li>Flyplugins has no idea on LaTex support and proficiency in MathJax. And they originally did not believe LaTex would work on WP-Courseware! Without try-and-error, LaTex integration with WP-Courseware is unachievable.</li>
<li>short code \( \small{[ \text{latex} ] \dots [ \text{/latex} ]} \) should be compatible with MathJax-LaTex and WP-Courseware, however, the questions using this shortcode is fine, but even adding the MathJax queue function stated above, the quiz result within this shortcode still cannot be rendered, only using equivalent short code \(\small{\backslash (\; \dots \backslash )}\) works fine. Together with the short code \(\small{\backslash [\; \dots \backslash ]} \) (that forces line break and horizontal centre aligned), there is good enough control provided by the MathJax-LaTex plugin.</li>
</ol>
<p>The post <a rel="nofollow" href="https://larrylai.com/wp-courseware-latex-integration/">WP-Courseware LaTex Integration</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Piwigo Fotorama Plugin Bug!</title>
		<link>https://larrylai.com/piwigo-fotorama-plugin-bug/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Tue, 20 May 2014 10:49:08 +0000</pubDate>
				<category><![CDATA[Application]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Gallery]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1131</guid>

					<description><![CDATA[<p>Issue: The built-in slideshow feature of Piwigo has neither fading effect nor full-screen show. Though there is a CoolIris/PicLens plugin, it cannot work in iOS including iPhone and iPad as it requires Java. There is a new slideshow plugin for Piwigo called Fotorama that I have been waiting for a long time to empower the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/piwigo-fotorama-plugin-bug/">Piwigo Fotorama Plugin Bug!</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p>The built-in slideshow feature of Piwigo has neither fading effect nor full-screen show. Though there is a <a href="http://piwigo.org/ext/extension_view.php?eid=234" target="_blank" rel="noopener">CoolIris/PicLens plugin</a>, it cannot work in iOS including iPhone and iPad as it requires Java. There is a new slideshow plugin for Piwigo called <a href="http://piwigo.org/ext/extension_view.php?eid=727" target="_blank" rel="noopener">Fotorama</a> that I have been waiting for a long time to empower the online albums.</p>
<p>However, it did not work in my Piwigo site. Just displaying all the thumbnails but no slideshow happened either under window or full-screen. No error message. Changing all combination of plugin configuration, nothing was changed.</p>
<p><strong>Solution:</strong></p>
<ol>
<li>Check Administration -&gt; Configuration -&gt; Options -&gt; Genereal -&gt; Gallery title</li>
<li>Remove all text including Apostrophe (&#8216;).</li>
</ol>
<p><strong>Config:</strong></p>
<ul>
<li>Piwigo     2.6.2</li>
<li>Fotorama Plugin   2.6.h</li>
</ul>
<p><strong>Tricks:</strong></p>
<ul>
<li>At the beginning, I observed that a slave Piwigo site works but the host site did not work, and interestingly another separate Piwigo site works while the slave site did not work.</li>
<li>As there is no error message while executing slideshow, it is difficult to find out the bug mentioned in the Solution above.</li>
<li>Posted a question in Piwigo <a href="http://piwigo.org/forum/viewtopic.php?id=23280&amp;p=1" target="_blank" rel="noopener">Forum</a> related to Fotorama plugin, but no one responded after a day.</li>
<li>The flow to solve the issue was by adding new slave Piwigo site under the working host Piwigo and then adding only the Fotorama plugin but nothing else, it works and then gradually configuring other settings. After adding a Gallery title, it did not work. Bingo! Usually, we use &#8220;LarryLai&#8217;s Gallery&#8221; or &#8220;Mr. X&#8217;s Gallery&#8221;, then no luck, you are trapped by the bug.</li>
</ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/piwigo-fotorama-plugin-bug/">Piwigo Fotorama Plugin Bug!</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>zPanel Webmail Password Change</title>
		<link>https://larrylai.com/zpanel-webmail-password-change/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Thu, 17 Apr 2014 04:33:11 +0000</pubDate>
				<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1417</guid>

					<description><![CDATA[<p>Issue: zPanel is using RoundCube as the webmail frontend. It&#8217;s clean and user-friendly. However, if it is going to be used by ordinary mailbox users without zPanel admin access, users cannot change their own password through RoundCube. Deploying the Password plugin is not easy for zPanel as RoundCube is an open source webmail software, and [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/zpanel-webmail-password-change/">zPanel Webmail Password Change</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p>zPanel is using RoundCube as the webmail frontend. It&#8217;s clean and user-friendly. However, if it is going to be used by ordinary mailbox users without zPanel admin access, users cannot change their own password through RoundCube. Deploying the Password plugin is not easy for zPanel as RoundCube is an open source webmail software, and it is not dedicated for zPanel.</p>
<p><strong>Solution:</strong></p>
<ol>
<li>Open /etc/zpanel/configs/roundcube/main.inc.php</li>
<li>Deploy password plugin by modifying: <span style="line-height: 1.5;">$rcmail_config[&#8216;plugins&#8217;] = array() -&gt; $rcmail_config[&#8216;plugins&#8217;] = array(&#8216;password&#8217;)</span></li>
<li>change dir to /etc/zpanel/panel/etc/apps/webmail/plugins/password/</li>
<li>Copy config.inc.php.dist to config.inc.php</li>
<li>Change the line: <span style="line-height: 1.5;">$rcmail_config[&#8216;password_driver&#8217;] = &#8216;sql&#8217; -&gt; $rcmail_config[&#8216;password_driver&#8217;] = &#8216;zpmail&#8217;</span></li>
<li>Add the following driver contributed by <a href="http://www.overdose.ro/2013/04/roundcube-change-password-driver-for-zpanel/" target="_blank" rel="noopener">setris</a>.</li>
<li>Name it as zpmail.php and put it under directory ../plugins/password/drivers/:</li>
</ol>
<p style="margin-left: 40px;"><span style="line-height: 1.5;">&lt;?php</span></p>
<div style="margin-left: 40px;">/**</div>
<div style="margin-left: 40px;"> * ZpanelX SQL Password Driver</div>
<div style="margin-left: 40px;"> *</div>
<div style="margin-left: 40px;"> * Driver for passwords stored in SQL database</div>
<div style="margin-left: 40px;"> *</div>
<div style="margin-left: 40px;"> * @version 1.1</div>
<div style="margin-left: 40px;"> * @author</div>
<div style="margin-left: 40px;"> *</div>
<div style="margin-left: 40px;">*/</div>
<div style="margin-left: 40px;">class rcube_zpmail_password</div>
<div style="margin-left: 40px;">{</div>
<div style="margin-left: 40px;">    function save($curpass, $passwd)</div>
<div style="margin-left: 40px;">    {</div>
<div style="margin-left: 40px;">        $rcmail = rcmail::get_instance();</div>
<div style="margin-left: 40px;">        $local_part  = $rcmail-&gt;user-&gt;get_username(&#8216;local&#8217;);</div>
<div style="margin-left: 40px;">        $domain_part = $rcmail-&gt;user-&gt;get_username(&#8216;domain&#8217;);</div>
<div style="margin-left: 40px;">        $username    = $_SESSION[&#8216;username&#8217;];</div>
<div style="margin-left: 40px;">        $host        = $_SESSION[&#8216;imap_host&#8217;];</div>
<div style="margin-left: 40px;">        // convert domains to/from punnycode</div>
<div style="margin-left: 40px;">        if ($rcmail-&gt;config-&gt;get(&#8216;password_idn_ascii&#8217;)) {</div>
<div style="margin-left: 40px;">            $domain_part = rcube_idn_to_ascii($domain_part);</div>
<div style="margin-left: 40px;">            $username    = rcube_idn_to_ascii($username);</div>
<div style="margin-left: 40px;">            $host        = rcube_idn_to_ascii($host);</div>
<div style="margin-left: 40px;">        }</div>
<div style="margin-left: 40px;">        else {</div>
<div style="margin-left: 40px;">            $domain_part = rcube_idn_to_utf8($domain_part);</div>
<div style="margin-left: 40px;">            $username    = rcube_idn_to_utf8($username);</div>
<div style="margin-left: 40px;">            $host        = rcube_idn_to_utf8($host);</div>
<div style="margin-left: 40px;">        }</div>
<div style="margin-left: 40px;"><span style="line-height: 1.5;">        $sql = &#8216;SELECT password FROM mailbox WHERE username=&#8221;&#8216;.$username.'&#8221;&#8216;;</span></div>
<div style="margin-left: 40px;"><span style="line-height: 1.5;">        $host = &#8220;DBHOST&#8221;; // Usually localhost</span></div>
<div style="margin-left: 40px;">        $dbName = &#8220;zpanel_postfix&#8221;; // your ZPanelX postfix database. Default value here</div>
<div style="margin-left: 40px;">        $dbUser = &#8220;DBUSERNAME&#8221;;</div>
<div style="margin-left: 40px;">        $dbPass = &#8220;DBPASSWORD&#8221;;</div>
<div style="margin-left: 40px;">        try {</div>
<div style="margin-left: 40px;">            $db = new PDO(&#8220;mysql:host={$host};dbname={$dbName}&#8221;, $dbUser, $dbPass);</div>
<div style="margin-left: 40px;">            $db-&gt;setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );</div>
<div style="margin-left: 40px;">        } catch (PDOException $e) {</div>
<div style="margin-left: 40px;">            //echo &#8216;Database error: &#8216;. $e-&gt;getMessage() . &#8221;;</div>
<div style="margin-left: 40px;">            return PASSWORD_CONNECT_ERROR;</div>
<div style="margin-left: 40px;">        }</div>
<div style="margin-left: 40px;">        $res = $db-&gt;query($sql);</div>
<div style="margin-left: 40px;">        $result = $res-&gt;fetch();$pass = $result[&#8220;password&#8221;];</div>
<div style="margin-left: 40px;">        $hash = str_replace(&#8220;{PLAIN-MD5}&#8221;, &#8220;&#8221;, $pass);</div>
<div style="margin-left: 40px;">        if (md5($curpass) != $hash)</div>
<div style="margin-left: 40px;">        {</div>
<div style="margin-left: 40px;">            // echo &#8220;Password mismatch error&#8221;;</div>
<div style="margin-left: 40px;">            return PASSWORD_ERROR;</div>
<div style="margin-left: 40px;">        }</div>
<div style="margin-left: 40px;"><span style="line-height: 1.5;">        $pass = &#8220;{PLAIN-MD5}&#8221;.md5($passwd);</span></div>
<div style="margin-left: 40px;">        $sql = &#8216;UPDATE mailbox SET password=&#8221;&#8216;.$pass.'&#8221; WHERE username=&#8221;&#8216;.$username.'&#8221;&#8216;;</div>
<div style="margin-left: 40px;">        $res = $db-&gt;query($sql);</div>
<div style="margin-left: 40px;">        if ($res) {</div>
<div style="margin-left: 40px;">                return PASSWORD_SUCCESS;</div>
<div style="margin-left: 40px;">        }</div>
<div style="margin-left: 40px;">        return PASSWORD_ERROR;</div>
<div style="margin-left: 40px;">    }</div>
<div style="margin-left: 40px;">}</div>
<div style="margin-left: 40px;">Don&#8217;t forget to change parameters: $host, $db_User, $db_Pass above appropriately.</div>
<div><strong>Config:</strong></div>
<ul>
<li>zPanel   10.1.1</li>
<li>RoundCube   0.9.5</li>
<li>Password plugin  3.2</li>
</ul>
<div><strong>Tricks:</strong></div>
<div>There are many drivers in Password plugin inlcuding the default: sql, but none of them works with zPanel. That is the reason why we need to create new driver for the plugin.</div>
<div></div>
<p>The post <a rel="nofollow" href="https://larrylai.com/zpanel-webmail-password-change/">zPanel Webmail Password Change</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress qTranslate Add Language Select on Header</title>
		<link>https://larrylai.com/wordpress-qtranslate-add-language-select-on-header/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Fri, 11 Apr 2014 01:20:03 +0000</pubDate>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1426</guid>

					<description><![CDATA[<p>Issue: qTranslate is the best free multilingual plugin of WordPress, but its standard method to include language selector is adding widget. One deficiency of WordPress is that most themes do not provide many defined widget areas (same as regions in other CMS). In case the language select is to be displayed on the header, then [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/wordpress-qtranslate-add-language-select-on-header/">WordPress qTranslate Add Language Select on Header</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p><a href="http://wordpress.org/plugins/qtranslate/" target="_blank" rel="noopener">qTranslate</a> is the best free multilingual plugin of WordPress, but its standard method to include language selector is adding widget. One deficiency of WordPress is that most themes do not provide many defined widget areas (same as regions in other CMS). In case the language select is to be displayed on the header, then some codes modification has to be done.</p>
<p><strong>Solution:</strong></p>
<p>1.  Create child theme (if not yet available)</p>
<p>2.  Copy header.php from mother theme to child theme</p>
<p>3.  Include the following codes before &lt;/div&gt;&lt;/div&gt;&lt;/header&gt; of file header.php under child theme</p>
<p style="margin-left: 40px;"><span style="line-height: 1.5;">&lt;div style=&#8221;float:left; margin-top:25px; margin-left:40px;&#8221;&gt;</span></p>
<p style="margin-left: 80px;"><span style="line-height: 1.5;">&lt;?php qtrans_generateLanguageSelectCode(&#8216;both&#8217;); ?&gt;</span></p>
<div style="margin-left: 40px;">&lt;/div&gt;</div>
<div>4.  To remove the bullet points at the front of each language, add the following codes at the end of file style.css under child theme:</div>
<div>
<div style="margin-left: 40px;">.qtrans_language_chooser { list-style-type:none }</div>
<div style="margin-left: 40px;">.qtrans_flag { border:1px solid #b6b6b6 }</div>
<div style="margin-left: 40px;">#qtranslate-chooser li {</div>
<div style="margin-left: 80px;">margin-bottom: -3px;</div>
<div style="margin-left: 40px;">}</div>
<div><strong>Config:</strong></div>
<ul>
<li>WordPress    3.8.2</li>
<li>qTranslate    2.5.39</li>
<li>shopifiq theme 2.0.8</li>
</ul>
</div>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/wordpress-qtranslate-add-language-select-on-header/">WordPress qTranslate Add Language Select on Header</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Correct Pricing Tables Ready Plugin&#8217;s Currency Position</title>
		<link>https://larrylai.com/correct-pricing-tables-ready-plugins-currency-position/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Mon, 07 Apr 2014 15:26:20 +0000</pubDate>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1429</guid>

					<description><![CDATA[<p>Issue: Ready! Pricing Tables is a great free plugin for making price tables in WordPress, but its gray template has a weird behaviour that the currency sign appear after the price instead of leading the price. Solution: Open the file under the plugins directory:  pricing-table-ready/constructor/gray/column.php Change line 2 from: &#8230;{prt Price} {prtCurrency}&#8230; to become: &#8230;{prtCurrency}{prtPrice}&#8230; [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/correct-pricing-tables-ready-plugins-currency-position/">Correct Pricing Tables Ready Plugin&#8217;s Currency Position</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p>Ready! Pricing Tables is a great free plugin for making price tables in WordPress, but its gray template has a weird behaviour that the currency sign appear after the price instead of leading the price.</p>
<p><strong>Solution:</strong></p>
<p>Open the file under the plugins directory:  pricing-table-ready/constructor/gray/column.php</p>
<p>Change line 2 from:</p>
<p style="margin-left: 40px;">&#8230;{prt Price} {prtCurrency}&#8230;</p>
<p>to become:</p>
<p style="margin-left: 40px;">&#8230;{prtCurrency}{prtPrice}&#8230;</p>
<p><strong>Trick:</strong></p>
<p>Under WordPress admin panel, the file to be modified does not appear when you click &#8220;edit&#8221; to the plugin Pricing Tables Ready.</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/correct-pricing-tables-ready-plugins-currency-position/">Correct Pricing Tables Ready Plugin&#8217;s Currency Position</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>GIMP No Transparent Background</title>
		<link>https://larrylai.com/gimp-no-transparent-background/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Tue, 04 Mar 2014 06:17:51 +0000</pubDate>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1435</guid>

					<description><![CDATA[<p>Issue: After correctly using Gimp&#8217;s Color to Alpha feature to turn white (or other colour) background into transparency. It appears also correctly in Gimp. However, every time export the image, there is no transparent background, instead the white background appears. Solution: Export image to PNG format instead of JPG Config: GIMP   2.8 Trick: In [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/gimp-no-transparent-background/">GIMP No Transparent Background</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p>After correctly using Gimp&#8217;s Color to Alpha feature to turn white (or other colour) background into transparency. It appears also correctly in Gimp. However, every time export the image, there is no transparent background, instead the white background appears.</p>
<p><strong>Solution:</strong></p>
<p>Export image to <a href="http://en.wikipedia.org/wiki/Portable_Network_Graphics#Transparency_of_image" target="_blank" rel="noopener">PNG</a> format instead of JPG</p>
<p><strong>Config:</strong></p>
<p>GIMP   2.8</p>
<p><strong>Trick:</strong></p>
<p>In case the i<a href="http://www.libpng.org/pub/png/" target="_blank" rel="noopener"><img decoding="async" class="alignleft wp-image-1438" src="http://blog.larrylai.com/wp-content/uploads/2014/03/pnglogo-blk-gimp.png" alt="pnglogo-blk-gimp" width="144" height="108" srcset="https://larrylai.com/wp-content/uploads/2014/03/pnglogo-blk-gimp.png 220w, https://larrylai.com/wp-content/uploads/2014/03/pnglogo-blk-gimp-180x135.png 180w, https://larrylai.com/wp-content/uploads/2014/03/pnglogo-blk-gimp-60x45.png 60w" sizes="(max-width: 144px) 100vw, 144px" /></a>mage to be edited is in JPG format, then whenever it is to be exported, GIMP makes the default format same as the original, i.e. JPG, and you can never get the expected transparent background even the process of editing is correct.</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/gimp-no-transparent-background/">GIMP No Transparent Background</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Deployment of WordPress Shopp</title>
		<link>https://larrylai.com/deployment-of-wordpress-shopp/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Tue, 18 Feb 2014 07:52:10 +0000</pubDate>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1443</guid>

					<description><![CDATA[<p>Background: Need to apply tiered pricing schedule for the service, however, WooCommerce Dynamic Pricing Extension is unreasonably high at US$129 for single-site license. Issue: There are some ecommerce plugins in WordPress, but like WP-ecommerce, the pricing discount setting is too complicated, and I wonder if it works for my pricing schedule. Solution: Shopp plugin comes [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/deployment-of-wordpress-shopp/">Deployment of WordPress Shopp</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>Need to apply tiered pricing schedule for the service, however, WooCommerce Dynamic Pricing Extension is unreasonably high at US$129 for single-site license.</p>
<p><strong>Issue:</strong></p>
<p>There are some ecommerce plugins in WordPress, but like WP-ecommerce, the pricing discount setting is too complicated, and I wonder if it works for my pricing schedule.</p>
<p><strong>Solution:</strong></p>
<p>Shopp plugin comes with clean and logical admin interface.</p>
<p><strong>Config:</strong></p>
<ul>
<li>WordPress: 3.7.1</li>
<li>Shopp:        1.3.1</li>
</ul>
<p><strong>Tricks:</strong></p>
<p>Most of the WordPress ecommerce plugins claimed them as free, but some require upgrade to chargeable pro version even for very basic function, few free plugins are offering comprehensive features. Shopp is definitely offering quite comprehensive features. WooCommerce is good but not as a free plugin. There is no pro version for WooCommerce as they want to charge every bit of feature as chargeable extension at unreasonably high price.</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/deployment-of-wordpress-shopp/">Deployment of WordPress Shopp</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress FAQs Plugin missing Categories</title>
		<link>https://larrylai.com/wordpress-faqs-plugin-missing-categories/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Sun, 16 Feb 2014 16:59:23 +0000</pubDate>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1447</guid>

					<description><![CDATA[<p>Background: The built-in Faq feature of the WordPress theme Shopifiq cannot perform multilingual provided by qTranlate plugin. No issue for the questions, but the language contents mixed together for the answers. I guess it is due to the inability to add html control to the answers, i.e. omitting the directive &#60;!&#8211;:en&#8211;&#62;&#60;!&#8211;:&#8211;&#62; suggested by qtranslate. Thus, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/wordpress-faqs-plugin-missing-categories/">WordPress FAQs Plugin missing Categories</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>The built-in Faq feature of the WordPress theme Shopifiq cannot perform multilingual provided by <a href="http://wordpress.org/plugins/qtranslate/" target="_blank" rel="noopener">qTranlate</a> plugin. No issue for the questions, but the language contents mixed together for the answers. I guess it is due to the inability to add html control to the answers, i.e. omitting the directive &lt;!&#8211;:en&#8211;&gt;&lt;!&#8211;:&#8211;&gt; suggested by qtranslate. Thus, there is a need to find a substitute FAQ plugin. After searching for lots of related plugins, <a href="http://wordpress.org/plugins/q-and-a-focus-plus-faq/" target="_blank" rel="noopener">Q and A Focus Plus FAQ</a> meets all my requirement including multingual compatibility with qtranslate and providing grouping related questions.</p>
<p><strong>Issue:</strong></p>
<p>After installing the Q and A Focus Plus FAQ plugin in WordPress, most features are fine without any problem, but the Category widget was missing in the Edit / Add new FAQ page. At the same time, the Category Edit page could not be called by the FAQs menu.</p>
<p><strong>Solution:</strong></p>
<ol>
<li>Actually below is only a workaround, not a solution</li>
<li>Activate other theme that does not has a built-in FAQ feature with Category attribute</li>
<li>Click FAQs -&gt; FAQs Categories to edit or add Category for Q and A Focus Plus FAQ</li>
<li>Activate back the theme back</li>
</ol>
<p><strong>Config:</strong></p>
<ul>
<li>WordPress:    3.7.1</li>
<li>qTranslate:      2.5.38</li>
<li>Shopifiq theme:  2.0.9.3</li>
<li>Q and A Focus Plus FAQ: 1.3.9.1</li>
</ul>
<p><strong>Tricks:</strong></p>
<ul>
<li>Cannot find any clue on web as it may be rare that a WordPress theme having built-in FAQ feature.</li>
<li>Other FAQ plugins having Category attribute do not having (probably) such taxonomy conflict with Shopifiq theme.</li>
</ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/wordpress-faqs-plugin-missing-categories/">WordPress FAQs Plugin missing Categories</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Customize Piwigo Template</title>
		<link>https://larrylai.com/customize-piwigo-template/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Mon, 03 Feb 2014 03:04:37 +0000</pubDate>
				<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1459</guid>

					<description><![CDATA[<p>Issue: Want to change order of the footer content. Solution: Create directory my-templates in ./template-extension Copy ./themes/default/template/footer.tpl to my-templates Click Administration -&#62; Configuration -&#62; Templates Corresponding to &#8216;my-templates/footer.tpl&#8217; choose footer.tpl under column: Original Templates Config: Piwigo      2.5.3 Tricks: Theorectically, it can be achieved by modifying directly ./theme/default/template/footer.tpl, but using after updating core version, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/customize-piwigo-template/">Customize Piwigo Template</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong></p>
<p>Want to change order of the footer content.</p>
<p><strong>Solution:</strong></p>
<ol>
<li>Create directory my-templates in ./template-extension</li>
<li>Copy ./themes/default/template/footer.tpl to my-templates</li>
<li>Click Administration -&gt; Configuration -&gt; Templates</li>
<li>Corresponding to &#8216;my-templates/footer.tpl&#8217; choose footer.tpl under column: Original Templates</li>
</ol>
<p><strong>Config:</strong></p>
<p>Piwigo      2.5.3</p>
<p><strong>Tricks:</strong></p>
<p>Theorectically, it can be achieved by modifying directly ./theme/default/template/footer.tpl, but using after updating core version, probably it needs to be modify again.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/customize-piwigo-template/">Customize Piwigo Template</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Aegisub Audio Issue</title>
		<link>https://larrylai.com/aegisub-audio-issue/</link>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Thu, 30 Jan 2014 05:15:34 +0000</pubDate>
				<category><![CDATA[Entrepreneur]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">http://blog.larrylai.com/?p=1462</guid>

					<description><![CDATA[<p>Background: Last time trying to use Aegisub was just a simple task to shift the subtitle timing for several sec. for the whole subtitle syncronization with the video clip. This time just I want to do a pilot project to publishing Chinese subtitle for a video clip from public domain. Issue: A video subtitle editor [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/aegisub-audio-issue/">Aegisub Audio Issue</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>Last time trying to use <a href="http://www.aegisub.org/" target="_blank" rel="noopener">Aegisub</a> was just a simple task to shift the subtitle timing for several sec. for the whole subtitle syncronization with the video clip. This time just I want to do a pilot project to publishing Chinese subtitle for a video clip from public domain.</p>
<p><strong>Issue:</strong></p>
<p>A video subtitle editor &#8211; <a href="http://www.aegisub.org/" target="_blank" rel="noopener">Aegisub</a> always shows error message below when selecting</p>
<p>Audio -&gt; Open Audio from Video</p>
<div style="margin-left: 40px;">Error loading file:</div>
<div style="margin-left: 40px;">RIFF PCM WAV audio provider: File is not a RIFF file</div>
<div style="margin-left: 40px;">Wave64 audio provider: File is not a Wave64 RIFF file</div>
<div style="margin-left: 40px;">FFmpegSource: unknown or unsupported sample format</div>
<div style="margin-left: 40px;"></div>
<p><strong>Solution:</strong></p>
<div>Use <a href="https://trac.handbrake.fr/wiki/HandBrakeGuide" target="_blank" rel="noopener">HandBrake</a> to convert the input video to the following output file:</div>
<div style="margin-left: 40px;"><span style="line-height: 1.5;">Video format: MKV, MPEG-4(FFmpeg)</span></div>
<div style="margin-left: 40px;"><span style="line-height: 1.5;">Audio format: FLAC (ffmpeg)</span></div>
<div></div>
<div><strong><span style="line-height: 1.5;">Config:</span></strong></div>
<ul>
<li>Aegisub          3.0.4</li>
<li>HandBrake     0.9.9</li>
<li>OpenSuse       12.3</li>
</ul>
<p><strong>Tricks:</strong></p>
<ol>
<li>If MP4 is chosen instead of MKV, the FLAC (ffmpeg) cannot be selected in HandBrake</li>
<li>Many other Subtitle Editors for Linux are not comprehensive enough to do an easy job for making subtitles, e.g. most of them cannot display the wave form of the audio that can be used to estimate the voice timing</li>
<li>In case the Audio cannot be open from Video, Aegisub cannot even play the sound track</li>
</ol>
<p>The post <a rel="nofollow" href="https://larrylai.com/aegisub-audio-issue/">Aegisub Audio Issue</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
