A new tool — magicnote, let’s rock your notes

I dont know whether you encounter these issue: Many snippets in anywhere, sometimes you can’t find it when you want to use that A large size of text hold all kinds of snippets, you can’t find what you want quickly When you want to run a command in your note, […]

Httpd mock service was born last night

aha, I’m very excited to tell everybody, my new project named “httpd_mock” was born last night. Ok, let me give you a short brief:   It’s a mock service for performance testing, debugging or something else, it support 3 types of response: specific length response chunked response mix type ( contain […]

How many mutex objects can exist at the same time?

Okie, for this question, I remember that a interviewer has asked me before, unfortunately I didn’t know how to answer this question at that time. But the answer he gave me is not very correct when I know the truth. First, let’s go through the truth: There is no explicit maximum count […]

Valgrind is not friendly for swapcontext

Okie, long time no see … I write this only better for me to remember something what happend, something what I want to share. This is an experience what I’ve troubled, last week, when I tested my program about c-coroutine library, I found that a lot of critical informations in […]

How to clear the git branch list

There is a case, we create a remote branch named “test”, and we delete it after we recognize it un-useful. But we take a look at our branch list ( through “git branch -a” ), the branch name has already shown in the list, which has been deleted before. That […]

EC2 Virtual Machine Tips — more instances

Ok, if you are a free user, this will be useful. After a long time to search, I found that we can launch more than one ec2 instance. But we need to attention that the time limited to 750 hours per-month, one instance spend 720 hours one month, so if […]

Checkout a specific commit in GIT

Many people may want to get a specific version of you working copy to lookup the detail information on it. So, how to? The way is simple: “git checkout commit [ — filename or directory]” Then you will find you in a special branch named “no branch”, you can add/modify […]

Profile with callgrind

SUMMARY There are still three articles about introducing the way to analyse a program. But today, I’ll show you another member: callgrind. It’s a tool which belongs to valgrind. WHY Sometimes maybe you encounter the issue as same as me: I don’t want to re-compile the program and the oprofile cannot work […]

Profile with gperftools

SUMMARY From the last two articles(profile with gprof, profile with oprofile), you may know some experiences of profile with C/C++ program. So let’s take a look at a new tool from google, called “gperftools“, full name is “Google performance tools”. What are the differences? We know gprof and oprofile, but why gperftools? […]

Profile with oprofile

SUMMARY After my previous article of how to profile a program with gprof, I think many guys has recognize the importance of profile. Today the new blog for introducing how to profile a program with oprofile. Why oprofile Many guys may asked why oprofile? There is gprof we can use. Ok, […]