2011年1月17日星期一

A Simple Qml Game - Thumder

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 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.

  screenshot of  Thumder
Btw,I spend free time writing  a small pure qml game(Thumder) instead of complex qt-apps integrated with qml like qDou.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.

get the source code
git clone git://gitorious.org/thumder/thumder.git

Be good all.

2010年8月16日星期一

The stronger lineedit

I haven't update my blog for a long time.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,QML on the Road to Release).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 software on the desktop,Just like Krunner or omnibox

                                   

Give all you need to the LineEdit,let it give you answers.
such as what's the weather like in chengdu?



but the first things I need to consider in programming is the result ranking
two factors for the result ranking
1.DateTime.the later the Matching words putted in the historyList,the more frontly will be it shows.
2.Frequence.the More times that you queryed for a same word ,The more frontly ........

btw,I really indebted to Arora(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 QCompleter supporting filter and sorting 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.

2010年5月26日星期三

Dismantle my old laptop

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 of fun and good feeling and memories. 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.

Searching something useful on google and eventually take me about 2h to make it.Brilliant!!
Just like someone says "keep your attention on the here and now,your efforts will pay graet divdends." That's right.
now I can't hear anything about the insistent jangles and slip into the blissful dreamland.

2010年5月10日星期一

My new laptop

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.
Tomorrow I will go back to school for my graduation project.How time flies.
Take care.

2010年4月17日星期六

Using HMAC-SHA1 in qOAuth on Symbian

In the wake of qDou 0.2.5 release,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  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 Symbian development,really,Or at least To a rookie.When I look back,I just feel funny.So I change my mind.Symbian is Strong.
Back to the topic,becouse qDou release depends on qOAuth and oAuth request using the HMAC-SHA1 signature method.
On the Windows or linux,In order to do that
the following steps are
1. build OpenSSL 0.9.6+
2. build qca-2.0.0
3. build the qca plugin for OpenSSL (the Capabilities of qca-ossl contains HMAC_SHA1)?
4. build qOAuth
But on the Symbian,as a result of different platform,you will have a lot of work to do.
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.
How to generate oauth signature using HMAC-SHA1 in Symbian C++
Follow These Tips .
we just need to do little stuff
1.add macro Q_OS_SYMBIAN to remove anything about QCA from *.cpp or *.h in qOAuth when Precompiled
2.generating your own random number method to replace the following codes
QCA::InitializationVector iv( 16 );
QByteArray nonce = iv.toByteArray().toHex();
3.add these lines in function:createSignature
#ifdnef Q_OS_SYMBIAN
.....
.....
.....
#else 

CSHA1* sha=CSHA1::NewL();
TBuf8<100> keyVal;
keyVal.Copy(_L8(QByteArray(consumerSecret + "&" + tokenSecret).constData()));
CHMAC* hmac=CHMAC::NewL(keyVal,sha);
TBuf8<1024> baseString;
TPtrC8 hashedSig(hmac->Hash(baseString));
TImCodecB64 b64enc;
b64enc.Initialise();
HBufC8* buf = HBufC8::NewL(hashedSig.Length() * 2);
buf->Des().Copy(hashedSig);
TBuf8<512> result;
b64enc.Encode(buf->Des(),result);
result.Copy(result.Left(result.Length()));
if(hmac)
{
    delete hmac;
    hmac=NULL;
}
digest = QByteArray::fromRawData((char*)result.Ptr(),result.Length());
#endif
It's very easy right?
hope this is useful for thoses like me who want to use qOauth on Symbian
see you.

2010年3月11日星期四

Video about visual text comparison

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
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.
Make a video about visual text comparison while I am Recoding qDou's video.The demo 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 Box2D.I believe Box2D + Qt's Graphics View application will be fantastic Visually.
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.......
Time Flys.Go ahead and do what you like.See you.

2010年3月8日星期一

qDou 0.1.2 Released

after one week ,I update qDou'source and Released qDou 0.1.2.
qDou 0.1.2 provide some bug fixes,optimization and new features which you can view comments about
movie,music or book and even publish your comments about your favourite.
More info about qDou 0.1.2.

2010年3月3日星期三

qDou 0.1.0 Released

I can't wait to say that qDou 0.1.0 is Released.You can download here. 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 here.Please test and give feedback to me in the gruop.
By the way,I will talk about Deploying an application on Windows,especially your app with plugins.
First of all,you can follow the step By the document.Two easy ways to make plugins work out.you can choose anyone of them below .
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:
qApp->addLibraryPath(qApp->applicationDirPath()+"./plugins");
2.Using qt.conf
After you deploy your app on Windows with these methods above and your app still failed with loading plugins,It's not your fault.What you need is vcredist_x86.exe.Install it and the problems would be solved.In fact,Qt document refer to the point.
here is the video about qDou ,enjoy.

2010年2月18日星期四

QDou is not far away

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.
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. :-)
                                          photoview of QDou

2010年1月28日星期四

When Qt for Window meets Qt for Symbian

Today,I install Qt libraries for Symbian again in my 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  and *.mmp .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 here,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 Qt libraries for windows.
Like aamer4yu says:
"I dont know if you will read this post.. but just wanted to thank you a lot.. a ton of thanks..
I was not able to build qt projects for symbian...and was searching for a solution for almost a month"
A month to aamer4yu,half a year for me.
Why am I interested in Qt for Symbian suddenly?
The answer is QDou. :-)