<?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-6459060772244634442</id><updated>2024-02-19T03:04:14.181-08:00</updated><category term="JavaScript"/><category term="jQuery Mobile"/><category term="html5"/><category term="windows"/><category term="jQuery"/><category term="WebApp"/><category term="qt"/><category term="apps"/><category term="chrome web store"/><category term="mac"/><category term="WordPress"/><category term="code signing"/><category term="php"/><category term="software development"/><category term="web"/><category term="webmastering"/><category term="AppUp"/><category term="IE10"/><category term="LGPL"/><category term="OpenCart"/><category term="PhoneGap"/><category term="android"/><category term="boost"/><category term="delphi"/><category term="meego"/><category term="msi"/><category term="site performance"/><category term="site speed"/><category term="size"/><category term="wix"/><title type='text'>C++ / Qt / Mac / Win / Delphi / JavaScript</title><subtitle type='html'>jQuery, PHP, MySQL, HTML5 and all the rest of my interests...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><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>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6459060772244634442.post-1144964009414247523</id><published>2017-02-19T02:20:00.000-08:00</published><updated>2017-02-19T02:20:15.205-08:00</updated><title type='text'>Google analytics event tracking: outbound links</title><content type='html'>Ok, if you want to track outbound links (when user clicks external link) -- and you are using jQuery -- add this somewhere (after importing jquery):&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;border-bottom-color: initial; border-bottom-style: initial; border-image: initial; border-left-color: rgb(127, 145, 158); border-left-style: solid; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 0px 4px; box-sizing: border-box; color: #2a2e2e; font-family: monaco, menlo, monospace; font-size: 12px; line-height: 21px; overflow-x: auto; padding: 0px 0px 0px 12px;&quot;&gt;&lt;code class=&quot;javascript&quot; style=&quot;border: 0px; box-sizing: border-box; font-family: monaco, menlo, monospace; line-height: 1; margin: 0px; padding: 0px;&quot;&gt;$(&lt;span class=&quot;keyword&quot; style=&quot;box-sizing: border-box; color: black; font-weight: 700;&quot;&gt;function&lt;/span&gt;() {
    &lt;span class=&quot;comment&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;//add event tracking just if we have google analytics loaded&lt;/span&gt;
    ga(&lt;span class=&quot;keyword&quot; style=&quot;box-sizing: border-box; color: black; font-weight: 700;&quot;&gt;function&lt;/span&gt;(){
        $(&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;a.track&quot;&lt;/span&gt;).click(&lt;span class=&quot;keyword&quot; style=&quot;box-sizing: border-box; color: black; font-weight: 700;&quot;&gt;function&lt;/span&gt;(e) {
            &lt;span class=&quot;keyword&quot; style=&quot;box-sizing: border-box; color: black; font-weight: 700;&quot;&gt;var&lt;/span&gt; url = $(&lt;span class=&quot;keyword&quot; style=&quot;box-sizing: border-box; color: black; font-weight: 700;&quot;&gt;this&lt;/span&gt;).attr(&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;href&quot;&lt;/span&gt;);
            ga(&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;send&quot;&lt;/span&gt;, &lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;event&quot;&lt;/span&gt;, &lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;outbound&quot;&lt;/span&gt;, &lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;click&quot;&lt;/span&gt;, url, {&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;hitCallback&quot;&lt;/span&gt;:
                &lt;span class=&quot;function&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;span class=&quot;keyword&quot; style=&quot;box-sizing: border-box; color: black; font-weight: 700;&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;params&quot; style=&quot;box-sizing: border-box;&quot;&gt;()&lt;/span&gt; {&lt;/span&gt;
                    document.location = url;
                }
            });

            e.preventDefault();
        });
    });
});&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then just add&amp;nbsp;&lt;span style=&quot;color: #dd1144; font-family: monaco, menlo, monospace; font-size: 12px;&quot;&gt;track &lt;/span&gt;class to your links:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;border-left-color: rgb(127, 145, 158); border-left-style: solid; border-width: 0px 0px 0px 4px; box-sizing: border-box; font-family: monaco, menlo, monospace; font-size: 12px; line-height: 21px; overflow-x: auto; padding: 0px 0px 0px 12px;&quot;&gt;&lt;code class=&quot;javascript&quot; style=&quot;border: 0px; box-sizing: border-box; font-family: monaco, menlo, monospace; line-height: 1; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box;&quot;&gt;&amp;lt;a href=&quot;http://something.com&quot; class=&quot;&lt;/span&gt;&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: red;&quot;&gt;track&lt;/span&gt;&lt;span class=&quot;string&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;&amp;gt; outbound link &amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1144964009414247523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2017/02/google-analytics-event-tracking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1144964009414247523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1144964009414247523'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2017/02/google-analytics-event-tracking.html' title='Google analytics event tracking: outbound links'/><author><name>Unknown</name><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-6459060772244634442.post-1128563502050061958</id><published>2017-02-06T16:30:00.002-08:00</published><updated>2017-02-19T02:13:04.298-08:00</updated><title type='text'>Find certificate expiration date and other info of android keystore file</title><content type='html'>Easy as single command:&lt;br /&gt;
&lt;br /&gt;
&lt;table style=&quot;background-color: white; border-collapse: collapse; border-spacing: 0px; border: 0px; color: #242729; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&lt;tbody style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;
&lt;tr style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;td class=&quot;votecell&quot; style=&quot;border: 0px; margin: 0px; padding: 0px 15px 0px 0px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class=&quot;answercell&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; vertical-align: top;&quot;&gt;&lt;div class=&quot;post-text&quot; itemprop=&quot;text&quot; style=&quot;border: 0px; font-size: 15px; line-height: 1.3; margin: 0px 0px 5px; padding: 0px; width: 660px; word-wrap: break-word;&quot;&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;keytool &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;list &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;v &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;keystore &lt;b&gt;release-key.keystore&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: #101094; margin: 0px; padding: 0px;&quot;&gt;alias&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;b&gt;mydomain&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;- replace &lt;b style=&quot;color: #303336; white-space: inherit;&quot;&gt;release-key.keystore&lt;/b&gt;&lt;span style=&quot;color: #303336; white-space: inherit;&quot;&gt; with your keystore file name&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;- &lt;/span&gt;&lt;/code&gt;&lt;b style=&quot;color: #303336; white-space: inherit;&quot;&gt;mydomain &lt;/b&gt;&lt;span style=&quot;color: #303336; white-space: inherit;&quot;&gt;with the certificate alias&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1128563502050061958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2017/02/find-certificate-expiration-dateand.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1128563502050061958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1128563502050061958'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2017/02/find-certificate-expiration-dateand.html' title='Find certificate expiration date and other info of android keystore file'/><author><name>Unknown</name><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-6459060772244634442.post-5200504815989104444</id><published>2016-11-24T13:01:00.003-08:00</published><updated>2016-11-24T13:02:20.717-08:00</updated><title type='text'>Upgrade / Downgrade PHP on Mac OS X</title><content type='html'>Quick and easy:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://php-osx.liip.ch/&quot;&gt;https://php-osx.liip.ch/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And for more complicated setup ;-):&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions&quot;&gt;https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/5200504815989104444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/11/upgrade-downgrade-php-on-mac-os-x.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/5200504815989104444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/5200504815989104444'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/11/upgrade-downgrade-php-on-mac-os-x.html' title='Upgrade / Downgrade PHP on Mac OS X'/><author><name>Unknown</name><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-6459060772244634442.post-4924502238454179188</id><published>2016-10-21T08:37:00.000-07:00</published><updated>2016-10-21T08:37:05.948-07:00</updated><title type='text'>Firebird auto increment</title><content type='html'>Ouch, it happens that Firebird doesn&#39;t support auto increment fields out of the box.&lt;br /&gt;
Quick look on the web shows the same solution everywhere: triggers &amp;amp; counters.&lt;br /&gt;
But I lost over a hour trying to figure why it didn&#39;t work in my case (Lazarus+embedded Firebird). So, finally, I found the right syntax:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; font-size: 15px; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Create auto-increment field in Firebird:&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; color: #242729; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;CREATE TABLE ctmaster (
 id integer NOT NULL,
 name varchar(128) not NULL PRIMARY KEY,
   shtiftoredove INTEGER not NULL
)
CREATE SEQUENCE ctmaster_id_sequence;

CREATE TRIGGER trgTTEST_BI_V3 for ctmaster
active before insert position 0
as
begin
 if ((new.id is null) or (new.id = 0)) then
 begin
 new.id = gen_id( ctmaster_id_sequence, 1 );
 end
