<?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: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-4161665574104864247</id><updated>2011-11-23T21:34:00.776-08:00</updated><category term='visual'/><category term='meego'/><category term='Harmattan'/><category term='pages'/><category term='DeclarativeUI'/><category term='web'/><category term='kubuntu'/><category term='Happy Frog'/><category term='Qt3D'/><category term='QtWebkit'/><category term='gift'/><category term='Shawn'/><category term='Wiki Growth'/><category term='tag'/><category term='visual search'/><category term='ATB'/><category term='M4400'/><category term='qt ambassador'/><category term='Symbian'/><category term='google Map'/><category term='GoalTime'/><category term='qOauth'/><category term='searchme'/><category term='node'/><category term='nokia'/><category term='3D'/><category term='3DHappyFrog'/><category term='N950'/><category term='N900'/><category term='html'/><category term='HappyFrog'/><category term='Qml'/><category term='script'/><category term='Qdou'/><category term='text comparison'/><category term='qt'/><category term='aharef'/><category term='laptop'/><category term='google'/><category term='Wvisual Search'/><title type='text'>Code With Trance</title><subtitle type='html'>Gary.Wzl</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-992567339340258799</id><published>2011-11-23T21:23:00.000-08:00</published><updated>2011-11-23T21:23:49.660-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GoalTime'/><category scheme='http://www.blogger.com/atom/ns#' term='N900'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='N950'/><title type='text'>GoalTime For Soccer fan</title><content type='html'>After submitting in OVI store for QA for 4 weeks.&lt;a href="http://goaltime.free.bg/"&gt;GoalTime&lt;/a&gt;&amp;nbsp;is finally on the market. (mobile device based on symbian^3 and symbian v5 are still not&amp;nbsp;available&amp;nbsp;due to the sharing functionality failed,but for N950 and N900 work fine anyway).So if you are sports fan,check it out at OVI store link for this app&amp;nbsp;&lt;a href="http://store.ovi.com/content/213368"&gt;http://store.ovi.com/content/213368&lt;/a&gt;&amp;nbsp;enjoy...........&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm8.staticflickr.com/7019/6393033845_9762de8a91_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm8.staticflickr.com/7019/6393033845_9762de8a91_z.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;About GoalTime&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"GoalTime is Qt based App that help user to view latest &amp;nbsp;match score( Football, Italian Serie A, Barclays&amp;nbsp;Premiership, Spanish Primera Division, Italian Serie A, German undesliga, French Series 1 League, basketball, Tennis...) in real-time. Besides scoring tips,user can check ongoing match score, goals, red and yellow card. And also choose matches you are interested in and strip the leagues out which you don't wanna pay attention to as well as sharing match info with your friends on social&lt;br /&gt;network like facebook, twitter, weibo.... of course it will consumes a small amount of network traffic."&lt;/i&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-992567339340258799?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/992567339340258799/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/11/goaltime-for-soccer-fan.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/992567339340258799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/992567339340258799'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/11/goaltime-for-soccer-fan.html' title='GoalTime For Soccer fan'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-3787864534124464544</id><published>2011-10-11T05:14:00.000-07:00</published><updated>2011-10-11T05:14:26.869-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shawn'/><title type='text'>Different people with different life</title><content type='html'>Best wish to you &amp;nbsp;&lt;a href="http://ezse.com/"&gt;Shawn&lt;/a&gt;.&lt;br /&gt;I will miss you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-3787864534124464544?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/3787864534124464544/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/10/different-people-with-different-life.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3787864534124464544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3787864534124464544'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/10/different-people-with-different-life.html' title='Different people with different life'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-4732318454174584328</id><published>2011-09-13T03:29:00.000-07:00</published><updated>2011-09-13T03:29:47.901-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qt3D'/><category scheme='http://www.blogger.com/atom/ns#' term='HappyFrog'/><category scheme='http://www.blogger.com/atom/ns#' term='Harmattan'/><category scheme='http://www.blogger.com/atom/ns#' term='3DHappyFrog'/><title type='text'>3DHappyFrog is coming</title><content type='html'>&amp;nbsp;It takes me some time to record a video and upload it to Youtube(What a bloody &lt;a href="http://en.wikipedia.org/wiki/Golden_Shield_Project"&gt;GFW&lt;/a&gt;).hum..............&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;iframe allowfullscreen="" frameborder="0" height="345" src="http://www.youtube.com/embed/uHbjVonH2YU" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;/div&gt;&lt;br /&gt;As the description I post on&amp;nbsp;Youtube&amp;nbsp;channel.&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;i&gt;This app is developed by using Qt3D/QML integrated with Bullet 3D physics engine.Due to this game is 3D-game,There are 2 types of play,one is controlled by user(you can regard N950/N9 as game controller) ,another is based on sensor.More details,pls watch recorded video.The explosion effect looks like not bad.As you see,I deploy this game on N950,Basically,The performance and some details are not as good as expected.Still Some bugs are needed to be fixed and lots of room to improve,such as better 3D model, effect,audio,optimization on painting to boost FPS.On the other hand,This app is being built on Qt3D-1.0-tp1.which is not blown release(Qt3D is still in-progress).That's why I've not released the debian package and source code yet.So stay tuned.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;In one word,It's far from being stable,playable and complete from my&amp;nbsp;perspective.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Keep going.Hopefully you'll like it when released. :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-4732318454174584328?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/4732318454174584328/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/09/3dhappyfrog-is-coming.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/4732318454174584328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/4732318454174584328'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/09/3dhappyfrog-is-coming.html' title='3DHappyFrog is coming'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/uHbjVonH2YU/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-2077123764546852790</id><published>2011-09-03T03:12:00.000-07:00</published><updated>2011-09-03T03:12:33.602-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='HappyFrog'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Call your ideas:level design For 3D-HappyFrog</title><content type='html'>&lt;br /&gt;&lt;div style="font-family: arial; font-size: small;"&gt;3D-HappyFrog is on the way,90 percent has been done.I suppose that it will be going to be released next week or the week after next.Be&amp;nbsp;patient&amp;nbsp;and it will&amp;nbsp;take a while.I am working hard on the rest of it.One problem&amp;nbsp;encounters&amp;nbsp;besides coding,I've been racking my brain to design brand-new levels and&amp;nbsp;no good idea about this though by far.Evidently I find that level design is much more&amp;nbsp;difficult&amp;nbsp;than programming.&lt;/div&gt;&lt;div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;So if you were me,how do you to design there levels?&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;One snapshot as following.&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm7.static.flickr.com/6188/6108616612_50e9aa9512_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm7.static.flickr.com/6188/6108616612_50e9aa9512_z.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;This is my humble design.If there is no any other level easier than this one,I decide to mark it as level one.If you lost more than 1 life here...(*(JHIY*T&amp;amp;T*&amp;amp;*^(H&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;What you have still now? fixtures?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm7.static.flickr.com/6066/6108602034_e4da39c80d_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm7.static.flickr.com/6066/6108602034_e4da39c80d_z.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;b&gt;Of course, All fixture support local transformation.&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;That's it,If you have good ideas,pls contact me via e-mails,expecting your wonderful work.&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Br&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-2077123764546852790?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/2077123764546852790/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/09/call-your-ideaslevel-design-for-3d.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2077123764546852790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2077123764546852790'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/09/call-your-ideaslevel-design-for-3d.html' title='Call your ideas:level design For 3D-HappyFrog'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6188/6108616612_50e9aa9512_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-6495727725093350758</id><published>2011-08-27T18:53:00.000-07:00</published><updated>2011-08-27T18:53:50.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HappyFrog'/><category scheme='http://www.blogger.com/atom/ns#' term='gift'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Keep calm and Hack on</title><content type='html'>&lt;br /&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Clearly I remember that this is my &lt;a href="http://garywang77.blogspot.com/2011/03/sth-from-norway.html"&gt;secound time&lt;/a&gt; recerving a gift bag from Oslo,which is as&amp;nbsp;a award of &lt;a href="http://qt-apps.org/news/?id=340"&gt;Qtest Mobile App Port Contest&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;It is on hand now.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm7.static.flickr.com/6188/6085320344_1fc12d35ff.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm7.static.flickr.com/6188/6085320344_1fc12d35ff.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Although failed to be the top 5 in the final(which means no chance to get my favorate mobile&amp;nbsp;device N900 before N9/N950 was officially announced by NOKIA at Singapore),Nothing regret.My app &lt;a href="http://qt-apps.org/content/show.php/HappyFrog?content=140171"&gt;HappyFrog&lt;/a&gt; attracts lots of attention.Besides gift,it's really good feeling for me to&amp;nbsp;see people get something pretty enjoyable out of it.That's why I keeping working&amp;nbsp;on that project.&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Btw,I almost forgot the PDF ebook is still on my KDE desktop but for this gift.&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Keep calm and Hack on.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-6495727725093350758?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/6495727725093350758/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/08/keep-calm-and-hack-on.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/6495727725093350758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/6495727725093350758'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/08/keep-calm-and-hack-on.html' title='Keep calm and Hack on'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6188/6085320344_1fc12d35ff_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-8004925754437407872</id><published>2011-07-27T18:55:00.000-07:00</published><updated>2011-07-27T18:55:44.463-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Happy Frog'/><title type='text'>HappyFrog for Harmattan</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm7.static.flickr.com/6014/5982801053_8e8bd88014_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm7.static.flickr.com/6014/5982801053_8e8bd88014_z.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Can't wait to say finally...finally I got my &lt;a href="http://mynokiablog.com/2011/07/11/video-unboxing-the-nokia-n950-meego-harmattan-dev-kit/"&gt;N950&lt;/a&gt; throught Qt-Ambassador Program.I was waiting impatiently for a long time (two suffering weeks :)) to got it on hand.Unboxing it.........very very fantastic and beautiful design and very 'soft' and  fabulous to the touch.The brand-new user interface-Swipe.I feel like the whole view is completely undisciplined unbounded,yet full of the magic and power of the artist view(a image cross my mind,it reminds me of "Steve jobs" in the film "&lt;a href="http://en.wikipedia.org/wiki/Pirates_of_Silicon_Valley"&gt;Pirates of Silicon Valley&lt;/a&gt;".He was yelling "I need artist!!" and speak to bill "we're artist"..........*(^*&amp;amp;%&amp;amp;^$&amp;amp;^%)Dreams will not remains as a dream.&lt;a href="http://conversations.nokia.com/2011/02/11/mobile-phones-the-next-billion/"&gt;The Next Billion&lt;/a&gt;.So Come on,nokia don't let me down : ).&lt;br /&gt;Well,I am prepared to deploy two games on N9. &lt;br /&gt;One is &lt;a href="http://qt-apps.org/content/show.php/HappyFrog?content=140171"&gt;HappyFrog&lt;/a&gt;(someone has played it),another....keep you guessing. &lt;br /&gt;So first priority is to make some improvment on Happy Frog. three features on HappyFrog 0.0.3. details as follows &lt;br /&gt;1.parallax scrolling(see the hills) and re-design some levels &lt;br /&gt;2.add tyre fixture(enable Motor in Box2D) &lt;br /&gt;3.add windmill fixture(disanble Motor in Box2D)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="http://farm7.static.flickr.com/6002/5980683712_610cc81b2e_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm7.static.flickr.com/6002/5980683712_610cc81b2e_z.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;"&gt;&lt;span style="color: black; font-family: 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;you can download HappyFrog for different platform here&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;"&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 12px;"&gt;&lt;span class="contenttext" style="font-size: 8pt;"&gt;1.&lt;a href="http://qt-apps.org/content/download.php?content=140171&amp;amp;id=1&amp;amp;tan=80955844"&gt;HappyFrog 0.0.3 For Symbian^3&lt;/a&gt;(N8 C7,E7,C6-01)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 12px;"&gt;2.&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;a href="http://qt-apps.org/content/download.php?content=140171&amp;amp;id=2&amp;amp;tan=9022743"&gt;HappyFrog 0.0.3 For Symbian^1&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;(5800,n97,c6,5230..)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 12px;"&gt;3.&lt;a href="http://qt-apps.org/content/download.php?content=140171&amp;amp;id=3&amp;amp;tan=29105321"&gt;HappyFrog 0.0.3 For Frementle&lt;/a&gt;(N900)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 12px;"&gt;4.&lt;a href="http://qt-apps.org/content/download.php?content=140171&amp;amp;id=4&amp;amp;tan=11414801"&gt;HappyFrog 0.0.3 For Harmattan&lt;/a&gt;(N950)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif';"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;source code is here&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: #f8f8f8; font-family: Verdana, 'Bitstream Vera Sans', Arial, Helvetica, Sans, 'Bitstream Vera Serif'; font-size: 11px;"&gt;&lt;a href="http://qt-apps.org/content/download.php?content=140171&amp;amp;id=5&amp;amp;tan=71658088"&gt;Happyfrog-Src-0.0.3.tar.bz2&amp;nbsp;&lt;/a&gt;,you can&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;checkout it also at here&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;&lt;em style="font-style: normal; font-weight: bold;"&gt;git&lt;/em&gt;://&lt;em style="font-style: normal; font-weight: bold;"&gt;gitorious&lt;/em&gt;.org/happyfrog/happyfrog.&lt;em style="font-style: normal; font-weight: bold;"&gt;git&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;Next game is in-progress,stay tuned.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;Br&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;Gary&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-8004925754437407872?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/8004925754437407872/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/07/happyfrog-for-harmattan.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/8004925754437407872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/8004925754437407872'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/07/happyfrog-for-harmattan.html' title='HappyFrog for Harmattan'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6014/5982801053_8e8bd88014_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-3097127679238680766</id><published>2011-07-06T23:14:00.000-07:00</published><updated>2011-07-06T23:14:40.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qOauth'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Making HMAC-SHA1 scriptable in apps</title><content type='html'>Long time no blog due to busy on project.&lt;br /&gt;&lt;span class="Apple-style-span"&gt;It's a funny coincident that I need to do some work based on OAUTH open protocol again.But according to the &lt;a href="http://qt-apps.org/content/show.php/QOAuth?content=107420"&gt;qoauth libs&lt;/a&gt; implementation and &lt;a href="http://garywang77.blogspot.com/2010/04/using-hmac-sha1-in-qoauth-on-symbian.html"&gt;the previous blog&lt;/a&gt; I mentioned,there is a &amp;nbsp;need for me to make it with little code change for different platform(on Desktop I need to compile and import&amp;nbsp;&lt;a href="http://delta.affinix.com/qca/"&gt;QCA&lt;/a&gt;&amp;nbsp;libraries in addition to &lt;a href="http://delta.affinix.com/download/qca/2.0/plugins/qca-ossl-2.0.0-beta3.tar.bz2"&gt;qca-ossl-plugin&lt;/a&gt;&amp;nbsp;see below on that page,on Symbian I need to import hash.lib by using related class&amp;nbsp;&lt;/span&gt;CSHA1,CMAC).Hum,is there a better solution for me to utilize to make it easier?&lt;br /&gt;So I think it's time to play a small trick.My proposal is that do HMAC-SHA1 in app without any change to fit all platform with Qt(Desktop,embed,mobile device).&lt;b&gt;The main idea is that making HMAC-SHA1 scriptable in apps.&lt;/b&gt;&lt;br /&gt;The step as following.&lt;br /&gt;&lt;i&gt;1.Please check &lt;a href="http://pajhome.org.uk/crypt/md5/sha1.html"&gt;http://pajhome.org.uk/crypt/md5/sha1.html&lt;/a&gt; and import sha1.js in your project.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;2.QtScript module provides powerful embedded scripting environment through the QtScript classes.So we can call a Qt script function from C++ like this.&lt;/i&gt;&lt;br /&gt;&lt;div&gt;&lt;pre class="brush:cpp"&gt;...&lt;br /&gt;...&lt;br /&gt;QFile file("./sha1.js");&lt;br /&gt;file.open(QIODevice::ReadOnly);&lt;br /&gt;QString jsContent = QString::append(file.readAll());&lt;br /&gt;file.close();&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;QScriptEngine engine;&lt;br /&gt;engine.evaluate(jsContent);// very similar with function QWebFrame::evaluateJavaScript ()&lt;br /&gt;QScriptValue value = engine.globalObject();&lt;br /&gt;QScriptValueList paramList;&lt;br /&gt;paramList&amp;lt;&amp;lt;key&amp;lt;&amp;lt;baseString;&lt;br /&gt;QString result = value.property("b64_hmac_sha1").call(QStringValue(),valueList).toString()&lt;br /&gt;//call js function b64_hmac_sha1 from C++ and result is what you want. ;) &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ps:&lt;br /&gt;special present from Finland before my birthday.&lt;br /&gt;can't wait to test it.&lt;br /&gt;I will be waiting impatiently for the time when I get it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-3097127679238680766?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/3097127679238680766/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/07/making-hmac-sha1-scriptable-in-apps.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3097127679238680766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3097127679238680766'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/07/making-hmac-sha1-scriptable-in-apps.html' title='Making HMAC-SHA1 scriptable in apps'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-4814253993967977535</id><published>2011-03-21T23:18:00.000-07:00</published><updated>2011-03-21T23:18:35.219-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HappyFrog'/><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='DeclarativeUI'/><title type='text'>HappyFrog........just for fun</title><content type='html'>&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;In the wake of angry bird become more and more popular,so I just wonder how to implement it with Qt.Below are some hint.&lt;br /&gt;1.&lt;a href="http://doc.qt.nokia.com/latest/graphicsview.html"&gt;GraphicsView Framework&lt;/a&gt;(or &lt;a href="http://doc.qt.nokia.com/4.7-snapshot/qmlruntime.html"&gt;Declarative UI&lt;/a&gt;) interagted with &lt;a href="http://www.box2d.org/"&gt;Box2D physics engine&lt;/a&gt;.&lt;br /&gt;2.Explosion effect can be done with function &lt;a href="https://idlebox.net/2010/apidocs/qt-everywhere-opensource-4.7.0.zip/qpainter.html#drawPixmapFragments" target="_blank"&gt;drawPixmapFragment&lt;/a&gt;(which is introduced in Qt 4.7,make an optimize on state changes for QPainter,so it's faster than multiple calls to drawPixmap())&lt;br /&gt;3.In order to boost my development,I wanna use some Element from &lt;a href="http://doc.qt.nokia.com/4.7-snapshot/qdeclarativeintroduction.html" target="_blank"&gt;Qml,&lt;/a&gt;such as&lt;a href="http://doc.qt.nokia.com/4.7-snapshot/qml-flickable.html" target="_blank"&gt; flickAble&lt;/a&gt; or &lt;a href="http://doc.qt.nokia.com/4.7-snapshot/qml-listview.html" target="_blank"&gt;ListView&lt;/a&gt;,etc..&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm6.static.flickr.com/5267/5549392446_f6e37a43a0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5267/5549392446_f6e37a43a0.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The first two are not difficult to implement it.&lt;br /&gt;basically,lots of people want to know how to integrated qml with c++ in this demo,in particularly how to add item in the flickAble element (you konw,I am a lazy and humble guy and on the flip side,I guest not everyone konws that how to make &lt;a href="http://stechz.com/2010/robust-kinetic-animation/" target="_blank"&gt;kinetic animation&lt;/a&gt;,In fact it's not difficult).&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(more detaileds watch the video Below).&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/UjcL65mzPLA/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UjcL65mzPLA?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="480" height="360" src="http://www.youtube.com/v/UjcL65mzPLA?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;In order to dynamically add item in the flickable,we can write some code in qml&lt;br /&gt;&lt;pre class="brush:cpp"&gt;Flickable {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: myFlickable&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ......&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function addItem(file) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var component = Qt.createComponent(file)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; component.createObject(myFlickable.contentItem);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Maybe someone just figure out an "easier" way&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush:cpp"&gt;Flickable{&lt;br /&gt;&amp;nbsp; id: myFlickable&lt;br /&gt;&amp;nbsp; ......&lt;br /&gt;&amp;nbsp; Loader { id: itemLoader }&lt;br /&gt;&amp;nbsp; ......&lt;br /&gt;&amp;nbsp; MouseArea {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; anchors.fill: parent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onClicked: itemLoader.source = "items.qml"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;/pre&gt;In case code you wrote like above,unfortunately,item inserted dynamiclly &lt;b&gt;can not be "flicked"&lt;/b&gt;,so it didn't work out if you forget passing Flickable.contentItem for the item created,even thought it seems like itemLoader is a "child" of myFlickable.&lt;br /&gt;In C++&lt;br /&gt;consider about foregoing problem we met.There are two little things we need to care about.&lt;br /&gt;1.How to get the pointer of "Flickable"&lt;br /&gt;2.How to get the pointer of "myFlickable.contentItem"(a property of Flickable)&lt;br /&gt;;) some related apis have been prepared by Qt,easy and convinient.&lt;br /&gt;&amp;nbsp;&amp;nbsp; 1.create &lt;a href="http://doc.qt.nokia.com/4.7-snapshot/qml-qtobject.html"&gt;QtObject Element &lt;/a&gt;for Flickable element,as the qt document mentioned "It can also be useful for C++ integration, as it is just a plain QObject.This allows a C++ application to locate an item within a QML component using the QObject::findChild() method".&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; 2.with QObject'property to fetch the pointer of Flickable.contentItem.&lt;br /&gt;&amp;nbsp;&amp;nbsp; main.qml&lt;br /&gt;&lt;pre class="brush:cpp"&gt;Flikable {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id:flickable;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objectName: "flickArea"&lt;br /&gt;&amp;nbsp;&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/pre&gt;&amp;nbsp; main.cpp&lt;br /&gt;&lt;pre class="brush:cpp"&gt;&amp;nbsp;QDeclarativeComponent component(&amp;amp;engine,QUrl("main.qml"));&lt;br /&gt; if(component.status() != QDeclarativeComponent::Ready){&lt;br /&gt;     foreach(const QDeclarativeError &amp;amp;error,component.errors()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qFatal(error.toString().toStdString().c_str());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;}&amp;nbsp;&lt;br /&gt; QDeclarativeItem *mainView = qobject_cast&amp;lt; QDeclarativeItem *&amp;gt;(component.create());&lt;br /&gt; QDeclarativeItem *flickArea = mainView-&amp;gt;findChild&amp;lt; QDeclarativeItem * &amp;gt;("flickArea");&lt;br /&gt; QDeclarativeItem *contentItem = qvariant_cast&amp;lt; QDeclarativeItem * &amp;gt;(flickArea-&amp;gt;property("contentItem"));&lt;br /&gt;&lt;br /&gt;//pass contenItem as item's parent.&lt;br /&gt;ItemInserted   *item = new (contentItem);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;That's all.Btw.&lt;br /&gt;If you are a qml enthusiast,qml-Box2d(&lt;a href="http://gitorious.org/qml-box2d" target="_blank"&gt;http://&lt;wbr&gt;&lt;/wbr&gt;gitorious.org/qml-box2d&lt;/a&gt;) plugins is on the &lt;br /&gt;way,here,Maybe it's useful for you to write fantastic game or something related stuff.&lt;br /&gt;of course,HappyFrog is an opensource project,you can find here&lt;br /&gt;&lt;a href="http://code.google.com/p/happyfrog/"&gt;http://code.google.com/p/happyfrog/&lt;/a&gt;&lt;br /&gt;you can also checkout the latest source which is hosted on the my gitorious page.&lt;br /&gt;git clone git://gitorious.org/happyfrog/happyfrog.git&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-4814253993967977535?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/4814253993967977535/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/03/happyfrogjust-for-fun.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/4814253993967977535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/4814253993967977535'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/03/happyfrogjust-for-fun.html' title='HappyFrog........just for fun'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5267/5549392446_f6e37a43a0_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-2630727701878041554</id><published>2011-03-14T22:40:00.000-07:00</published><updated>2011-03-14T22:40:00.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt ambassador'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Happy Frog'/><title type='text'>Sth From Norway</title><content type='html'>This morning,I got sth which is sent from Norway,meanwhile I have been accepted as a &lt;a href="http://qt.nokia.com/qt-in-use/ambassadors/qtambassador/"&gt;Qt Ambassador&lt;/a&gt;.Maybe It's good news for me during these times(seems like the T-shirt isn't fit me,small size would be fine),&lt;br /&gt;Btw,I am working on a qt-apps integrated with Box2d and Declarative UI,I call it "Happy Frog" and about to prepare to release these days,stay tuned.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://farm6.static.flickr.com/5055/5528543672_fd81583592.jpg"&gt;&lt;img border="0" src="http://farm6.static.flickr.com/5055/5528543672_fd81583592.jpg" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-2630727701878041554?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/2630727701878041554/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/03/sth-from-norway.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2630727701878041554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2630727701878041554'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/03/sth-from-norway.html' title='Sth From Norway'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5055/5528543672_fd81583592_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-5021391995924349106</id><published>2011-03-06T10:02:00.000-08:00</published><updated>2011-03-14T22:00:42.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nokia'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Recent thoughts:my future</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I suppose that everyone who gets involved with qt or focuses on Symbian, Maemo(Meego in the future) has been aware of the collaboration between Nokia and Microsoft.First time I heard of this, I feel shocked and then a lot of disappointment.You know,I am looking forward to the Meego platform for a long time.I am eager to get n900 mobile device still now.I stick to suppose that the Meego platform is still the first option for Nokia as mobile device operation system before this happened.But finally Nokia choose the Microsoft as parter and select window phone 7 as new platform.For my part,I have no idea if this is huge mistake for Nokia.For my part,I have no right to judge or criticize the collaboration or anyone involved with this,which should be on the agenda of those "Big man",not for nobody like me.Indeed,It's none of my business.I think I just an recent-undergraduate who get falling in love with qt programming from second year of college life and also a little "kid" in programming area.........&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: small;"&gt;On the flip side,I really hope qt has a brilliant future,as well for nokia(without question,Qt never let us down).also hope Lots of people who love free and open (software) can continue concentrating on qt or any other (open source) related stuff instead of turning more attention on the wp7.I will guarantee that I will not get involved with wp7,so don't count me in.&lt;br /&gt;............&lt;br /&gt;Yeah,It's really tough time.at this point it reminds me of a famous blog post &lt;a href="http://conversations.nokia.com/2010/07/02/the-fightback-starts-now/"&gt;The fightback starts now&lt;/a&gt;.Comparision with &lt;a href="http://www.engadget.com/2011/02/08/nokia-ceo-stephen-elop-rallies-troops-in-brutally-honest-burnin/"&gt;burning platform&lt;/a&gt;,it's so obvious that "&lt;a href="http://www.reuters.com/resources/r/?m=02&amp;amp;d=20100920&amp;amp;t=2&amp;amp;i=208151725&amp;amp;w=&amp;amp;fh=&amp;amp;fw=&amp;amp;ll=460&amp;amp;pl=300&amp;amp;r=2010-09-20T140416Z_01_BTRE68J133600_RTROPTP_0_NOKIA"&gt;angry bird&lt;/a&gt;" is not the right person for that position.hum.Just let it go and see what happen next.Good luck to nokia.hope I am on the right way.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-5021391995924349106?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/5021391995924349106/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/03/recent-thoughtsmy-future.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5021391995924349106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5021391995924349106'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/03/recent-thoughtsmy-future.html' title='Recent thoughts:my future'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-2020386599178947908</id><published>2011-02-03T07:59:00.000-08:00</published><updated>2011-03-14T22:05:53.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meego'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>It's OK now</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Happy Chinese New Year.&lt;br /&gt;&lt;br /&gt;I am home now for spring festival.I suppose I've wasted two days on busy with getting together at home or restaurant to have dinner with families.There are also days when people get around the city ,go camp or travel.But for me,home is the cheeriest place in the world.I can get up late or do some stuff on my own Laptop,such as configuration meego environment.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;To be frankly,It is very slow when I startup meego-simulator.I suppose my laptop is not bad.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Processor:&lt;/b&gt; Inter core2 Due T9600 @ 2.80GHz&lt;br /&gt;&lt;b&gt;RAM&lt;/b&gt;: 4GB &lt;br /&gt;&lt;b&gt;Graphics card&lt;/b&gt;: Nvidia Quadro FX770M&lt;br /&gt;&lt;b&gt;Operating system&lt;/b&gt;: Kubuntu 10.04.2 LTS &lt;br /&gt;&lt;br /&gt;And when I run my first meego app "Hello world",I get the info &lt;br /&gt;"..........QGLContedxt::makeCurrent():Cannot make invalid context current..........".Obviously,something is wrong with my graphics card driver.And the desktop effect was failed as well when I launch it.Think think twice,I find that I forget updating the video card driver when I upgrade linux kernel.oh,My gosh.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Fortunately,Nvidia release new display drivers for linux recently.&lt;br /&gt;&lt;a href="http://www.nvidia.com/object/linux-display-ia32-260.19.36-driver.html"&gt;http://www.nvidia.com/object/linux-display-ia32-260.19.36-driver.html&lt;/a&gt;&lt;br /&gt;It takes a little time to install the latest version.then I take snapshot on glxgears.Of cause,everything is OK again now.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4081/5413573716_becb565c58.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" src="http://farm5.static.flickr.com/4081/5413573716_becb565c58.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;Br,all.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-2020386599178947908?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/2020386599178947908/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/02/its-ok-now.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2020386599178947908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2020386599178947908'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/02/its-ok-now.html' title='It&apos;s OK now'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4081/5413573716_becb565c58_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-1043608342775590488</id><published>2011-01-17T18:17:00.000-08:00</published><updated>2011-01-17T18:20:27.563-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>A Simple Qml Game - Thumder</title><content type='html'>&lt;div style="font-family: arial; font-size: small;"&gt;Yeah,I've not updated my blog entry for a long time.Last blog entry was five months ago. one reason is I am basically a lazy guy,the other is busy work&amp;nbsp;Frankly.Look back upon the past three months(First Workday on 10.18 2010),many things happend to me: a good job looks like,great changes in my routine life,work on project I am good at,making some innovative work with one or two talent guys.totally, a new journey for me has come to the beginning and I am on my way.&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm6.static.flickr.com/5204/5365874670_d81594dfdc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://farm6.static.flickr.com/5204/5365874670_d81594dfdc.jpg" width="172" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: arial;"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;&lt;i&gt;screenshot of&lt;/i&gt;&amp;nbsp;&lt;i&gt;&amp;nbsp;Thumder&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Btw,I spend free time writing &amp;nbsp;a small pure qml game(Thumder) instead of complex qt-apps integrated with qml like &lt;a href="http://code.google.com/p/qdou/downloads/list"&gt;qDou&lt;/a&gt;.I am sure someone has played it in their childhood.:-) this simple one is just a part of a another interesting project(What's it ? secret).And when that interesting project is done.It will be going to wonderful,people will barely be able to comprehend it.But actually it's very easy.Maybe in the next post, I will give some details on It.&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;get the source code&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;git clone git://gitorious.org/thumder/thumder.git&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial; font-size: small;"&gt;Be good all.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-1043608342775590488?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/1043608342775590488/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2011/01/simple-qml-game-thumder.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1043608342775590488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1043608342775590488'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2011/01/simple-qml-game-thumder.html' title='A Simple Qml Game - Thumder'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5204/5365874670_d81594dfdc_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-2548429763054277362</id><published>2010-08-16T04:09:00.000-07:00</published><updated>2010-08-16T04:09:48.484-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><title type='text'>The stronger lineedit</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;I haven't update my blog for a long time.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;One reason is I am waiting impatiently for the time when Qt 4.7 release to rewrite qDou(qDou is programmed with Qt 4.6,at that time Qml is on the way.In the latter days,it changes a lot. here,&lt;/span&gt;&lt;/span&gt;&lt;a href="http://labs.trolltech.com/blogs/2010/03/16/qml-on-the-road-to-release/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;QML on the Road to Release&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;).Meanwhile I finished my under graduation last month.It's days of fun and good feelings and memories.There are the days when I stay up for the world cup and so amazing about spanish team work and Paul (The Octopus )'performance.The other Reason is looking forward to doing something useful&amp;nbsp;software&amp;nbsp;on the desktop,Just like&lt;a href="http://userbase.kde.org/Plasma/Krunner"&gt; Krunner&lt;/a&gt; or &lt;a href="http://chrome.blogspot.com/2009/06/get-to-know-omnibox.html"&gt;omnibox&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4074/4897494116_57620f294e.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://farm5.static.flickr.com/4119/4896907433_4944de8e28.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;img border="0" height="133" src="http://farm5.static.flickr.com/4119/4896907433_4944de8e28.jpg" width="200" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;img border="0" height="156" src="http://farm5.static.flickr.com/4074/4897494116_57620f294e.jpg" width="320" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Give all you need to the LineEdit,let it give you answers.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;such as&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; font-size: small;"&gt;what's the weather like in chengdu?&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4137/4896859773_679c82c36a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;img border="0" src="http://farm5.static.flickr.com/4137/4896859773_679c82c36a.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-paragraph-type: empty; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-paragraph-type: empty; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;but the first things I need to consider in programming is the result ranking &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;two factors for the result ranking &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;1.DateTime.the later the Matching words putted in the historyList,the more frontly will be it shows.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;2.Frequence.the More times that you queryed for a same word ,The more frontly ........&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4117/4897454168_2149526ee4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;img border="0" height="129" src="http://farm5.static.flickr.com/4117/4897454168_2149526ee4.jpg" width="320" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-paragraph-type: empty; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-paragraph-type: empty; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-user-state: 0; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;btw,I really indebted to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://code.google.com/p/arora/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Arora&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;(is  opensource webkit based browser)'writer for his work.With his clear contributed code, it makes me benefit from it,especially how to re-construct &lt;/span&gt;&lt;/span&gt;&lt;a href="http://doc.qt.nokia.com/4.6/qcompleter.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;QCompleter&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt; supporting filter and sorting&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;with matching algorithm in post-facto.Actually what attracted me most in Arora's feature is Adblock.Althought it's not perfect,it's a really interesting way to block ads.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="-qt-block-indent: 0; -qt-paragraph-type: empty; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-indent: 0px;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-2548429763054277362?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/2548429763054277362/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/08/stronger-lineedit.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2548429763054277362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2548429763054277362'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/08/stronger-lineedit.html' title='The stronger lineedit'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4119/4896907433_4944de8e28_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-3605512230834009224</id><published>2010-05-26T10:52:00.000-07:00</published><updated>2010-05-26T10:52:07.384-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><title type='text'>Dismantle my old laptop</title><content type='html'>It has been considered for a long time that I decided to dismantle my old laptop once Again----Acer TravelMate 3270 which is my first laptop.To be honest, it's good too,especially keyboard design and soft feel experience.It stays with me for 4 years at university,Programming,game(nba ,pes),.film,music,These are days&amp;nbsp;of fun and good feeling and memories.&amp;nbsp;Although previous failure make me vacillating,I am going to make my laptop stop making a loud fan noise,I can't take it anymore really.That's another reason why I have to buy a powerful laptop.The only thing I can make it recovery is dismantling it. &lt;br /&gt;&lt;br /&gt;Searching something useful on google and eventually take me about 2h to make it.Brilliant!!&lt;br /&gt;Just like someone says "keep your attention on the here and now,your efforts will pay graet divdends." That's right.&lt;br /&gt;now I can't hear anything about the insistent jangles and slip into the blissful dreamland.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4020/4641997161_c45c58e1be.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" gu="true" src="http://farm5.static.flickr.com/4020/4641997161_c45c58e1be.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-3605512230834009224?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/3605512230834009224/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/05/dismantle-my-old-laptop.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3605512230834009224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3605512230834009224'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/05/dismantle-my-old-laptop.html' title='Dismantle my old laptop'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4020/4641997161_c45c58e1be_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-5714077624705581831</id><published>2010-05-10T07:49:00.000-07:00</published><updated>2010-05-10T08:52:17.956-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='M4400'/><title type='text'>My new laptop</title><content type='html'>It's a mobile workstation:Dell Precision M4400,But for me it's just a laptop.At the beginning of this month,I was going to buy a N900 which I was eager to get for such a long time.after waiting for about 2 months,I suppose it's still a little expensive.evaluating all of choices,I have come to realize a new powerful laptop maybe fit for me rather than a Maemo mobile phone.Of course,It's mush more expensive,But it's more useful for ones who want to get deep into the linux like me.So I change my mind and take 1 week to pick my new laptop online.think think twice.......,Maybe,although it's almost 4 times expensive than N900.........But,It's worth it and I will not say goodbye to my old friend TrevelMate 3270.It's great too.&lt;br /&gt;Tomorrow I will go back to school for my graduation project.How time flies.&lt;br /&gt;Take care.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" src="http://farm4.static.flickr.com/3411/4595232321_4fc253544c_o.jpg" tt="true" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-5714077624705581831?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/5714077624705581831/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/05/my-new-laptop.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5714077624705581831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5714077624705581831'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/05/my-new-laptop.html' title='My new laptop'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-328827086127257133</id><published>2010-04-17T01:39:00.000-07:00</published><updated>2010-04-17T03:11:10.233-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qOauth'/><category scheme='http://www.blogger.com/atom/ns#' term='Symbian'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><title type='text'>Using HMAC-SHA1 in qOAuth on Symbian</title><content type='html'>In the wake of &lt;a href="http://code.google.com/p/qdou/"&gt;qDou 0.2.5 release&lt;/a&gt;,I am working on Deploying qDou on Sybmain recently,But I am sorry about.........;-( I must admit I am a rookie on Symbian,irrespective Of&amp;nbsp; playing with Symbiam Os phone,or Development on Symbian Os.To take trial instance how scornful I was when using a 3250,I thought that it was just phone with colorful push buttons that can make happy noise and it was just a practical tools for accessing family,friends and business associats (maybe in the future,Because I am an undergraduate still now ).Upon a careful study these days,I learn a lot on&amp;nbsp;Symbian development,really,Or at least&amp;nbsp;To a rookie.When I look back,I just feel funny.So I change my mind.Symbian is Strong.&lt;br /&gt;Back to the topic,becouse qDou release depends on &lt;a href="http://qt-apps.org/content/show.php/QOAuth?content=107420"&gt;qOAuth&lt;/a&gt; and oAuth request using the HMAC-SHA1 signature method.&lt;br /&gt;On the Windows or linux,In order to do that&lt;br /&gt;the following steps are&lt;br /&gt;&lt;em&gt;1. build &lt;/em&gt;&lt;a href="http://www.openssl.org/"&gt;&lt;em&gt;OpenSSL 0.9.6+&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;&lt;br /&gt;&lt;em&gt;2. build &lt;/em&gt;&lt;a href="http://delta.affinix.com/qca/"&gt;&lt;em&gt;qca-2.0.0&lt;/em&gt;&lt;/a&gt;&lt;br /&gt;&lt;em&gt;3. build the&amp;nbsp;&lt;/em&gt;&lt;a href="http://delta.affinix.com/download/qca/2.0/plugins/qca-ossl-2.0.0-beta3.tar.bz2"&gt;&lt;em&gt;qca plugin for OpenSSL&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (the Capabilities of qca-ossl contains HMAC_SHA1)?&lt;/em&gt;&lt;br /&gt;&lt;em&gt;4. build qOAuth&lt;/em&gt;&lt;br /&gt;But on the Symbian,as a result of different platform,you will have a lot of work to do.&lt;br /&gt;even though you achieved,Maybe It doesn't work at last and you will get into trouble when deploy your apps on Symbian.em.........There is a easy way,Look this.&lt;br /&gt;&lt;em&gt;&lt;a href="http://wiki.forum.nokia.com/index.php/How_to_generate_oauth_signature_using_HMAC-SHA1_in_Symbian_C%2B%2B"&gt;How to generate oauth signature using HMAC-SHA1 in Symbian C++&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;Follow These Tips .&lt;br /&gt;we just need to do little stuff&lt;br /&gt;1.add macro Q_OS_SYMBIAN to remove anything about QCA from *.cpp or *.h in qOAuth when Precompiled&lt;br /&gt;2.generating your own random number method to replace the following codes&lt;br /&gt;&lt;pre class="brush:cpp"&gt;QCA::InitializationVector iv( 16 );&lt;br /&gt;QByteArray nonce = iv.toByteArray().toHex();&lt;br /&gt;&lt;/pre&gt;3.add these lines in function:createSignature&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;pre ;?="" class="brush: cpp" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;#ifdnef Q_OS_SYMBIAN&lt;br /&gt;.....&lt;br /&gt;.....&lt;br /&gt;.....&lt;br /&gt;#else &lt;br /&gt;&lt;br /&gt;CSHA1* sha=CSHA1::NewL();&lt;br /&gt;TBuf8&amp;lt;100&amp;gt; keyVal;&lt;br /&gt;keyVal.Copy(_L8(QByteArray(consumerSecret + "&amp;amp;" + tokenSecret).constData()));&lt;br /&gt;CHMAC* hmac=CHMAC::NewL(keyVal,sha);&lt;br /&gt;TBuf8&amp;lt;1024&amp;gt; baseString;&lt;br /&gt;TPtrC8 hashedSig(hmac-&amp;gt;Hash(baseString));&lt;br /&gt;TImCodecB64 b64enc;&lt;br /&gt;b64enc.Initialise();&lt;br /&gt;HBufC8* buf = HBufC8::NewL(hashedSig.Length() * 2);&lt;br /&gt;buf-&amp;gt;Des().Copy(hashedSig);&lt;br /&gt;TBuf8&amp;lt;512&amp;gt; result;&lt;br /&gt;b64enc.Encode(buf-&amp;gt;Des(),result);&lt;br /&gt;result.Copy(result.Left(result.Length()));&lt;br /&gt;if(hmac)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete hmac;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hmac=NULL;&lt;br /&gt;}&lt;br /&gt;digest = QByteArray::fromRawData((char*)result.Ptr(),result.Length());&lt;br /&gt;#endif&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4058/4527226603_b16829165b_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://farm5.static.flickr.com/4058/4527226603_b16829165b_o.jpg" width="299" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;It's&amp;nbsp;very easy right?&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;hope this is useful for thoses like me who want to use qOauth on Symbian&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;see you.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-328827086127257133?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/328827086127257133/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/04/using-hmac-sha1-in-qoauth-on-symbian.html#comment-form' title='6 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/328827086127257133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/328827086127257133'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/04/using-hmac-sha1-in-qoauth-on-symbian.html' title='Using HMAC-SHA1 in qOAuth on Symbian'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-7233889478262646259</id><published>2010-03-30T10:10:00.000-07:00</published><updated>2010-03-30T10:10:06.577-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='QtWebkit'/><title type='text'>Cut Down QtWebkit Library</title><content type='html'>With webkit nightly building(Qtwebkit weekly builds),QtWebkit library's size becomes bigger and bigger，for many of us who use qtwebkit library to code apps,some features of webkit are unnecessary ,such as Html5 support ,JavaScript debugger,WML support,especially SVG.So just remove these feature from webkit and then we can save some rooms when we release our apps.Unlike the entire highly modular of Gecko,Webkit is lightweight renderer that clean code base.That is why google picked webkit rather than gecko as their browser engine.It make our things easy。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Qt version :4.6.0&lt;br /&gt;-platform: win32-msvc2008&lt;br /&gt;Qtwebkit.dll &lt;br /&gt;The initial size of the: 9673k&lt;br /&gt;&lt;br /&gt;Ater cutting down:5963k&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1&lt;/strong&gt;. Edit QTDIR\src\3rdparty\webkit\WebCore\WebCore.pro,add following lines&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_SVG=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;:disenable SVG support&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_RUBY=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable HTML5 ruby support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_VIDEO=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable HTML5 media support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable Nescape plugins support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_VIDEO=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable Web Socket support.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_XSLT=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable XSLT support with QtXmlPatterns&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_CHANNEL_MESSAGING=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :disenable HTML5 channel messaging support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_JAVASCRIPT_DEBUGGER=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :disenable JavaScript debugger/profiler support &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_SQLITE=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable sqlite support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_DATABASE=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;:disenable HTML5 client-side database storage support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_EVENTSOURCE=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;:disenable HTML5 server-sent events support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_OFFLINE_WEB_APPLICATIONS=0&amp;nbsp;&amp;nbsp;:disenable HTML5 offline web&lt;/span&gt; &lt;span style="font-size: x-small;"&gt;applications support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_DOM_STORAGE=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable HTML5 client-side session and persistent storage support &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_ICONDATABASE=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable Icon database support &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_SHARED_WORKERS=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable SharedWorkers support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_WORKERS=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;:disenable workder support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_WML=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable wml&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_XPATH=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable xpath&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_XBL=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:disenable xbl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_ORIENTATION_EVENTS=0 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_DASHBOARD_SUPPORT=0 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_FILTERS=0 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_WCSS=0 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_XHTMLMP=0 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_DATAGRID=0 :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_SINGLE_THREADED=1 :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2.&lt;/strong&gt;when we release our apps,the WebInpector is unuseful for most of people,although it's very convenient for developer.Firstly Remove the following line from WebCore.pro which contains many images for WebInspector compiling.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;RESOURCES += $$PWD/../WebCore/inspector/front-end/WebKit.qrc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then insert these into WebCore.pro&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;DEFINES += ENABLE_INSPECTOR=0&lt;br /&gt;contains(DEFINES, ENABLE_INSPECTOR=) {&lt;br /&gt;SOURCES -= \&lt;br /&gt;inspector/ConsoleMessage.cpp \&lt;br /&gt;inspector/InspectorBackend.cpp \&lt;br /&gt;inspector/InspectorController.cpp \&lt;br /&gt;inspector/InspectorDatabaseResource.cpp \&lt;br /&gt;inspector/InspectorDOMAgent.cpp \&lt;br /&gt;inspector/InspectorDOMStorageResource.cpp \&lt;br /&gt;inspector/InspectorFrontend.cpp \&lt;br /&gt;inspector/InspectorResource.cpp \&lt;br /&gt;inspector/InspectorTimelineAgent.cpp \&lt;br /&gt;inspector/TimelineRecordFactory.cpp \&lt;br /&gt;}&lt;/span&gt; &lt;br /&gt;&lt;strong&gt;Tips:follow steps above and nmake may still cause errors。you just find the .cpp and .h files displayed errors and insert the corresponding macro.It will be ok.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Remember to run QTDIR/demo/browser to test if new QtWebkit4.dll works succesfully.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Hope you can make it.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-7233889478262646259?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/7233889478262646259/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/03/cut-down-qtwebkit-library_30.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/7233889478262646259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/7233889478262646259'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/03/cut-down-qtwebkit-library_30.html' title='Cut Down QtWebkit Library'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-2493023655072159847</id><published>2010-03-11T02:32:00.000-08:00</published><updated>2010-03-11T02:32:10.366-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual'/><category scheme='http://www.blogger.com/atom/ns#' term='text comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Video about visual text comparison</title><content type='html'>After releasing qDou 0.1.2,I think it's time to stop to have a test and prepare to do lots of stuff with &lt;br /&gt;Qt on Webkit.I am looking forward to it for a long time,although qDou is not deployed on Symbian or Maemo yet.But there is a long way to go.&lt;br /&gt;Make a video about visual text comparison&amp;nbsp;while I am Recoding qDou's video.The &lt;a href="http://garywang77.blogspot.com/2009/12/three-amazing-days.html"&gt;demo&lt;/a&gt; takes me 3 days to finish it.Data visual looks like beautiful.The day before yesterday I went to Qt lab Blog and found some interesting things for developer to do some work on Data visual and games.The library is &lt;a href="http://labs.trolltech.com/blogs/"&gt;Box2D&lt;/a&gt;.I believe Box2D + Qt's Graphics View application will be fantastic Visually.&lt;br /&gt;As matter of visual text comparison ,I suppose that there are a lot of room to imporve.Till now It can be only used on English word segment.Maybe in the future It can support other language such as Chinese and add some new features.......&lt;br /&gt;Time Flys.Go ahead and do what you like.See you.&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZETxDTcNryM&amp;hl=zh_CN&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZETxDTcNryM&amp;hl=zh_CN&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-2493023655072159847?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/2493023655072159847/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/03/video-about-visual-text-comparison.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2493023655072159847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2493023655072159847'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/03/video-about-visual-text-comparison.html' title='Video about visual text comparison'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-5045585442070857739</id><published>2010-03-08T02:12:00.000-08:00</published><updated>2010-03-08T02:12:13.801-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><title type='text'>qDou 0.1.2 Released</title><content type='html'>&lt;a href="http://www.blogger.com/"&gt;&lt;/a&gt;&lt;span id="goog_1268042981669"&gt;&lt;/span&gt;&lt;span id="goog_1268042981670"&gt;&lt;/span&gt;after one week ,I update qDou'source and Released &lt;a href="http://qdou.googlecode.com/files/qDou%200.1.2-setup.exe"&gt;qDou 0.1.2&lt;/a&gt;. &lt;br /&gt;qDou 0.1.2 provide some bug fixes,optimization and new features which you can view comments about &lt;br /&gt;movie,music or book and even publish your comments about your favourite.&lt;br /&gt;More info about &lt;a href="http://www.douban.com/note/62592340/"&gt;qDou 0.1.2&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-5045585442070857739?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/5045585442070857739/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/03/qdou-012-released.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5045585442070857739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5045585442070857739'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/03/qdou-012-released.html' title='qDou 0.1.2 Released'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-1153660100287839142</id><published>2010-03-03T11:21:00.000-08:00</published><updated>2010-03-03T11:21:55.662-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><title type='text'>qDou 0.1.0 Released</title><content type='html'>I can't wait to say that qDou 0.1.0 is Released.You can download &lt;a href="http://qdou.googlecode.com/files/qDou%200.1.0-setup.exe"&gt;here&lt;/a&gt;. With powerful GraphicsView and smooth, beauty of Qml,qDou would't let you down.Before first time you play with qDou,you need to register douban's accout and apply for an APIKEY.More Information,you can find &lt;a href="http://code.google.com/p/qdou/"&gt;here&lt;/a&gt;.Please test and give feedback to me in the &lt;a href="http://www.douban.com/note/61362937/"&gt;gruop&lt;/a&gt;.&lt;br /&gt;By the way,I will talk about Deploying an application on Windows,especially your app with plugins.&lt;br /&gt;First of all,you can follow the step By the &lt;a href="http://doc.trolltech.com/4.6/deployment-windows.html"&gt;document&lt;/a&gt;.Two easy ways to make plugins work out.you can choose anyone of them below . &lt;br /&gt;1.put document named plugins which contains all you need plugins for you app in your applicationDirPath and In main.cpp you add a custom path using QApplication::addLibraryPath like this: &lt;br /&gt;qApp-&amp;gt;addLibraryPath(qApp-&amp;gt;applicationDirPath()+"./plugins");&lt;br /&gt;2.Using qt.conf&lt;br /&gt;After you deploy your app on Windows with&amp;nbsp;these&amp;nbsp;methods above and your app still failed with loading plugins,It's not your fault.What you need is &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE"&gt;vcredist_x86.exe&lt;/a&gt;.Install it and the problems would be solved.In fact,Qt document refer to the point.&lt;br /&gt;here is the video about qDou ,enjoy.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-R9xVWpapdk&amp;hl=zh_CN&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-R9xVWpapdk&amp;hl=zh_CN&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-1153660100287839142?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/1153660100287839142/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/03/qdou-010-released.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1153660100287839142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1153660100287839142'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/03/qdou-010-released.html' title='qDou 0.1.0 Released'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-8159673390053317588</id><published>2010-02-18T00:04:00.000-08:00</published><updated>2010-02-18T00:04:08.145-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><title type='text'>QDou is not far away</title><content type='html'>Happy chinese new year.For my part,There is one more important thing I can tell you: what tedious days of study ,thought ,practice,experience ,went to the equipment of I who was able to impose upon all of you that QDou is not far away.&lt;br /&gt;Meanwhile,I decided to buy N900 for testing.I can't wait to release QDou,But there is some small problems to consider them.Just give me sometime. :-) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;photoview of QDou&lt;/em&gt; &lt;br /&gt;&lt;a href="http://farm5.static.flickr.com/4033/4366774507_6d186db999_o.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ct="true" src="http://farm5.static.flickr.com/4033/4366774507_6d186db999_o.png" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-8159673390053317588?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/8159673390053317588/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/02/qdou-is-not-far-away.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/8159673390053317588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/8159673390053317588'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/02/qdou-is-not-far-away.html' title='QDou is not far away'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-2737097831502758986</id><published>2010-01-28T08:18:00.000-08:00</published><updated>2010-01-28T08:18:13.140-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Symbian'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><title type='text'>When Qt for Window meets Qt for Symbian</title><content type='html'>Today,I install Qt libraries for Symbian&amp;nbsp;again in&amp;nbsp;my&amp;nbsp;computer which has been installed Qt libraries for Windows.Of course,the version(4.6.1) is higher than last time. It reminds me of trouble that happened in the previous time.I just remember it’s a summer of last year.The situation is that every time I build the Symbian apps,the compiler displays a error that can't find bld.inf&amp;nbsp; and *.mmp&amp;nbsp;.I google it and ask many people how to solve the problem.Later I find that the reason why miss there two important files is that compiler does not generate them.And How to.I didn’t know.So last time,I failed.But today,I make it.Look &lt;a href="http://labs.trolltech.com/forums/topic/298"&gt;here&lt;/a&gt;,If the environment variable QMAKESPEC sets symbian-abld.It will be ok.It turns out that Qt for Symbian use symbian-abld not the value I set for&amp;nbsp;Qt libraries for windows.&lt;br /&gt;Like aamer4yu says:&lt;br /&gt;"I dont know if you will read this post.. but just wanted to thank you a lot.. a ton of thanks..&lt;br /&gt;I was not able to build qt projects for symbian...and was searching for a solution for almost a month"&lt;br /&gt;A month to aamer4yu,half a year for me.&lt;br /&gt;Why am I interested in Qt for Symbian suddenly?&lt;br /&gt;The answer is QDou. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-2737097831502758986?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/2737097831502758986/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/01/when-qt-for-window-meets-qt-for-symbian.html#comment-form' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2737097831502758986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/2737097831502758986'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/01/when-qt-for-window-meets-qt-for-symbian.html' title='When Qt for Window meets Qt for Symbian'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-5772892525642976484</id><published>2010-01-23T04:07:00.000-08:00</published><updated>2010-08-31T00:44:42.064-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qml'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><category scheme='http://www.blogger.com/atom/ns#' term='ATB'/><title type='text'>QDou is on the way</title><content type='html'>I am home for about 1 month, after home, I am going to finish my graduate design: Qdou(Douban client on Symbian).This time I will use Declarative UI to finish it.With this Computer language,you can build the animation rich, fluid user interfaces,such as iphone.But........I am familiar with Qt rather than ECMAScript(QML is an extension to ECMAScript,So is javascript).at the beginning,It's a little difficult for me.Fortunately, there is a document about QML provided by Qt.after viewing document,you will find gradually that it's more convenient in some respects,like automatic property bindings and network transparency.This is what I need.Just like qt engineer says,even if you do not know how to use Qt, you can also program a pretty apps with Qml.Of course,qt would not let us down on extending.Because QML is fully extensible from C++.It's absolutely fantastic property for me. I have completed coding parts of qDou on the pc.From now on,maybe I will speed up.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; seach ATB's album&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trilogy(detail)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm5.static.flickr.com/4004/4297468418_1ac3d0b08e_o.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" mt="true" src="http://farm5.static.flickr.com/4004/4297468418_1ac3d0b08e_o.png" /&gt;&lt;/a&gt;&lt;a href="http://farm5.static.flickr.com/4049/4296772803_0c3829b812_o.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" mt="true" src="http://farm5.static.flickr.com/4049/4296772803_0c3829b812_o.png" width="229" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-5772892525642976484?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/5772892525642976484/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/01/qdou-is-on-way.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5772892525642976484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5772892525642976484'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/01/qdou-is-on-way.html' title='QDou is on the way'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-5499876068801704461</id><published>2010-01-11T08:42:00.000-08:00</published><updated>2010-01-11T08:42:04.367-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aharef'/><category scheme='http://www.blogger.com/atom/ns#' term='tag'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Html view With New QWebElement In Qt 4.6</title><content type='html'>Take a rest and I look at the "&lt;a href="http://doc.trolltech.com/4.6/qt4-6-intro.html"&gt;What's New in Qt 4.6"in"Qt Reference Documentation&lt;/a&gt;" &lt;br /&gt;and find a new class QWebElement.I feel html view can use a another way to generate the tag node.&lt;br /&gt;Four months age, I make it with QtNetwork and html parser (with QtNetwork to Get page source and Html parser to parse It),I need to code a Html parser because of&amp;nbsp;&amp;nbsp;no Qwebelement that Time.In this way,Although fast, Coding a html parser is not easy.&lt;br /&gt;And Now, Using QWebElement in Webkit, It's very convenient, although Getting Page source with Qtwebkit will spend longer, it's easier.Just for fun.&lt;br /&gt;the source&amp;nbsp;of&amp;nbsp; html view is &lt;a href="http://qt-apps.org/content/show.php/html+view?content=118261&amp;amp;PHPSESSID=ce14b19821409868ce5d405e1756a113"&gt;Here&lt;/a&gt;.&lt;br /&gt;By the way,QDou is on the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-5499876068801704461?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/5499876068801704461/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/01/html-view-with-new-qwebelement-in-qt-46.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5499876068801704461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5499876068801704461'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/01/html-view-with-new-qwebelement-in-qt-46.html' title='Html view With New QWebElement In Qt 4.6'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-25318397044017622</id><published>2010-01-05T02:24:00.000-08:00</published><updated>2010-01-05T02:27:13.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aharef'/><category scheme='http://www.blogger.com/atom/ns#' term='tag'/><category scheme='http://www.blogger.com/atom/ns#' term='Qdou'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Video about Html view</title><content type='html'>I'm home for graduate design Now. Initially, I choosen a&amp;nbsp;subject on the search engines, but later I&amp;nbsp;found that the subject has&amp;nbsp;been already selected by another student, and accidentally I&amp;nbsp;discovered a cell phone related. At this time, Qt 4.6 just released. The next generation of control: &lt;a href="http://labs.trolltech.com/blogs/2009/05/13/qt-declarative-ui/"&gt;Declarative UI&lt;/a&gt; can be used&amp;nbsp;on the phone. The subject is "douban mobile phone client",&amp;nbsp; &lt;a href="http://www.douban.com/"&gt;douban&lt;/a&gt; is a Chinese social network site, you can learn about a lot of books, movies, music, or the latest activities in your city. Of course, you can make friends, write diary. surprised.I named&amp;nbsp;my client&amp;nbsp;as "QDou",I think I can take advantage of opportunity to buy a new phone.Maybe 5800 or N97 because of&amp;nbsp; them for s60v5.&lt;br /&gt;Take a short break and recorded a video&amp;nbsp;about the html view,enjoy.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UKIDIrAbDME&amp;hl=zh_CN&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UKIDIrAbDME&amp;hl=zh_CN&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-25318397044017622?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/25318397044017622/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2010/01/video-about-html-view.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/25318397044017622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/25318397044017622'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2010/01/video-about-html-view.html' title='Video about Html view'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-6778813712071405176</id><published>2009-12-14T08:03:00.000-08:00</published><updated>2009-12-14T08:03:24.326-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual'/><category scheme='http://www.blogger.com/atom/ns#' term='tag'/><category scheme='http://www.blogger.com/atom/ns#' term='node'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>After Optimizing Htmlview</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Today,I have optimized Htmlview&amp;nbsp;because of&amp;nbsp; one bug of Html-parser that&amp;nbsp;takes me long time to find it!!&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;The reason why the function did't work when I&amp;nbsp;use&amp;nbsp;Htmlview on a webpage,especially&amp;nbsp;one page&amp;nbsp;that contain more than 2000 tags&amp;nbsp;because the results of parser gets contain a few tags in script tag(web Developers&amp;nbsp;can use&amp;nbsp; regular expression or other expression to help them to deal with web page).So just take&amp;nbsp;these tags from script tag.and It's Ok.Cool.&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;the related blogs you can find &lt;a href="http://garywang77.blogspot.com/2009/11/wvisual-search-section-three.html"&gt;here&lt;/a&gt;,take a screennap.Just for jun,It's really really beautiful because&amp;nbsp;each node is generated dynamically.The project integrate physics engine,so it will produce realistic animations.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm3.static.flickr.com/2678/4184394443_07661ec4d6_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" rs="true" src="http://farm3.static.flickr.com/2678/4184394443_07661ec4d6_o.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-6778813712071405176?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/6778813712071405176/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/12/after-optimizing-htmlview.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/6778813712071405176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/6778813712071405176'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/12/after-optimizing-htmlview.html' title='After Optimizing Htmlview'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-1506608885016512271</id><published>2009-12-11T09:19:00.000-08:00</published><updated>2009-12-11T09:21:24.690-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual'/><category scheme='http://www.blogger.com/atom/ns#' term='node'/><category scheme='http://www.blogger.com/atom/ns#' term='text comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><title type='text'>Three Amazing Days</title><content type='html'>I was worried about my dissertation several days ago and I&amp;nbsp;was concerned about&amp;nbsp;data visualization&amp;nbsp;area.So I wanted to do my dissertation&amp;nbsp;in this area.Because I visited this site:&lt;a href="http://infosthetics.com/"&gt;information aesthetics&lt;/a&gt;&amp;nbsp;usually , I have been inspired by this &lt;a href="http://blog.blprnt.com/blog/blprnt/tokyo-cairo-comparing-obamas-foreign-policy-speeches"&gt;Tokyo Cairo: Comparing Obama’s Foreign Policy Speeches&lt;/a&gt;&lt;br /&gt;The&amp;nbsp;author of this software build it with &lt;a href="http://www.processing.org/"&gt;process v1.0&lt;/a&gt;,and I wrote this&amp;nbsp;software with Qt.To My surprise,I just spend 3 days to achieve my embryonic work.I can't believe it .Maybe I will take visual text comparison as my dissertation.Of course,It looks like simple and I will spend much time to make this tool stronger,And here is a&amp;nbsp;screenshot of My orginal work .At the same time,I will apperiate the inspiration &lt;a href="http://blog.blprnt.com/"&gt;blprnt&lt;/a&gt; gave me,Thank you.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/gary_wang77/4176934602/" style="margin-left: 1em; margin-right: 1em;" title="visual text comparison tool by Gary.W77, on Flickr"&gt;&lt;img alt="visual text comparison tool" src="http://farm5.static.flickr.com/4047/4176934602_0bb0246dfa.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;the result of two text comparison &lt;br /&gt;&lt;/div&gt;the two text&amp;nbsp;is selected from two different sections of&amp;nbsp; &lt;a href="http://www.imdb.com/title/tt0114369/"&gt;Seven sins&lt;/a&gt; (the reason I chosen this Movie beause of spectacular performance of &lt;a href="http://www.imdb.com/name/nm0000228/"&gt;Kevin Spacey&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-1506608885016512271?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/1506608885016512271/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/12/three-amazing-days.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1506608885016512271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1506608885016512271'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/12/three-amazing-days.html' title='Three Amazing Days'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4047/4176934602_0bb0246dfa_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-9032165300384821925</id><published>2009-11-11T10:40:00.000-08:00</published><updated>2009-11-11T10:58:50.256-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google Map'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Wvisual Search'/><title type='text'>WVisual Search Section Four</title><content type='html'>&lt;span style="font-size:85%;"&gt;今天来说说，关于google map的一个小把戏，先给图&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 500px; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 350px" height="350" alt="Wvisual Search -- html view (2)" src="http://farm3.static.flickr.com/2681/4091665273_82ed44070f.jpg" width="500" /&gt;&lt;/p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;目的就是在拖动google map的时候，可以自动更新中心点的准确位置，当地的天气情况和显示位置的最新资讯，这就是QtWebkit+Google Map v3+Google Weather+Google News的一个小应用。主要使用到了Qtwebkit网页和本地的一个混编，有了Qt网页和本地软件的界限都比较模糊了，现在又出来了&lt;a href="http://labs.trolltech.com/blogs/2009/09/18/qt-in-the-cloud-with-qwebclient"&gt;QtwebClient&lt;/a&gt;()，再给一个web app的&lt;a href="http://labs.trolltech.com/blogs/wp-content/uploads/2009/11/demo.html"&gt;demo&lt;/a&gt;，机制大家可以看这里，类似于一个java的applet。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;先说说实现的过程，初始化Google Map，当然最好有一个本地的Google Map的html本地文件，每次载入更好。在html本地文件中，增加Map的监听事件&lt;br /&gt;google.maps.event.addListenner(map,"center_Changed",centerChanged);&lt;br /&gt;设置一个定时器，每过一段时间去检测一次，如果现在的中心点发生了改变，那么就去解析当前的地址&lt;br /&gt;geocoder.geocode({'latLng':map.get_center()},getAddressName);&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;地理信息解析到了之后，会自动触发getAddressNamegetAddressNmae传得是一个函数指针(我是这样认为的)&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;function getAddressName(results,status)&lt;br /&gt;{&lt;br /&gt;       addresssresult = results; //addressres是我的一个全局变量&lt;br /&gt;       if(status ==google.maps.GeocoderStatus.OK)&lt;br /&gt;       {&lt;br /&gt;              if(status !=google.maps.GeocoderStatus.ZERO_RESULTS)&lt;br /&gt;              {&lt;br /&gt;                     var c =address[0].formatted_address;&lt;br /&gt;                     mapNews.getCityName(c);&lt;br /&gt;              }&lt;br /&gt;              else&lt;br /&gt;              {&lt;br /&gt;                     mapNews.findFailed(); &lt;br /&gt;              }    &lt;br /&gt;       }&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;这里的mapNews是我用webkit的在html中增加的一个我的对象，具体做法连接&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;connect(frame,SIGNAL(javaScriptWindowObjectCleared),this,SLOT(attachObject));&lt;br /&gt;void QMapNews::attachObject()&lt;br /&gt;{&lt;br /&gt;       page()-&gt;mainFrame()-&gt;addToJavaScriptWindowObject("mapNews",this);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;现在可能你就恍然大悟了 :-)&lt;br /&gt;在我们的本地getCityName之后，对地址进行解析，然后到Google News进行爬取，网址是&lt;br /&gt;&lt;a href="http://news.google.cn/news?hl=zh-CN&amp;amp;ie=UTF-8&amp;amp;q=YourAddress"&gt;http://news.google.cn/news?hl=zh-CN&amp;amp;ie=UTF-8&amp;amp;q=YourAddress&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:85%;"&gt;用js做一下处理,&lt;br /&gt;至于天气大致相同，下面是你得到具体位置之后得到该地区天气数据的地址&lt;br /&gt;&lt;a href="http://www.google.com/ig/api?hl=zh-cn&amp;amp;weather=,,,%1,%2"&gt;http://www.google.com/ig/api?hl=zh-cn&amp;amp;weather=,,,%1,%2&lt;/a&gt;&lt;br /&gt;%1 %2用该地址的纬度和经度代替，可以在html中使用&lt;br /&gt;var lat =map.get_center().lat();&lt;br /&gt;vat lng =map.get_center().lng();&lt;br /&gt;得到&lt;br /&gt;只不过你访问的时候，Google Weather会返回给你的是一个xml，用QXmlStreamReader进行一下，处理就OK了。&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-9032165300384821925?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/9032165300384821925/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/11/wvisual-search-section-four.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/9032165300384821925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/9032165300384821925'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/11/wvisual-search-section-four.html' title='WVisual Search Section Four'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2681/4091665273_82ed44070f_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-1016262905483574903</id><published>2009-11-04T09:15:00.000-08:00</published><updated>2009-11-04T09:33:53.878-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aharef'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='Wvisual Search'/><title type='text'>WVisual Search Section Three</title><content type='html'>&lt;span style="font-size:85%;"&gt;今天，我要展示一下，所谓的Html view，&lt;/span&gt;&lt;br /&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid" height="311" alt="Wvisual Search---Four Function" src="http://farm4.static.flickr.com/3525/4075663706_2959b3ccc8_o.jpg" width="254" /&gt;&lt;a href="http://1.bp.blogspot.com/_1_DGmgjApdY/SvG6oeI8bSI/AAAAAAAAACE/Hw-CnT3XuJw/s1600-h/112.jpg"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;其实在我的第一篇blog中&lt;/span&gt;&lt;a href="http://garywang77.blogspot.com/2009/09/aharef-htmlqt.html"&gt;&lt;span style="font-size:85%;"&gt;aharef: html标签可视化的qt实现过程&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; ，已经谈到了实现的过程，但是不经意间在网上搜到了这篇文章&lt;/span&gt;&lt;a href="http://www.we-need-money-not-art.com/archives/930"&gt;&lt;span style="font-size:85%;"&gt;Websites as GraphsWe need money not art&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;，Markavian开发出了一个remix版本，用户可以对其中的每个点hoverEnter或者hoverleave的时候，会显示标签的内容.&lt;br /&gt;&lt;a title="mkv_html graph by Gary.W77, on Flickr" href="http://www.flickr.com/photos/gary_wang77/4070965131/"&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid" height="450" alt="mkv_html graph" src="http://farm3.static.flickr.com/2453/4070965131_812e8ee3fc_o.jpg" width="449" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我现在的目标跟他相似，只不过我显示的是具体的标签，而不是标签中所以的内容，因为如果现实标签所有的内容的话，这样UI可能会有很大困难，而且我看了一下，如果打开那个applet的话，CPU就50%了，不管生成是否结束，或者网页节点为100个或者2000个，而且我的链接可以点击，并且用默认浏览器打开，实现很简单.......，有了前一篇文章，只需要简单的剔除tag和它的attribute，然后再paintevent画一下，就OK了，不仅可以拖拽节点，cpu也很稳定，这个功能重新增强了之后，已经加入到Wvisual Search中了............have Fun &lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a title="Wvisual Search -- html view (2) by Gary.W77, on Flickr" href="http://www.flickr.com/photos/gary_wang77/4071728864/"&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid" height="348" alt="Wvisual Search -- html view (2)" src="http://farm4.static.flickr.com/3506/4071728864_6a650f3d1c_o.jpg" width="574" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-1016262905483574903?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/1016262905483574903/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/11/wvisual-search-section-three.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1016262905483574903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/1016262905483574903'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/11/wvisual-search-section-three.html' title='WVisual Search Section Three'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-3490013765388235686</id><published>2009-10-02T04:57:00.000-07:00</published><updated>2009-10-31T21:49:27.888-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='searchme'/><category scheme='http://www.blogger.com/atom/ns#' term='visual search'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Thank to SearchMe</title><content type='html'>&lt;div align="left"&gt;&lt;span style="font-size:85%;"&gt;今天在完善我的可视化搜索Wvisual Search的时候，搜索到一篇很好的文章&lt;br /&gt;http://paranimage.com/magic-number-of-100-visualization-technology-application/，从上面了解到很多前沿的可视化应用，将其中一些经典的加入到我的Wvisual，其中&lt;br /&gt;ttp://www.aharef.info/2006/05/websites_as_graphs.htm,就是其中的一部.这里主要说回到Searchme。其实我最早写Wvisual Search的时候，主要的灵感来源就是Searchme，记得我第一次知道Searchme是在csdn上，当时评选当年最新的10大技术，Searchme榜上有名，第一次进入Searchme的时候，真的是眼前一亮，当时的第一感觉就是华丽的Picture Flow，接着就是一些新奇的可视化技术，关键字定位，内嵌音乐视频播放，放大镜功能,垂直搜索…..(searchme在UI上实现的，我都用Qt在Wvisual Seachme中实现,下一篇我会介绍我的它)，虽然searchme不支持中文搜索，但是我还是从Searchme上学到了很多，最重要的一点就是:做创新性的事情，然后从技术上去实现它。再在后面，我大肆在我的朋友圈子中鼓吹Seachme,Searchme也确实在一段时间内取得了相当不错业绩(当然，我有亿万分之一的功劳,),没记错的话，searchme当时的google PR值应该为7，从大概在6月份的时候，如果你输入www.searchme.com的话，那么浏览器会自动跳转到google，原因:在4月份的时候，searchme在首页推出广告业务之后，流量急剧下降，然后又缺少5100w的风投，”一夜之间”当初被喻为”google 杀手”的Searchme就只有这样无奈的”倒下”,转向了TV，还真有点黑色幽默。其实在稍早的时候，iphone等一些手机都嵌入了searchme的可视化搜索&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a title="Embeded----Searchme by Gary.W77, on Flickr" href="http://www.flickr.com/photos/gary_wang77/3914516789/"&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid" height="243" alt="Embeded----Searchme" src="http://farm3.static.flickr.com/2449/3914516789_173aa237fd.jpg" width="500" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Firefox IE也都可以嵌入插件，很难想象一个表面上无限风光的新技术在一个策略上的改变，带来的是2个月后的下线。 (Searchme 最后的 Picture Flow画面，好像还做了些改变，有了图片的远近拉伸，但是现在是什么画面都显示不出来了).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="The Last Picture of Searchme by Gary.W77, on Flickr" href="http://www.flickr.com/photos/gary_wang77/4063164666/"&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid; TEXT-ALIGN: center" height="245" alt="The Last Picture of Searchme" src="http://farm3.static.flickr.com/2630/4063164666_4ee6411fab.jpg" width="500" align="text-center" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Searchme UI的3种显示方式&lt;/strong&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3452/3914516939_fef1fee996_o.jpg"&gt;&lt;img style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 5px; MARGIN: 0pt 10px 10px 0pt; BORDER-LEFT: #cccccc 1px solid; WIDTH: 378px; CURSOR: pointer; PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 932px" alt="" src="http://farm4.static.flickr.com/3452/3914516939_fef1fee996_o.jpg" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;1. 网络原因，在当下的网络状况下，特别是在中国当前的网络状况下(当然还有GFW)，实现可视化难度大，作为运营方后台强大服务器的支撑，大型的架构，文本存取和图片存取,怎样在UI和数据传输上找到平滑点,系统资源的占有。作为用户,我当时访问Searchme的时候，搜索条目多几次的话，那么Searchme主界面就会出现stackflow，，虽然说PictureFlow很华丽，但是我们不难想象一下，也有这样的可能，假如有好事者，搜索了之后，就拖动一直下拉的话，再快的网络条件我想也无法满足，而且现在象可视化为了在UI达到华丽的效果，一般会用到flash，你翻页过快的话，看看你的CPU使用率,想象一下，如果是google或者baidu，点下一页，就OK 了。一旦速度上得不到满足的话，他们只需在地址栏上输入个g.cn或者baidu就解决问题了,而不是等待你去解决服务器的问题，或者自己去删除IE中的历史记录.&lt;br /&gt;2. 信息响应上的速度和信息采集上的完整性，试想一下，如果你是一名开发人员，你会选用google还是Searchme，99%的用户会选择google，为什么？原因很简单，前面提到过，1.速度，开发人员需要的是快速找到解决问题的办法，在他们看来速度是一切制胜的根本，他们不会等待一个图片载入超过5秒，5秒钟他们已经足够在地址栏输入g.cn了。&lt;br /&gt;特别像是中国的程序员，做事情一般都比较急，他们是没有时间去等待你去响应的，还有就是信息采集上的完整性，比如你一段代码出现了错误，并且网上有N多人出现了这样的错误，他们或是在自己的blog上或则bbs上发表自己的观点，或者转载，但是其实这样的解决方式基本上都是大同小异，并且说基本上在content上一致的(转载&gt;=copy),难道要为这样的关于一个网页的采集”重复”20-30(网页快照),而且这样的快照页面除了最重要的content是一样的，其他都不一样（但是这些对用户没有一点用的东西。有人说可视化搜索注重的是用户的体验，这样的体验主要是在界面上，带来的是”娱乐”的元素。所有说可视化的主旨是New and Different,而传统的搜索却是Fast and Accurate。&lt;br /&gt;3 资金上，说到底Searchme下线，策略的失败上主要是没有找到盈利点,投入和收入不成比例，导致最后仍然需要大量的资金注入才能正常运营，的确是这样的，这让我想起了中国的视频网站,youku tudou,ku6……这些看似表面红火的网站不断的增加带宽和服务器带来的是中国视频网站的恶性竞争，谁都知道他们在烧钱，每年投入几千万，看谁有钱，谁能坚持到最后，谁坚持到最后，谁就是这个行业当之无愧的”王者”,其实这样玩下去，受伤的是大家，你就是坐成了最后一把交椅,请问你在几年能收回成本呢？也许Searchme广告业务开展过慢，或者说进军手机搜索业务过迟，但是现在说都于事无补了。现在这个空白应该靠谁来填补呢？&lt;/span&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-3490013765388235686?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/3490013765388235686/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/10/thank-to-searchme.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3490013765388235686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/3490013765388235686'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/10/thank-to-searchme.html' title='Thank to SearchMe'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2449/3914516789_173aa237fd_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-5388496993404258856</id><published>2009-09-15T03:36:00.000-07:00</published><updated>2009-10-31T21:05:05.619-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pages'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='Wiki Growth'/><title type='text'>Webpage 增长的可视化</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;p align="center"&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dCLc6oB3Q3o&amp;amp;hl=zh_CN&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/dCLc6oB3Q3o&amp;amp;hl=zh_CN&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;关于&lt;/span&gt;&lt;a href="http://wiki.tudelft.nl/"&gt;&lt;span style="font-size:85%;"&gt;wiki.tudelft.nl&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; page的增长可视化，这个概念是从2004年底开始的，可以从这里&lt;a href="http://wiki.tudelft.nl/bin/view/Main/WikiGrowthOverTime"&gt;Wiki Growth Over Time&lt;/a&gt;了解到，跟前一篇在可视化上看起来是一致的，但是在核心却有着千差万别，它是基于的是整个网络每个Node是一个web page的，Edge是hyperlink，表示了这个web page的网页流向，而前一篇Node是一个一个的tags，Edge是连接Children的生成关系。一个网页虽说是动态的，但是tag最多也不会超过3000个(个人估计,看&lt;/span&gt;&lt;span style="font-size:85%;"&gt;sports &lt;/span&gt;&lt;span style="font-size:85%;"&gt;sina 全部节点，不去掉js和plugins的话，有2200个左右),但是Wiki Growth却不同了，它会一直生成下去，可见wiki在这短短时间内是怎样壮大了的吧,有点象一个细菌的繁殖，还有从视频中，可以了解到节点生成的动向(Force-Directed )。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-5388496993404258856?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/5388496993404258856/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/09/webpage.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5388496993404258856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/5388496993404258856'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/09/webpage.html' title='Webpage 增长的可视化'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161665574104864247.post-7824920754333383428</id><published>2009-09-09T20:26:00.000-07:00</published><updated>2009-10-23T09:29:55.007-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aharef'/><category scheme='http://www.blogger.com/atom/ns#' term='tag'/><category scheme='http://www.blogger.com/atom/ns#' term='node'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>aharef: html标签可视化的qt实现过程</title><content type='html'>&lt;a href="http://www.aharef.info/2006/05/websites_as_graphs.htm"&gt;&lt;span style="font-size:85%;"&gt;aharef&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;:是一个动态生成网页标签元素的网站，是由stanford university的学生写出来的，里面涉及到&lt;/span&gt;&lt;a href="http://www.processing.org/"&gt;&lt;span style="font-size:85%;"&gt;Processing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://www.cs.princeton.edu/~traer/physics/"&gt;&lt;span style="font-size:85%;"&gt;Traer Physics&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://htmlparser.sourceforge.net/"&gt;&lt;span style="font-size:85%;"&gt;HTMLParser&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Processing 的中文资料: &lt;/span&gt;&lt;a href="http://www.douban.com/group/topic/3637024/"&gt;&lt;span style="font-size:85%;"&gt;http://www.douban.com/group/topic/3637024/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;但是这些都是由java写成的，是生成的时候是也是调用applet来实现的。现在我要用qt实现上述功能。先给一张afaref上google的tag的生成图片&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a title="未标题-3 by Gary.W77, on Flickr" href="http://www.flickr.com/photos/gary_wang77/4034641042/"&gt;&lt;img height="361" alt="未标题-3" src="http://farm3.static.flickr.com/2519/4034641042_78b99e5f31_o.jpg" width="362" border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;然后对比一下，主要一个优点(也可以说瓶颈的地方就是)，我实现了粒子的拖拽，但是因为要遍历所有点与对其的作用力(大量的运算，因为如果其中一个点发生运动的话，想想看，如果是root tag:的话,那里对于上1000个节点来说，terrible)，所以，相对google来说，还好一点，但是对于节点超过了1000个点左右的话，我的机子风扇就开始轰鸣了(我的笔记本是最老的双核 :-( )。但是没有办法，如果减少节点的话，那么对网站tag的准确性就存在问题，这对于一个真实存在的html文档来说，是不公平的，对用户来说也是不公平的，因为你的节点树实际上是有错误的。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;再看看用qt实现的结果:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a title="未标题-5 by Gary.W77, on Flickr" href="http://www.flickr.com/photos/gary_wang77/4033887587/"&gt;&lt;img height="458" alt="未标题-5" src="http://farm3.static.flickr.com/2703/4033887587_5ba485b477_o.jpg" width="725"  border="0" style="border: solid #cccccc 1px; padding: 5px;"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;参考了elastic nodes里面的源码，其中计算压力的函数，很经典，用向量来表示受力情况，实现机制大致是这样的: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;1.html Parse 得到网页中所有的tagName放进一个Vector&lt;qstring&gt; vectag;&lt;/qstring&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;2.利用QXmlStreamWriter将vectag里面的内容写入到一个xml文件中，为得是后面动态生成的时候广度优先,这里要判断是否是前缀 后缀或者比如img、 embed(引文通常写法没有后缀结束符)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;递归生成节点，广度&lt;br /&gt;ParseXml(const QDomNode &amp;amp; domnode,Node* centerNode)&lt;br /&gt;这里将生产的Node要放入QQueue&lt;node&gt; 以便，下次遍历时取出作为父节点&lt;br /&gt;&lt;br /&gt;struct strNode&lt;br /&gt;{&lt;br /&gt;Node* m_center; //父节点指针&lt;br /&gt;Node* m_tag; //this&lt;br /&gt;} m_nodeline;&lt;br /&gt;&lt;br /&gt;然后是定时器，每0.1s动态生成一个&lt;br /&gt;&lt;br /&gt;m_Mutex.lock();&lt;br /&gt;strNode strnode = m_nodeline.dequeue();&lt;br /&gt;m_Mutex.unlock();&lt;br /&gt;&lt;span style="COLOR: rgb(255,0,0)"&gt;Edge *edge = new Edge(strnode.m_center,strnode.m_tag)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;myscene-&gt;addItem(strnode.m_tag);&lt;br /&gt;myscene-&gt;addItem(edge);&lt;br /&gt;&lt;br /&gt;currentpoint.setX(strnode.m_center-&gt;pos().x()+Radius*(cos(TwoPi*(1.0/6.0*(i%6)))));&lt;br /&gt;currentpoint.setY(strnode.m_center-&gt;pos().y()+Radius*(sin(TwoPi*(1.0/6.0*(i%6)))));&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(51,255,51)"&gt;strnode.m_tag-&gt;setPos(currentpoint+QPointF(0.1,0.1))&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;//关键代码是从红色标记的地方开始的，因为真正的受力分析是从生成动态生成new Edge开始的，&lt;br /&gt;因为，这也是代码有点"混乱"的地方&lt;br /&gt;new Edge(strnode.m_center,strnode.m_tag)&lt;br /&gt;&lt;br /&gt;edge.cpp......&lt;br /&gt;&lt;br /&gt;strnode.m_center-&gt;addEdge(this);&lt;br /&gt;strnode.m_tag-&gt;addEdge(this);&lt;br /&gt;&lt;br /&gt;node.cpp&lt;br /&gt;edgeList&lt;&lt;edge;&gt;adjust() 调整线段的长度位置( QLineF line(mapFromItem(source, 0, 0), mapFromItem(dest, 0, 0);)&lt;br /&gt;&lt;br /&gt;压力计算触发是在绿色标记开始的&lt;br /&gt;当setpos()之后，QGraphicsItem的virtual protected函数&lt;br /&gt;QVariant Node::itemChange(GraphicsItemChange change, const QVariant &amp;amp;value)&lt;br /&gt;{&lt;br /&gt;switch (change) {&lt;br /&gt;case ItemPositionHasChanged:&lt;br /&gt;foreach (Edge *edge, edgeList)&lt;br /&gt;edge-&gt;adjust();&lt;br /&gt;graph-&gt;itemMoved();&lt;br /&gt;break;&lt;br /&gt;default:&lt;br /&gt;break;&lt;br /&gt;};&lt;br /&gt;return QGraphicsItem::itemChange(change, value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;然后先求与之相连接的所有线段，调整一下长度和位置，然后graph-&gt;itemMoved()会触发计算器&lt;br /&gt;//算node移动的位置的时候，启动一个定时器&lt;br /&gt;void GraphWidget::itemMoved()&lt;br /&gt;{&lt;br /&gt;//40ms来更新位置&lt;br /&gt;if (!timerId)&lt;br /&gt;timerId = startTimer(1000 / 20);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//TimeEvent来更新位置&lt;br /&gt;void GraphWidget::timerEvent(QTimerEvent *event)&lt;br /&gt;{&lt;br /&gt;Q_UNUSED(event);&lt;br /&gt;//遍历屏幕的所有Node&lt;br /&gt;QList&lt;node&gt; nodes;&lt;br /&gt;foreach (QGraphicsItem *item, scene()-&gt;items()) {&lt;br /&gt;if (Node *node = qgraphicsitem_cast&lt;node&gt;(item))&lt;br /&gt;nodes &lt;&lt;&gt;calculateForces();&lt;br /&gt;//然后移动实例受力的位置&lt;br /&gt;bool itemsMoved = false;&lt;br /&gt;foreach (Node *node, nodes) {&lt;br /&gt;if (node-&gt;advance())&lt;br /&gt;itemsMoved = true;&lt;br /&gt;}&lt;br /&gt;if (!itemsMoved) {&lt;br /&gt;killTimer(timerId);&lt;br /&gt;timerId = 0;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;来看看经典的压力计算函数吧&lt;br /&gt;void Node::calculateForces()&lt;br /&gt;{&lt;br /&gt;if (!scene() scene()-&gt;mouseGrabberItem() == this) {&lt;br /&gt;newPos = pos(); //如果抓住的自己的话，那么就直接返回&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//如果不是被抓到的点，求他垂直方向上合水平方向上的受力(因为所有的点都是由线来连接的，所有说每个点都对其他的任何一个在屏幕中的点有作用力)&lt;br /&gt;// Sum up all forces pushing this item away&lt;br /&gt;qreal xvel = 0;&lt;br /&gt;qreal yvel = 0;&lt;br /&gt;foreach (QGraphicsItem *item, scene()-&gt;items())&lt;br /&gt;{&lt;br /&gt;Node *node = qgraphicsitem_cast&lt;node&gt;(item);&lt;br /&gt;if (!node node == this)&lt;br /&gt;continue;&lt;br /&gt;&lt;br /&gt;QLineF line(mapFromItem(node, 0, 0), QPointF(0, 0));&lt;br /&gt;qreal dx = line.dx();&lt;br /&gt;qreal dy = line.dy();&lt;br /&gt;double l = 2.0 * (dx * dx + dy * dy);&lt;br /&gt;if (l &gt; 0)&lt;br /&gt;{&lt;br /&gt;xvel += (dx * 8.0) / l;&lt;br /&gt;yvel += (dy * 8.0) / l;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//然后求与之相连的点的作用力，这样的作用力会显现的更明显&lt;br /&gt;double weight = (edgeList.size() + 1) * 4.5;&lt;br /&gt;foreach (Edge *edge, edgeList) {&lt;br /&gt;QPointF pos;&lt;br /&gt;if (edge-&gt;sourceNode() == this)&lt;br /&gt;pos = mapFromItem(edge-&gt;destNode(), 0, 0);&lt;br /&gt;else&lt;br /&gt;pos = mapFromItem(edge-&gt;sourceNode(), 0, 0);&lt;br /&gt;xvel += pos.x() / weight;&lt;br /&gt;yvel += pos.y() / weight;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (qAbs(xvel) &lt; xvel =" yvel" scenerect =" scene()-"&gt;sceneRect();&lt;br /&gt;newPos = pos() + QPointF(xvel, yvel);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;OVER&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161665574104864247-7824920754333383428?l=garywang77.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garywang77.blogspot.com/feeds/7824920754333383428/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://garywang77.blogspot.com/2009/09/aharef-htmlqt.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/7824920754333383428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161665574104864247/posts/default/7824920754333383428'/><link rel='alternate' type='text/html' href='http://garywang77.blogspot.com/2009/09/aharef-htmlqt.html' title='aharef: html标签可视化的qt实现过程'/><author><name>Gary.Wzl</name><uri>http://www.blogger.com/profile/03036274913898890925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