end
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; font-size: 15px; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;(the field that will get the auto-increment value is ID)&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4924502238454179188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/10/firebird-auto-increment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4924502238454179188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4924502238454179188'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/10/firebird-auto-increment.html' title='Firebird auto increment'/><author><name>Unknown</name><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-6459060772244634442.post-4084902996433412440</id><published>2016-10-17T16:04:00.003-07:00</published><updated>2016-10-17T16:04:50.124-07:00</updated><title type='text'>git - discard your master branch and replace with other</title><content type='html'>If you get into situation (like me) to find your master branch totally messed, but with some other branch that fixed the mess, and there is no way on earth to merge them without losing your mind, here is the solution: make the other branch to be the master without merging and just discard the old master...&lt;br /&gt;
&lt;br /&gt;
Funny, but -- thanks lords -- stack overflow will help:&lt;br /&gt;
&lt;a href=&quot;http://stackoverflow.com/questions/2763006/change-the-current-branch-to-master-in-git&quot;&gt;http://stackoverflow.com/questions/2763006/change-the-current-branch-to-master-in-git&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
quote from the page above:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;I have a repository in git. I made a branch, then did some changes both to the master and to the branch.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Then, tens of commits later, I realized the branch is in much better state than the master, so I want the branch to &quot;become&quot; the master and disregard the changes on master.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;I cannot merge it, because I don&#39;t want to keep the changes on master. What should I do?&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; margin-bottom: 1em; padding: 0px;&quot;&gt;
and the answer:&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; font-size: 15px; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;The problem with the other two answers is that the new master doesn&#39;t have the old master as an ancestor, so when you push it, everyone else will get messed up. This is what you want to do:&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;git checkout better_branch
git merge --strategy=ours master    # keep the content of this branch, but record a merge
git checkout master
git merge better_branch             # fast-forward master up to the merge
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; color: #242729; font-size: 15px; margin-bottom: 1em; padding: 0px;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;If you want your history to be a little clearer, I&#39;d recommend adding some information to the merge commit message to make it clear what you&#39;ve done. Change the second line to:&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;git merge --strategy=ours --no-commit master
git commit          # add information to the template merge message&lt;/code&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4084902996433412440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/10/git-discard-your-master-branch-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4084902996433412440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4084902996433412440'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/10/git-discard-your-master-branch-and.html' title='git - discard your master branch and replace with other'/><author><name>Unknown</name><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-6459060772244634442.post-8660857145217000619</id><published>2016-10-15T01:13:00.002-07:00</published><updated>2016-10-15T01:13:31.060-07:00</updated><title type='text'>Lazarus / Delphi ToolButton drop-down menu on button click</title><content type='html'>Yeah... I am now (again, after few years) working on Delphi, but this time -- using Lazarus; Still, on the day one, I found one crazy problem I spent over 15 minutes to solve.&lt;br /&gt;
&lt;br /&gt;
The problem: Delphi (and Lazarus) &lt;i&gt;TToolButton&lt;/i&gt; has a &lt;i&gt;style&lt;/i&gt; property you can set to &lt;i&gt;tbsDropDown&lt;/i&gt;. In such case you get a button with small nice little triangle in the right part and when you click the triangle you get the attached &lt;i&gt;PopUpMenu&lt;/i&gt;. &lt;b&gt;But &lt;/b&gt;I want the button itself (no matter where you clicked) to open the popup menu while by default it is set to invoke some default action on click.&lt;br /&gt;
&lt;br /&gt;
My first idea was to create &lt;i&gt;onClick&lt;/i&gt; handler where to force the popup menu to show with specified x,y position. But that&#39;s clumsy and little tricky. And it turned out there is way easier method:&lt;br /&gt;
&lt;br /&gt;
Just add &lt;i&gt;onClick &lt;/i&gt;event handler&amp;nbsp;to the &lt;i&gt;ToolButton&lt;/i&gt;&amp;nbsp;and use&amp;nbsp;&lt;span style=&quot;background-color: white; color: #242729; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; color: #005999; cursor: pointer; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 1px 5px; text-decoration: none; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;http://docwiki.embarcadero.com/VCL/XE2/en/ComCtrls.TToolButton.CheckMenuDropdown&quot; rel=&quot;nofollow&quot; style=&quot;background-color: white; border: 0px; color: #005999; cursor: pointer; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; margin: 0px; padding: 0px; text-decoration: none;&quot;&gt;CheckMenuDropdown&lt;/a&gt;:&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;pre style=&quot;background-color: white; color: #333333; font-family: Consolas, Menlo, &amp;quot;Liberation Mono&amp;quot;, Courier, monospace; font-size: 12px; line-height: 1.4; padding: 0px;&quot;&gt;&lt;span class=&quot;k&quot; style=&quot;font-weight: 700;&quot;&gt;procedure&lt;/span&gt; &lt;span class=&quot;nc&quot; style=&quot;color: #445588; font-weight: 700;&quot;&gt;TForm1&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot; style=&quot;color: #990000; font-weight: 700;&quot;&gt;tbTableClick&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Sender&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;font-weight: 700;&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kt&quot; style=&quot;color: #445588; font-weight: 700;&quot;&gt;TObject&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;font-weight: 700;&quot;&gt;;&lt;/span&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;mainform.pas-73&quot; style=&quot;color: #3572b0;&quot;&gt;&lt;/a&gt;&lt;span class=&quot;k&quot; style=&quot;font-weight: 700;&quot;&gt;begin&lt;/span&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;mainform.pas-74&quot; style=&quot;color: #3572b0;&quot;&gt;&lt;/a&gt;&lt;span class=&quot;n&quot;&gt;tbTable&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;font-weight: 700;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CheckMenuDropdown&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;font-weight: 700;&quot;&gt;;&lt;/span&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;mainform.pas-75&quot; style=&quot;color: #3572b0;&quot;&gt;&lt;/a&gt;&lt;span class=&quot;k&quot; style=&quot;font-weight: 700;&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;font-weight: 700;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;
-------&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;(tbTableClick&lt;/i&gt; is the event handler for &lt;i&gt;tbTable&lt;/i&gt; button onClick event; the toolbutton itself is &lt;i&gt;tbTable)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
BTW -- I &lt;b&gt;do&lt;/b&gt;&amp;nbsp;like how much Lazarus looks and feels like the real old Delphi (without the crazy price tag that made me to quit using Delphi on first place)...&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/8660857145217000619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/10/lazarus-delphi-toolbutton-drop-down.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/8660857145217000619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/8660857145217000619'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2016/10/lazarus-delphi-toolbutton-drop-down.html' title='Lazarus / Delphi ToolButton drop-down menu on button click'/><author><name>Unknown</name><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-6459060772244634442.post-4120943042960011853</id><published>2014-10-12T13:06:00.004-07:00</published><updated>2014-10-12T13:08:07.242-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>Natural Sort in JavaScript </title><content type='html'>Here is something I am saving here for future reference: a funny and working way to do natural sorting in JavaScript. See the original thread here:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/15478954/sort-array-elements-string-with-numbers-natural-sort&quot;&gt;http://stackoverflow.com/questions/15478954/sort-array-elements-string-with-numbers-natural-sort&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
[v.1]: will sort items starting with numbers first, letters second&lt;br /&gt;
[ 1,1a,1b ... 5a,5b, a1,a2...]&lt;br /&gt;
//----------------------------------------------&lt;br /&gt;
&lt;code&gt;
function strcmp(a, b) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return a &amp;gt; b ? 1 : a &amp;lt; b ? -1 : 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function natcmp(a, b) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var x = [], y = [];&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; a.replace(/(\d+)|(\D+)/g, function($0, $1, $2) { x.push([typeof($1) == &#39;undefined&#39; ? Infinity : $1, $2]) })&lt;br /&gt;
&amp;nbsp; &amp;nbsp; b.replace(/(\d+)|(\D+)/g, function($0, $1, $2) { y.push([typeof($1) == &#39;undefined&#39; ? Infinity : $1, $2]) })&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while(x.length &amp;amp;&amp;amp; y.length) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var xx = x.shift();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var yy = y.shift();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var nn = (xx[0] - yy[0]) || strcmp(xx[1], yy[1]);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(nn) return nn;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if(x.length) return -1;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if(y.length) return +1;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ary = [&quot;5б&quot;, &quot;555а&quot;, &quot;12б&quot;, &quot;12в&quot;, &quot;8г&quot;];&lt;br /&gt;
&lt;br /&gt;
ary.sort(natcmp)&lt;br /&gt;
&lt;br /&gt;
console.log(ary);&lt;br /&gt;
&lt;/code&gt;
//----------------------------------------------&lt;br /&gt;
[v.2]: will sort items starting with letters first, numbers second&lt;br /&gt;
[ a1,a2 ... 1,1a,12 ]&lt;br /&gt;
//----------------------------------------------&lt;br /&gt;
&lt;code&gt;
&lt;/code&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;code&gt;function strcmp(a, b) {&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; return a &amp;gt; b ? 1 : a &amp;lt; b ? -1 : 0;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;function natcmp(a, b) {&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; var x = [], y = [];&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; // а, а1, а2, ... 1, 1а, 1б:&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; a.replace(/(\d+)|(\D+)/g, function($0, $1, $2) { x.push([$1 || 0, $2]) })&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; b.replace(/(\d+)|(\D+)/g, function($0, $1, $2) { y.push([$1 || 0, $2]) })&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; while(x.length &amp;amp;&amp;amp; y.length) {&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var xx = x.shift();&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var yy = y.shift();&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var nn = (xx[0] - yy[0]) || strcmp(xx[1], yy[1]);&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(nn) return nn;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; if(x.length) return -1;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; if(y.length) return +1;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; return 0;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;var ary = [&quot;5б&quot;, &quot;555а&quot;, &quot;12б&quot;, &quot;12в&quot;, &quot;8г&quot;];&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;ary.sort(natcmp)&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code&gt;console.log(ary);&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;code&gt;
&lt;/code&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;code&gt;
&lt;/code&gt;
//----------------------------------------------
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4120943042960011853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2014/10/natural-sort-in-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4120943042960011853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4120943042960011853'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2014/10/natural-sort-in-javascript.html' title='Natural Sort in JavaScript '/><author><name>Unknown</name><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-6459060772244634442.post-1079169765215463895</id><published>2013-02-28T02:02:00.001-08:00</published><updated>2013-02-28T03:13:19.904-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IE10"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenCart"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Opencart 1.5.5.1 -- fixing menu bug in IE10</title><content type='html'>Yep, it did it again: Internet Explorer 10 gets things wrong with the default OpenCart menu.&lt;br /&gt;
&lt;br /&gt;
It should be:&lt;br /&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/AVvXsEhM5oyk7N4CH6q8itiTUuHXd548hVawSH7V8ANPqMJiysOBmVtZtaH-IDAkZL5Wkvnemwox4HEkmZbPcKaSfp9WUuD3fnTJh2GoXsaTUeJkWTUxvEzFDXhWlinfCQDBLU2GIauFKdncNfpz/s1600/opencart_ie10_should.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/AVvXsEhM5oyk7N4CH6q8itiTUuHXd548hVawSH7V8ANPqMJiysOBmVtZtaH-IDAkZL5Wkvnemwox4HEkmZbPcKaSfp9WUuD3fnTJh2GoXsaTUeJkWTUxvEzFDXhWlinfCQDBLU2GIauFKdncNfpz/s1600/opencart_ie10_should.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
But in my brand new Internet Explorer 10 (Windows 8 / 64) it looks like this:&lt;br /&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/AVvXsEg-BhxJrLACCSBmGNmtc_6Krh1MBWKyBHt_ssovUFPcihlJexEH7uVnOUXeKbZTx1TsbYEs7Zat0whqnpZHRqqSWGMa5YAlrkYYVI1pcySN9Vcdgb02HIa3pvPSuM6yS2P35-K6r4vyvBSJ/s1600/opencart_ie10_bug.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/AVvXsEg-BhxJrLACCSBmGNmtc_6Krh1MBWKyBHt_ssovUFPcihlJexEH7uVnOUXeKbZTx1TsbYEs7Zat0whqnpZHRqqSWGMa5YAlrkYYVI1pcySN9Vcdgb02HIa3pvPSuM6yS2P35-K6r4vyvBSJ/s1600/opencart_ie10_bug.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The folks from opencart team are saying they&#39;ll fix it in the next release, but for those who need the hack right now -- here it is:&lt;br /&gt;
&lt;br /&gt;
1) Open the &lt;b&gt;common.js&lt;/b&gt; file in&lt;b&gt; catalog\view\javascript &lt;/b&gt;folder&lt;br /&gt;
&lt;br /&gt;
2) Locate this piece of code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;dd&gt;&lt;code&gt;// IE6 &amp;amp; IE7 Fixes&lt;br /&gt;if ($.browser.msie) {&lt;br /&gt;&amp;nbsp; &amp;nbsp;if ($.browser.version &amp;lt;= 6) {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(&#39;#column-left + #column-right + #content, #column-left + #content&#39;).css(&#39;margin-left&#39;, &#39;195px&#39;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(&#39;#column-right + #content&#39;).css(&#39;margin-right&#39;, &#39;195px&#39;);&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(&#39;.box-category ul li a.active + ul&#39;).css(&#39;display&#39;, &#39;block&#39;);&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;if ($.browser.version &amp;lt;= 7) {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(&#39;#menu &amp;gt; ul &amp;gt; li&#39;).bind(&#39;mouseover&#39;, function() {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(this).addClass(&#39;active&#39;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;});&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(&#39;#menu &amp;gt; ul &amp;gt; li&#39;).bind(&#39;mouseout&#39;, function() {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;$(this).removeClass(&#39;active&#39;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;});&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;/code&gt;&lt;/dd&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;&lt;/code&gt;
3) Replace the above snippet with this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;dd&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;// IE Fixes&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;if ($.browser.msie) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;if ($.browser.version &amp;lt;= 6) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $(&#39;#column-left + #column-right + #content, #column-left + #content&#39;).css(&#39;margin-left&#39;, &#39;195px&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $(&#39;#column-right + #content&#39;).css(&#39;margin-right&#39;, &#39;195px&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $(&#39;.box-category ul li a.active + ul&#39;).css(&#39;display&#39;, &#39;block&#39;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;if ( ($.browser.version &amp;lt;= 7) || ($.browser.version == 10) ) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $(&#39;#menu &amp;gt; ul &amp;gt; li&#39;).bind(&#39;mouseover&#39;, function() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$(this).addClass(&#39;active&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $(&#39;#menu &amp;gt; ul &amp;gt; li&#39;).bind(&#39;mouseout&#39;, function() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$(this).removeClass(&#39;active&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/dd&gt;4) Save and upload to your server.&lt;br /&gt;
&lt;br /&gt;
5) Reload&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://wonderwebware.com/blog/2013/02/28/how-to-fix-opencart-1-5-menu-bug-in-internet-explorer-10/&quot;&gt;http://wonderwebware.com/blog/2013/02/28/how-to-fix-opencart-1-5-menu-bug-in-internet-explorer-10/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1079169765215463895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2013/02/opencart-1551-fixing-menu-bug-in-ie10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1079169765215463895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1079169765215463895'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2013/02/opencart-1551-fixing-menu-bug-in-ie10.html' title='Opencart 1.5.5.1 -- fixing menu bug in IE10'/><author><name>Unknown</name><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/AVvXsEhM5oyk7N4CH6q8itiTUuHXd548hVawSH7V8ANPqMJiysOBmVtZtaH-IDAkZL5Wkvnemwox4HEkmZbPcKaSfp9WUuD3fnTJh2GoXsaTUeJkWTUxvEzFDXhWlinfCQDBLU2GIauFKdncNfpz/s72-c/opencart_ie10_should.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6459060772244634442.post-5823459663545079868</id><published>2013-02-08T05:05:00.002-08:00</published><updated>2013-02-08T05:05:33.821-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome web store"/><category scheme="http://www.blogger.com/atom/ns#" term="html5"/><title type='text'>chrome web store snapshot: 2012</title><content type='html'>This is just a collection of links with quotes (as they are at the time of writing).&lt;br /&gt;
&lt;br /&gt;
What I saw on the chrome web store battleground the last year? Pretty much what follows:&lt;br /&gt;
&lt;br /&gt;
1) Wikipedia still says: &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/TechCrunch&quot; style=&quot;background-color: white; background-image: none; color: #0b0080; font-family: sans-serif; font-size: 14px; line-height: 21px; text-decoration: initial;&quot; title=&quot;TechCrunch&quot; wotsearchprocessed=&quot;true&quot;&gt;TechCrunch&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;&amp;nbsp;reported that sales of paid web apps had by January 2011 sunk, with the best-selling app earning just $165 a week.&quot; (&lt;/span&gt;&lt;a class=&quot;external text&quot; href=&quot;http://techcrunch.com/2011/01/04/sales-have-slowed-to-a-trickle-on-googles-chrome-web-store/&quot; rel=&quot;nofollow&quot; style=&quot;background-color: white; background-image: url(data:image/png; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #663366; font-family: sans-serif; font-size: 14px; line-height: 21px; padding-right: 13px; text-decoration: initial;&quot; wotsearchprocessed=&quot;true&quot;&gt;&quot;Sales Are At A Trickle On Google’s Chrome Web Store&quot;&lt;/a&gt;) nobody changed or improved this statement in 2012 ;-)&lt;br /&gt;
&lt;br /&gt;
2) Medianama reported the stats (and that&#39;s what matters most for me right now):&lt;br /&gt;
&lt;b&gt;-&lt;/b&gt;&amp;nbsp;&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;Google Chrome now has&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;310 million active users&lt;/strong&gt;&lt;br /&gt;
&lt;strong style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;-&amp;nbsp;&lt;/strong&gt;&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;users have installed&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;750 million apps from the Chrome web store&lt;/strong&gt;&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;&amp;nbsp;till now.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;Compare this with the statement that &quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;Gmail currently has&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;425 million active users&lt;/span&gt;&lt;strong style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;&quot;&lt;/strong&gt;&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;&amp;nbsp;and you can get to believe in the numbers.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Trebuchet MS&#39;, Verdana, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;Source:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Trebuchet MS, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 20px;&quot;&gt;&lt;a href=&quot;http://www.medianama.com/2012/06/223-the-lowdown-google-io-2012-day-2-310m-chrome-users-425m-gmail-more/&quot;&gt;http://www.medianama.com/2012/06/223-the-lowdown-google-io-2012-day-2-310m-chrome-users-425m-gmail-more/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Trebuchet MS, Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Trebuchet MS, Verdana, sans-serif;&quot;&gt;3) &lt;a href=&quot;http://www.chromeosapps.org/&quot;&gt;chromeosapps.org&lt;/a&gt; is still the nice all-in-one resource it&#39;s supposed to be&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Trebuchet MS, Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Trebuchet MS, Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;--- bonus, no important stuff below ---&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;And just for those who want more -- quick history and hints about the chrome web store from the past (how loooong ago it was, 2-3 years ago...):&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Trebuchet MS, Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;h1 class=&quot;headline&quot; style=&quot;background-color: white; letter-spacing: -2px; margin: 0px; padding: 0px;&quot;&gt;
&lt;a href=&quot;http://techcrunch.com/2011/09/09/chrome-web-store-passes-30-million-users-but-how-bright-is-the-future/&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small; font-weight: normal;&quot;&gt;&lt;i&gt;Chrome Web Store Passes 30 Million Users, But How Bright Is The&amp;nbsp;Future?&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;a href=&quot;http://techcrunch.com/2011/01/04/sales-have-slowed-to-a-trickle-on-googles-chrome-web-store/&quot; style=&quot;letter-spacing: -2px;&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;i&gt;Sales Are At A Trickle On Google&#39;s Chrome Web&amp;nbsp;Store&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.allenpike.com/2010/the-chrome-web-store-get-paid-to-make-things/&quot; rel=&quot;bookmark&quot; style=&quot;color: #002440; line-height: 24px;&quot; title=&quot;Permanent link to The Chrome Web Store: get paid to make things&quot;&gt;&lt;span style=&quot;font-family: inherit; font-size: small;&quot;&gt;&lt;i&gt;The Chrome Web Store: get paid to make things&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.quora.com/Is-anyone-making-money-on-the-Chrome-Web-Store&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;http://www.quora.com/Is-anyone-making-money-on-the-Chrome-Web-Store&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.lucidchart.com/blog/2012/10/31/500000-chrome-web-store-installs-what-weve-learned/&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;http://www.lucidchart.com/blog/2012/10/31/500000-chrome-web-store-installs-what-weve-learned/&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/5823459663545079868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2013/02/chrome-web-store-snapshot-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/5823459663545079868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/5823459663545079868'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2013/02/chrome-web-store-snapshot-2012.html' title='chrome web store snapshot: 2012'/><author><name>Unknown</name><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-6459060772244634442.post-7592521772650683347</id><published>2012-11-13T14:58:00.003-08:00</published><updated>2012-11-13T14:58:58.674-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><title type='text'>Qt 4.8.3 / QtCreator 2.6 -- missing rcc.exe fix</title><content type='html'>I found strange problem today (installed the latest QtCreator and Qt 4.8.3 libs) -- for some weird reason rcc compiler wasn&#39;t starting in the build process. It turned out to be messed path or something like that. The fix:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
1) open the qmake.conf of your platform (for me its C:\Qt\4.8.3\mkspecs\win32-g++)&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
2) search for QMAKE_IDC&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
3) add the following line after the QMAKE_IDC line:&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
QMAKE_RCC  = $$&lt;span class=&quot;error&quot;&gt;[QT_INSTALL_BINS]&lt;/span&gt;$${DIR_SEPARATOR}rcc.exe&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
4) save file and clsoe&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
5) restart all your dev tools and remove all auto generated Makefiles&lt;/div&gt;
&lt;div style=&quot;background-color: #f0f0f0; font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; line-height: 17px; margin-top: 16px; padding: 0px;&quot;&gt;
6) recompile&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
This and other workarounds available here: &lt;a href=&quot;https://bugreports.qt-project.org/browse/QTBUG-27237&quot;&gt;https://bugreports.qt-project.org/browse/QTBUG-27237&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/7592521772650683347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/11/qt-483-qtcreator-26-missing-rccexe-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/7592521772650683347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/7592521772650683347'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/11/qt-483-qtcreator-26-missing-rccexe-fix.html' title='Qt 4.8.3 / QtCreator 2.6 -- missing rcc.exe fix'/><author><name>Unknown</name><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-6459060772244634442.post-4196192635504089046</id><published>2012-11-13T11:14:00.002-08:00</published><updated>2012-11-13T11:14:43.496-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><title type='text'>How to fix Qt app GUI in Windows 8</title><content type='html'>I found that my app looks ugly on the new windows 8; Since digia is not yet ready with the Win&#39;8 support, here is what you can do to fix the ugly controls:&lt;br /&gt;
&lt;br /&gt;
for example, in the main.cpp file, add this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;color: purple;&quot;&gt;QApplication&lt;/span&gt;&lt;span style=&quot;color: silver;&quot;&gt; &lt;/span&gt;app(argc,&lt;span style=&quot;color: silver;&quot;&gt; &lt;/span&gt;argv);&lt;/pre&gt;
&lt;pre&gt;...&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;color: navy;&quot;&gt;#ifdef&lt;/span&gt;&lt;span style=&quot;color: silver;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: purple;&quot;&gt;Q_WS_WIN&lt;/span&gt;&lt;span style=&quot;color: silver;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;//if Windows -- force using XP style GUI&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;color: silver;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: purple;&quot;&gt;QApplication&lt;/span&gt;::setStyle(&lt;span style=&quot;color: olive;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: silver;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: purple;&quot;&gt;QWindowsXPStyle&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;color: navy;&quot;&gt;#endif&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;...&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;pre&gt;Hope that helps.&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4196192635504089046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/11/how-to-fix-qt-app-gui-in-windows-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4196192635504089046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4196192635504089046'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/11/how-to-fix-qt-app-gui-in-windows-8.html' title='How to fix Qt app GUI in Windows 8'/><author><name>Unknown</name><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-6459060772244634442.post-4559689057009483344</id><published>2012-09-28T00:43:00.003-07:00</published><updated>2012-09-28T00:47:46.991-07:00</updated><title type='text'>All the app stores in one place</title><content type='html'>This is nice list with app stores (and being a developer you may wish to check it):&lt;br /&gt;
&lt;a href=&quot;http://blog.inner-active.com/2011/04/a-complete-list-of-app-stores-across-all-mobile-platforms/&quot;&gt;http://blog.inner-active.com/2011/04/a-complete-list-of-app-stores-across-all-mobile-platforms/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://blog.inner-active.com/2011/04/a-complete-list-of-app-stores-across-all-mobile-platforms/&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbzpMxELMK0PFi-SBTcuZoKwAxoaTuD9VtRBY5FnRGeRfiwQ8gaBQgdKQ7uHUqQXf4FHJCVSmkGMw0pVd48t011FVmxLWjvFYEjdbNMGC_-6Vvc435sKjCajAWsvpOIOeE6yq4bss1Sj72/s400/2012-09-28_1042.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4559689057009483344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/09/all-app-stores-in-one-place.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4559689057009483344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4559689057009483344'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/09/all-app-stores-in-one-place.html' title='All the app stores in one place'/><author><name>Unknown</name><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/AVvXsEgbzpMxELMK0PFi-SBTcuZoKwAxoaTuD9VtRBY5FnRGeRfiwQ8gaBQgdKQ7uHUqQXf4FHJCVSmkGMw0pVd48t011FVmxLWjvFYEjdbNMGC_-6Vvc435sKjCajAWsvpOIOeE6yq4bss1Sj72/s72-c/2012-09-28_1042.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6459060772244634442.post-8232527169867467409</id><published>2012-07-11T00:07:00.000-07:00</published><updated>2012-07-11T00:09:09.367-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="WordPress"/><title type='text'>Fixing Awesome Ads wordpress plugin...</title><content type='html'>I use Awesome Ads plugin on some of my wordpress sites (and some of my client&#39;s sites) and I found the plugin author tends to change DNS settings from time to time (moving sites?) or just there are some server downtimes on his end. And that results in failed /wp-admin access. When trying to login in the WordPress backend, you just get a long wait and crash messages (php can&#39;t connect to plugin&#39;s site and with this failed call-back-home funtctionality it crashes the whole wordpress admin panel).&lt;br /&gt;
&lt;br /&gt;
Luckily, for any php developer it is an easy fix. Still, if you don&#39;t know what to do, here it is:&lt;br /&gt;
&lt;br /&gt;
1) Find and open this file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;/wp-content/plugins/awesome-ads/libs/functions.php&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
2) Go to line 146 and add the two lines in bold below right after that line, it should look like this:&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;function verify_adult_content() {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;b&gt;ini_set(&quot;allow_url_fopen&quot;, 1);&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return false;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
3) Upload the changed file to the server&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/8232527169867467409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/07/fixing-awesome-ads-wordpress-plugin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/8232527169867467409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/8232527169867467409'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/07/fixing-awesome-ads-wordpress-plugin.html' title='Fixing Awesome Ads wordpress plugin...'/><author><name>Unknown</name><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-6459060772244634442.post-2954645385027514356</id><published>2012-05-08T14:26:00.001-07:00</published><updated>2012-05-08T14:29:31.980-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="webmastering"/><title type='text'>CloudFlare vs. Google Analytics vs. AWStats/Webalizer/Analog Stats</title><content type='html'>&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;I found some questions flying around today about how CloudFlare counts pageviews (some people seems to think the cloudflare stats aren&#39;t real compared to GA for example... So I decided to check with real site what all these different stats will say. Pretty much as I expected, everything looks right for me, but here are the numbers&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;(for the last 7 days):&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;






&lt;b&gt;&lt;span style=&quot;background-color: yellow; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;CloudFlare:&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;span style=&quot;background-color: #f7f7f7; color: #404040; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-weight: bold; line-height: 14px; text-align: right; white-space: nowrap;&quot;&gt;35,546 pageviews&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f7; color: #4c9900; font-weight: bold; line-height: 14px; text-align: right; white-space: nowrap;&quot;&gt;26,090&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f7f7f7; color: #4c9900; line-height: 14px; text-align: left; white-space: nowrap;&quot;&gt;from regular traffic&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f7; color: #b500d9; font-weight: bold; line-height: 14px; text-align: right; white-space: nowrap;&quot;&gt;2,560&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f7f7f7; color: #b500d9; line-height: 14px; text-align: left; white-space: nowrap;&quot;&gt;from crawlers/bots&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: #f7f7f7; color: #cc1414; font-weight: bold; line-height: 14px; text-align: right; white-space: nowrap;&quot;&gt;6,896&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f7f7f7; color: #cc1414; line-height: 14px; text-align: left; white-space: nowrap;&quot;&gt;from threats&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;






&lt;span style=&quot;background-color: yellow; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;line-height: 14px; white-space: nowrap;&quot;&gt;&lt;b&gt;AWStats&lt;/b&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #38761d; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Viewed traffic --&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;background-color: white; text-align: center;&quot;&gt;23,785&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #990000;&quot;&gt;Not viewed traffic* --&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;background-color: white; color: #990000; text-align: center;&quot;&gt;20,973&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;






&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;background-color: yellow; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; line-height: 14px; white-space: nowrap;&quot;&gt;Webalizer:&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;Total Pages --&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;text-align: -webkit-right;&quot;&gt;20505&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;






&lt;span style=&quot;background-color: yellow; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;line-height: 14px; white-space: nowrap;&quot;&gt;&lt;b&gt;Analog&lt;/b&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: -webkit-auto;&quot;&gt;






&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;pages:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; text-align: right;&quot;&gt;18841&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;






&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;background-color: yellow; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; text-align: right;&quot;&gt;&lt;b&gt;Google Analytics:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;vz&quot; style=&quot;background-color: white; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;Pageviews:&lt;/span&gt;&lt;span style=&quot;background-color: white; text-align: left;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;O8&quot; style=&quot;background-color: white; text-align: left;&quot;&gt;6,637&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; text-align: left;&quot;&gt;So, go get it! AWStats reports over 44,000 pages, CloudFlare -- over 35,000, Webalizer -- 20,000, Analog -- 18,000 and Google Analytics just below 7,000. Still, when it comes to regular (viewed, non-bot traffic) -- things are comming closer. CloudFlare and AWStats are saying pretty much the same (23/26K sounds OK, given the fact they are saving/processing logs in different times and ways), and if we assume Webalizer and Analog are showing only the &quot;viewed&quot; pages -- it will looks like all these are showing the &quot;actual&quot; server stats. And then it is all fine with Google Analytics, cause it&#39;s quite real to get 3 times difference in this site when measuring with JavaScript instead of server logs.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;O8&quot; style=&quot;background-color: white; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;O8&quot; style=&quot;background-color: white; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;I can confirm that CloudFlare stats are real when it comes to page views.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;O8&quot; style=&quot;background-color: white; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/2954645385027514356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/05/cloudflare-vs-google-analytics-vs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/2954645385027514356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/2954645385027514356'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/05/cloudflare-vs-google-analytics-vs.html' title='CloudFlare vs. Google Analytics vs. AWStats/Webalizer/Analog Stats'/><author><name>Unknown</name><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-6459060772244634442.post-1675280893412694398</id><published>2012-04-17T01:05:00.002-07:00</published><updated>2012-04-22T03:52:15.105-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apps"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome web store"/><title type='text'>Chrome Web Store App Developers: don&#39;t do that!</title><content type='html'>I&#39;ve made one very interesting observation and I wish to make it public for anyone who may accidentally find this blog post. It is something hidden in the way Chrome Web Store works, but you may get a nasty surprise if this happens. Here is the story:&lt;br /&gt;
&lt;br /&gt;
A week ago I made an update in my experimental title in Chrome Store (it is a Calculator app, mentioned several times before in this blog). The experiment was initially meant to test jQueryMobile in the real life, but somehow it turned to be a useful chrome app and made thousands of users in the chrome web store. So, I wanted to give my support to this tool and from time to time I am updating the app to add user-requested features. This time it was relatively serious update -- with copy/paste support, among other things -- and I was happy that I had the time to make it. What I didn&#39;t expect was how this will reflect to the app popularity at all.&lt;br /&gt;
&lt;br /&gt;
Before the update there were above 31,000 users of this app, as reported by Chrome Web Store. Suddenly, a week later, the store says the same app have 20,000 users. Crazy, isn&#39;t it? Is it realistic for an app to lose 1/3 of it&#39;s users in just a week? Well, there are 2 main hypothesis here: that something is/was wrong with the chrome stats (unlikely) and that something in that update forced current users to remove the app. I tend to believe the second one is the right one. Read above -- I added copy/paste functionality to the app. It was nice addition and some users wanted it. But in Chrome world that means &lt;b&gt;permissions&lt;/b&gt;. So, on the very next &quot;silent&quot; update (you know -- chrome updates all apps &quot;silently&quot; behind the scene) a nasty pop-up message showed, informing the users that this new version needs more permissions. A single message, that -- I believe -- destroyed 30% of the current user base.&lt;br /&gt;
&lt;br /&gt;
What&#39;s the moral?&lt;br /&gt;
&lt;br /&gt;
1) &lt;b&gt;Never change the permissions required by a chrome app or extension. &lt;/b&gt;That will force the browser to ask for user acceptance once again, but not during the initial app installation. Months later the end user may not even remember what is that app and will just forbid the change, thus meaning will actually deinstall the app. &lt;b&gt;Set the app/extension permissions from the beginning and don&#39;t touch them in any future update, even if users are requesting new feature that rely on these changed permissions.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
2) If you need to do that, be prepared to lose a lot of current users. In my case that single change cost me 30% drop.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Update 1 [18 april]: I wrote this post this morning. Since then things have changed again. Now, exactly 21:21 my time the chrome web store dashboard says the app have 16,329 users. This is weird. Two days ago they were almost 32,000. Then, last night they dropped to just above 20,000. Now, less than 8 hours later, they are 16,000. I believe it is quite possible in the next days the app to completely disappear from the world ;-)&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;The strange thing is, however, that my Analytics stats (you know -- these google analytics we all use) are not showing any such drop in the usage and installs. I have analytics tracking added to this app, and it shows almost the same daily uses as always... Well, will give that phenomena some time and will report with more later.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Update 2 [19 april]: Another day -- another drop. This morning chrome web store shows 14,656 users which means another (almost) 2 thousand users were lost in the upgrade.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Update 3 [20 april]: It became a habit to update this post (and I will until the drop turns into growth again). Today chrome web store reports weekly users = 14,041, which means only 600 users have been lost for the last 24 hours. Seems like the big wave passed already? We&#39;ll see...&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Update 4 [22 april]: 13,417 left, and that makes me think I will end with less than 1/3 of the initial number ;-) Oh, yes, I also wrote about this in my &quot;official&quot; blog:&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;h2 style=&quot;background-color: #efefef; color: #333333; font-family: &#39;Sansation Light&#39;, &#39;Trebuchet MS&#39;, Verdana, Geneva, sans-serif; font-size: 1.6em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 12px; text-align: justify;&quot;&gt;

&lt;a href=&quot;http://wonderwebware.com/blog/2012/04/22/chrome-web-store-how-to-destroy-your-apps-user-base-with-just-one-update/&quot; rel=&quot;bookmark&quot; style=&quot;color: #333333; text-decoration: none;&quot; title=&quot;Permanent Link to Chrome Web Store: How to Destroy your App’s User Base with Just One Update&quot;&gt;Chrome Web Store for Developers: How to Destroy your App’s User Base with Just One Update&lt;/a&gt;&lt;/h2&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1675280893412694398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/chrome-web-store-app-developers-dont-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1675280893412694398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1675280893412694398'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/chrome-web-store-app-developers-dont-do.html' title='Chrome Web Store App Developers: don&#39;t do that!'/><author><name>Unknown</name><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-6459060772244634442.post-4070824992966670726</id><published>2012-04-11T15:03:00.000-07:00</published><updated>2012-04-17T01:05:52.029-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>JavaScript doesn&#39;t react well on double-pluses</title><content type='html'>What&#39;s wrong with this code?:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
copy1 = &quot;&quot;+( &amp;nbsp;(&#39;0&#39; + d.getFullYear()).slice(-2) + &#39;-&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + (&#39;0&#39; + d.getMonth()).slice(-2) + &#39;&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + (&#39;0&#39; + d.getDate()).slice(-2) + &#39;*&#39; + &#39;&#39;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + (&#39;0&#39; + hours).slice(-2) + &#39;:&#39; +&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + (&#39;0&#39; + mn).slice(-2) + &#39;&#39; );&lt;/blockquote&gt;
Well, after almost 20 minutes of thinking (as an excuse -- remember that this was just a piece of code inside several hundred lines) I found what was wrong and how to fix it:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;+ (&#39;0&#39; + hours).slice(-2) + &#39;:&#39; + &#39;&#39;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;nbsp;+ (&#39;0&#39; + mn).slice(-2) + &#39;&#39; );&lt;/blockquote&gt;
&lt;div&gt;
A simple garbage not collected (the second plus) and puff -- the slicing wasn&#39;t working and time got wasted. See what happens when you put the wrong code in one line:&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
[...] + (&#39;0&#39; + hours).slice(-2) + &#39;:&#39;&lt;b&gt; +&amp;nbsp;&amp;nbsp;+&lt;/b&gt; (&#39;0&#39; + mn).slice(-2) + &#39;&#39; );&lt;/blockquote&gt;
&lt;div&gt;
Did you see it coming? I didn&#39;t even know JavaScript can handle such case, but in any case, it doesn&#39;t handle it as one would expect. Firebug didn&#39;t warn with these nice red errors in the console. And the programmer was lazy (by cutting some piece of code w/o checking what follows)...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So, please, delete the unneeded + symbols when you cut something from a list ;-)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
It&#39;s JavaScript, not c plus plus, so doubled pluses aren&#39;t welcome ;-) &amp;nbsp;/not that they are in cpp/&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4070824992966670726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/javascript-doesnt-react-well-on-double.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4070824992966670726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4070824992966670726'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/javascript-doesnt-react-well-on-double.html' title='JavaScript doesn&#39;t react well on double-pluses'/><author><name>Unknown</name><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-6459060772244634442.post-3696132303549139687</id><published>2012-04-05T16:00:00.002-07:00</published><updated>2012-04-05T16:00:51.960-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>JavaScript num padding (external link)</title><content type='html'>Here it is:&lt;br /&gt;
http://www.electrictoolbox.com/pad-number-zeroes-javascript-improved/&lt;br /&gt;
&lt;br /&gt;
A nice example of why there are different ways to do the same thing ;)</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/3696132303549139687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/javascript-num-padding-external-link.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/3696132303549139687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/3696132303549139687'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/javascript-num-padding-external-link.html' title='JavaScript num padding (external link)'/><author><name>Unknown</name><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-6459060772244634442.post-1518011096549259049</id><published>2012-04-04T15:39:00.002-07:00</published><updated>2012-04-04T15:39:58.840-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>JavaScript Namespaces?</title><content type='html'>From this thread:&lt;br /&gt;
&lt;a href=&quot;http://stackoverflow.com/questions/881515/javascript-namespace-declaration#answer-3588712&quot;&gt;http://stackoverflow.com/questions/881515/javascript-namespace-declaration#answer-3588712&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;&lt;span class=&quot;s1&quot;&gt;var&lt;/span&gt; yourNamespace = {&lt;br /&gt;&amp;nbsp; &amp;nbsp; foo: &lt;span class=&quot;s1&quot;&gt;function&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp; &amp;nbsp; bar: &lt;span class=&quot;s1&quot;&gt;function&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;};&lt;br /&gt;...&lt;br /&gt;yourNamespace.foo();&lt;/i&gt;&lt;/blockquote&gt;
or:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;var&lt;span class=&quot;s1&quot;&gt; ns = &lt;/span&gt;new&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;function&lt;span class=&quot;s1&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;var&lt;/span&gt; internalFunction = &lt;span class=&quot;s2&quot;&gt;function&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;this&lt;/span&gt;.publicFunction = &lt;span class=&quot;s2&quot;&gt;function&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;};&amp;nbsp;&lt;/i&gt;&lt;/blockquote&gt;
and naturally, the &quot;pro&quot; solution: to use separate library:&lt;br /&gt;
&lt;a href=&quot;https://github.com/smith/namespacedotjs/blob/master/example/sandbox.js&quot;&gt;https://github.com/smith/namespacedotjs/blob/master/example/sandbox.js&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Well, I am often mixing the 1st two and never actually tried the 3rd option. But for some really big project, definitely opt for the last one...</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1518011096549259049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/javascript-namespaces.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1518011096549259049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1518011096549259049'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/04/javascript-namespaces.html' title='JavaScript Namespaces?'/><author><name>Unknown</name><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-6459060772244634442.post-4205500047187138215</id><published>2012-03-28T14:45:00.001-07:00</published><updated>2012-03-28T14:48:30.819-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="software development"/><title type='text'>Whanna be a micro ISV?</title><content type='html'>A must-read blog post on independent software vendor startup:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://codebetter.com/patricksmacchia/2008/11/03/advices-to-developers-on-starting-an-independent-software-vendor-isv-business/&quot;&gt;http://codebetter.com/patricksmacchia/2008/11/03/advices-to-developers-on-starting-an-independent-software-vendor-isv-business/&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And don&#39;t forget to check these two links (posted as a comment under the above post):&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.userscape.com/blog/index.php/site/comments/4_rules_for_the_practical_entrepreneur&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2e9bd2; font-family: Georgia, &#39;Bitstream Charter&#39;, serif; font-size: 16px; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;http://www.userscape.com/blog/...&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.startupspark.com/ian-landsman-userscape-helpspot/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2e9bd2; font-family: Georgia, &#39;Bitstream Charter&#39;, serif; font-size: 16px; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;http://www.startupspark.com/ia...&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
and&amp;nbsp;&lt;a href=&quot;http://successfulsoftware.net/2009/01/05/running-a-microisv/&quot;&gt;http://successfulsoftware.net/2009/01/05/running-a-microisv/&lt;/a&gt;&amp;nbsp;(for some business hints)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And if you ever start into that game: may the force be with you!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/4205500047187138215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/whanna-be-micro-isv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4205500047187138215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/4205500047187138215'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/whanna-be-micro-isv.html' title='Whanna be a micro ISV?'/><author><name>Unknown</name><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-6459060772244634442.post-600584955950075297</id><published>2012-03-28T03:21:00.000-07:00</published><updated>2012-03-28T03:24:29.998-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="software development"/><title type='text'>how long it takes to create new version of your software?</title><content type='html'>I have a site where I am publishing some web design tools (&lt;a href=&quot;http://wonderwebware.com/&quot;&gt;wonderwebware.com&lt;/a&gt;). And right this morning I received an email from a user who requested simple new feature for one of my programs (&lt;a href=&quot;http://wonderwebware.com/duplicatefinder/&quot;&gt;duplicates Finder&lt;/a&gt;). It was definitely a quick and easy change and it took me exactly 21 minutes to add the requested new features, test and re-pack (including all these signing, editting setup files, rebuilding setup etc.).&lt;br /&gt;
&lt;br /&gt;
Now, can you guess how long it took with the additional extra work (that isn&#39;t in any case related to programming)?&lt;br /&gt;
&lt;br /&gt;
Here is what my time-tracker says:&lt;br /&gt;
1)&amp;nbsp;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Helvetica Neue&#39;, Arial, Verdana, &#39;Nimbus Sans L&#39;, sans-serif; font-size: 12px; line-height: 16px; text-align: left;&quot;&gt;preparing for work&lt;/span&gt;&amp;nbsp;-- &lt;b&gt;&lt;i&gt;45 min.&lt;/i&gt;&lt;/b&gt; -- this includes searching for the latest version in my never-ending messed archives, copying/extracting files etc.&lt;br /&gt;
2)&amp;nbsp;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Helvetica Neue&#39;, Arial, Verdana, &#39;Nimbus Sans L&#39;, sans-serif; font-size: 12px; line-height: 16px; text-align: left;&quot;&gt;programming, packaging&amp;nbsp;&lt;/span&gt;-- &lt;b&gt;&lt;i&gt;21 minutes&lt;/i&gt;&lt;/b&gt; -- including writing code itself, code signing exe&#39;s, re-building setup, signing the setup and initial test (on the dev.machine)&lt;br /&gt;
3)&amp;nbsp;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Helvetica Neue&#39;, Arial, Verdana, &#39;Nimbus Sans L&#39;, sans-serif; font-size: 12px; line-height: 16px; text-align: left;&quot;&gt;testing, backup&lt;/span&gt;&amp;nbsp;-- &lt;b&gt;&lt;i&gt;5 min.&lt;/i&gt;&lt;/b&gt; -- these are tests on different boxes (XP and 7) and archiving the new version&lt;br /&gt;
4)&amp;nbsp;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Helvetica Neue&#39;, Arial, Verdana, &#39;Nimbus Sans L&#39;, sans-serif; font-size: 12px; line-height: 16px; text-align: left;&quot;&gt;uploading to wonderwebware.com, adding to the news, fixing version info on site...&lt;/span&gt;&amp;nbsp;-- &lt;b&gt;&lt;i&gt;11 min.&lt;/i&gt;&lt;/b&gt; -- these are just the usual fast changes (to change version numbers, to add a newsflash line on the front page and similar)&lt;br /&gt;
5)&amp;nbsp;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Helvetica Neue&#39;, Arial, Verdana, &#39;Nimbus Sans L&#39;, sans-serif; font-size: 12px; line-height: 16px; text-align: left;&quot;&gt;final test (download and install on separate computers)&lt;/span&gt;&amp;nbsp;-- &lt;b&gt;&lt;i&gt;4 minutes&lt;/i&gt;&lt;/b&gt; -- only to go to the site, download the program (as a user), install, test...&lt;br /&gt;
&lt;br /&gt;
So, for anyone curious, it took me &lt;b&gt;&lt;i&gt;86 minutes&lt;/i&gt;&lt;/b&gt; to get the new version online, and &lt;b&gt;&lt;i&gt;half of that time&lt;/i&gt;&lt;/b&gt; went in useless searching in messy archives. What&#39;s the moral? -- &lt;b&gt;Always keep your archives organized and always backup the dev. projects in the same folder structure, keeping the main master backup location the same for all your projects!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, if I wasn&#39;t so lazy in my internal organization, I wouldn&#39;t waste 45 minutes for nothing. But still, it would take about 5 minutes (presuming that backup itself takes 5 minutes to be created and stored). So, we still get about half of the time spent for &quot;additional&quot; tasks (not development).&lt;br /&gt;
&lt;br /&gt;
And now, imagine that this is just the beginning. We should now start &lt;i&gt;promoting &lt;/i&gt;&amp;nbsp;the new version -- read: submitting to download sites, writing some news articles, promoting the news articles, fb, twitter... You get the idea. I see another 2-3 hours spent in happy submitting only. Ughrr. Next time someone asks me &quot;how long it takes to create new version of the X program&quot;, I&#39;ll not be wrong if I say: a day...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/600584955950075297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/how-long-it-takes-to-create-new-version.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/600584955950075297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/600584955950075297'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/how-long-it-takes-to-create-new-version.html' title='how long it takes to create new version of your software?'/><author><name>Unknown</name><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-6459060772244634442.post-2563273749249081289</id><published>2012-03-23T18:08:00.000-07:00</published><updated>2012-03-24T09:05:34.235-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>JavaScript should be short!</title><content type='html'>I was playing with some JavaScript timers today and used to find this code sample. (It was a function to return the current time):&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
function getTime() {&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
var datetime = new Date();&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
var hours = datetime.getHours();&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;var minute = datetime.getMinutes();&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;var seconds = datetime.getSeconds();&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
var period = &quot;AM&quot;;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; if (hours &amp;gt; 12) {&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; period = &quot;PM&quot;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; }&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; else {&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; period = &quot;AM&quot;;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; hours = ((hours &amp;gt; 12) ? hours - 12 : hours);&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; return &amp;nbsp;hours + &quot;:&quot; + minute + &quot;:&quot; + seconds + &quot; &quot; + period&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
}&lt;/blockquote&gt;
&lt;/blockquote&gt;
Although that will work and is simple to understand (and I was trying to find nice tutorials on first place) -- I can&#39;t stop thinking of the so underestimated common sense when it comes to performance. It&#39;s meant to be downloaded (that&#39;s why we have minifying tools) and interpreted (that&#39;s why we want faster processors). It&#39;s so simple. Why are we giving such a bad example to the kids&amp;nbsp;here? What the &lt;i&gt;else&lt;/i&gt;&amp;nbsp;block does above? Why we are using variables for &lt;i&gt;minutes&lt;/i&gt; and &lt;i&gt;seconds&lt;/i&gt; when we could just invoke the &lt;i&gt;getMinute&lt;/i&gt; / &lt;i&gt;getSeconds&lt;/i&gt; methods when needed (only once)? What about something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
function getTime() {&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; var dt = new Date(),&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;hours = dt.getHours(),&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;period = &quot;AM&quot;;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; if (hours &amp;gt; 12) { period = &quot;PM&quot; }&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; &amp;nbsp; hours = ((hours &amp;gt; 12) ? hours - 12 : hours);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return &amp;nbsp;hours + &quot;:&quot; + dt.getMinutes() + &quot;:&quot; + dt.getSeconds() + &quot; &quot; + period&lt;br /&gt;
}&lt;/blockquote&gt;
&lt;br /&gt;
Isn&#39;t it just as readable as the original? &lt;br /&gt;
&lt;br /&gt;
But then, there is always bad practice in the other end of the&amp;nbsp;specter:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
function gT() { &lt;br /&gt;
&amp;nbsp; &amp;nbsp; var d = new Date(), &amp;nbsp;h = dt.getHours(), &amp;nbsp;p = &quot;AM&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (h &amp;gt; 12) { period = &quot;PM&quot; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return &amp;nbsp;((h &amp;gt; 12) ? h - 12 : h) + &quot;:&quot; + d.getMinutes() + &quot;:&quot; + d.getSeconds() + &quot; &quot; + p&lt;br /&gt;
}&lt;/blockquote&gt;
&lt;br /&gt;
So, may be it&#39;s the right&amp;nbsp;balance&amp;nbsp;after all?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/2563273749249081289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/javascript-should-be-minified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/2563273749249081289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/2563273749249081289'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/javascript-should-be-minified.html' title='JavaScript should be short!'/><author><name>Unknown</name><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-6459060772244634442.post-9214000328459500093</id><published>2012-03-06T13:25:00.000-08:00</published><updated>2012-03-09T15:58:15.665-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="site performance"/><category scheme="http://www.blogger.com/atom/ns#" term="site speed"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="webmastering"/><title type='text'>CloudFlare for your site...</title><content type='html'>Yesterday I finally decided to give&amp;nbsp;&lt;a href=&quot;http://www.cloudflare.com/&quot;&gt;www.cloudflare.com&lt;/a&gt; a look*. And this post is just a quick note to remind myself to write more about these guys in future. Keep in mind that I am not affiliated in any way with them (and the link above is not an affiliate link or something like that). I was just trying to find a good CDN for my needs without paying the big fat prices one will imagine. But CloudFlare is free (and even the paid version costs $20 / month). And they offer a lot of security options too...&lt;br /&gt;
&lt;br /&gt;
Here is a screenshot of the statistics panel in my account after one single day of usage (the first one):&lt;br /&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/AVvXsEj8CrU7emaaaKMQDzMat5bRYMqHqRDbHJGzK1Na3RNJyGp3Z3kHsNww-xuc7tzkU43BO1Qz3iajsExak6NEsF48UHxJJQSsvUFuTi8iQ4yswtuhuknAEeZzIfeZ0Q-HNONUIZuyRywgB9I_/s1600/cloudFlare.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/AVvXsEj8CrU7emaaaKMQDzMat5bRYMqHqRDbHJGzK1Na3RNJyGp3Z3kHsNww-xuc7tzkU43BO1Qz3iajsExak6NEsF48UHxJJQSsvUFuTi8iQ4yswtuhuknAEeZzIfeZ0Q-HNONUIZuyRywgB9I_/s1600/cloudFlare.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
And as you see, there is &lt;b&gt;a lot of sense&lt;/b&gt;&amp;nbsp;in using their service.&lt;br /&gt;
&lt;br /&gt;
They are not only caching and distributing content around their servers, but also stopping hackers, spammers, zombie machines etc.&lt;br /&gt;
&lt;br /&gt;
The setup is piece of cake (the only thing you will need to do is to replace the dns servers in your registrar&#39;s account with theirs (for GoDaddy it took me about 4 hours for the dns change to be propagated)&lt;br /&gt;
&lt;br /&gt;
Good work, people! If the service works as so far, you have one webmaster with a bunch of sites to pay for the &quot;pro&quot; version!&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #f9f9f9; font-family: verdana, arial, sans-serif; font-size: 11px;&quot;&gt;*Funny quote from a forum post: &lt;br /&gt;&quot;Basically, CloudFlare is a distributed nginx caching reverse proxy network with real-time firewall protection&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f9f9f9; font-family: verdana, arial, sans-serif; font-size: 11px;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-family: verdana, arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;http://www.webhostingtalk.com/archive/index.php/t-1115500.html&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; font-family: verdana, arial, sans-serif; font-size: 11px;&quot;&gt;)&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/9214000328459500093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/cloudflare-for-your-site.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/9214000328459500093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/9214000328459500093'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/cloudflare-for-your-site.html' title='CloudFlare for your site...'/><author><name>Unknown</name><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/AVvXsEj8CrU7emaaaKMQDzMat5bRYMqHqRDbHJGzK1Na3RNJyGp3Z3kHsNww-xuc7tzkU43BO1Qz3iajsExak6NEsF48UHxJJQSsvUFuTi8iQ4yswtuhuknAEeZzIfeZ0Q-HNONUIZuyRywgB9I_/s72-c/cloudFlare.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6459060772244634442.post-1351657540164627159</id><published>2012-03-06T00:14:00.002-08:00</published><updated>2012-03-06T00:28:11.060-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="WordPress"/><title type='text'>WordPress Plugins Collision: W3 Total Cache crashes WP-Filebase</title><content type='html'>&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;I found a strange thing happening when installed and enabled &lt;b&gt;W3 Total Cache&lt;/b&gt; plugin in my WordPress blog. Right after the installation, another plugin -- &lt;b&gt;WP-Filebase&lt;/b&gt; -- just&amp;nbsp;stopped&amp;nbsp;working. The plugin wasn&#39;t affected, but the download links was not functional anymore (producing 404 Error page instead of starting the download). If you have the same problem (tested for these two plugins but may work for other download plugins as well) -- here is what I did:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;1) Go to W3 Total Cache general settings (click &quot;Performance&quot; menu item from the WordPress admin panel) and make sure &quot;Browser Caching&quot; is enabled. I suppose it is (because here the problem lies, but still it doesn&#39;t hurt to check). It should look like that:&lt;/span&gt;&lt;br /&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/AVvXsEje7WYilz-_TD8yngfkoJiLLRCPtTR3C1Rmj8pgf_40qZ9Tkyhtcd4xM_l__T4_Vu5lpmkk3mdLnJ0I7RsnC9fPIu_AK96lumrcq3Rlv0RNnFNq5r2gtoLWW-ki8fxF-renYFbTpp-Vl8yL/s1600/step1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje7WYilz-_TD8yngfkoJiLLRCPtTR3C1Rmj8pgf_40qZ9Tkyhtcd4xM_l__T4_Vu5lpmkk3mdLnJ0I7RsnC9fPIu_AK96lumrcq3Rlv0RNnFNq5r2gtoLWW-ki8fxF-renYFbTpp-Vl8yL/s1600/step1.png&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;2) Now, click the &quot;Browser Cache&quot; menu to go to the&amp;nbsp;browser&amp;nbsp;cache settings page:&lt;/span&gt;&lt;br /&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/AVvXsEiltrTubUh9rkHL08bL55LWe5BoUIXea5Rc1A7q1yKWsXyC-wdvxCxWrRHAcutCnyt5NL8Taq4Sx1hPQdSEzgY6ZNoH6DTh8aBMNApaWPIXprvKr0yDASo0dyf_PD-q7fwyT5b_PuWccBhq/s1600/step2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiltrTubUh9rkHL08bL55LWe5BoUIXea5Rc1A7q1yKWsXyC-wdvxCxWrRHAcutCnyt5NL8Taq4Sx1hPQdSEzgY6ZNoH6DTh8aBMNApaWPIXprvKr0yDASo0dyf_PD-q7fwyT5b_PuWccBhq/s1600/step2.png&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;3) Uncheck the &quot;&lt;label style=&quot;color: #222222; cursor: pointer; line-height: 16px; text-align: left; vertical-align: middle;&quot;&gt;Prevent caching of objects after settings change&lt;/label&gt;&lt;span style=&quot;color: #222222; line-height: 16px; text-align: left;&quot;&gt;&amp;nbsp;&quot; checkbox and click the &quot;Save&quot; button:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&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/AVvXsEitvf-K2oH2pOKmtc1TrtHds-s7LcT3GqRktOsRYVLQD0eYlnplCs0QTPvl_b8X6KFWDs9CXy4FXrpxFzbrBRXeGuT-oLO6m7Xn3gzDHtUVfp5ghTFM9mkZfVp44ZNT5lYUonAYnprxTE6n/s1600/step3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitvf-K2oH2pOKmtc1TrtHds-s7LcT3GqRktOsRYVLQD0eYlnplCs0QTPvl_b8X6KFWDs9CXy4FXrpxFzbrBRXeGuT-oLO6m7Xn3gzDHtUVfp5ghTFM9mkZfVp44ZNT5lYUonAYnprxTE6n/s1600/step3.png&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px; text-align: left;&quot;&gt;Now, go to your blog, reload the page and try again. In my case that was the only option changed in&lt;b&gt; W3 Total Cache&lt;/b&gt; that fixed the broken downloads in &lt;b&gt;WP-Filebase&lt;/b&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px; text-align: left;&quot;&gt;PS: Also, better keep &quot;Database Cache&quot; option disabled in W3 Total Cache performance settings.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 16px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: whitesmoke; color: #222222; font-family: sans-serif; font-size: 12px; line-height: 16px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1351657540164627159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/wordpress-plugins-collision-w3-total.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1351657540164627159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1351657540164627159'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/wordpress-plugins-collision-w3-total.html' title='WordPress Plugins Collision: W3 Total Cache crashes WP-Filebase'/><author><name>Unknown</name><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/AVvXsEje7WYilz-_TD8yngfkoJiLLRCPtTR3C1Rmj8pgf_40qZ9Tkyhtcd4xM_l__T4_Vu5lpmkk3mdLnJ0I7RsnC9fPIu_AK96lumrcq3Rlv0RNnFNq5r2gtoLWW-ki8fxF-renYFbTpp-Vl8yL/s72-c/step1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6459060772244634442.post-1539489598257020164</id><published>2012-03-02T06:35:00.001-08:00</published><updated>2012-03-02T06:35:26.209-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="html5"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="jQuery"/><category scheme="http://www.blogger.com/atom/ns#" term="jQuery Mobile"/><title type='text'>A must follow link for HTML5 developers</title><content type='html'>Everyone and his mother must keep an eye on this man&#39;s blog:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://coenraets.org/&quot;&gt;http://coenraets.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
A lot of code, examples and wonderful style of writing.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1539489598257020164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/must-follow-link-for-html5-developers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1539489598257020164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1539489598257020164'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/must-follow-link-for-html5-developers.html' title='A must follow link for HTML5 developers'/><author><name>Unknown</name><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-6459060772244634442.post-1821799287948948928</id><published>2012-03-01T10:01:00.001-08:00</published><updated>2012-03-01T10:01:19.174-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Multicore is Mainstream!</title><content type='html'>Single-core CPUs are doomed. It is time for anyone seeking performance to check the options to adopt multi-threading&amp;nbsp;in it&#39;s software. A link to start:&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://software.intel.com/en-us/articles/planning-for-parallel-optimization/&quot;&gt;http://software.intel.com/en-us/articles/planning-for-parallel-optimization/&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
(And look for the chart on the page above)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cpp-qt-mac-win.blogspot.com/feeds/1821799287948948928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/multicore-is-mainstream.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1821799287948948928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6459060772244634442/posts/default/1821799287948948928'/><link rel='alternate' type='text/html' href='http://cpp-qt-mac-win.blogspot.com/2012/03/multicore-is-mainstream.html' title='Multicore is Mainstream!'/><author><name>Unknown</name><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></feed>