SEARCH KEYWORD -- SOURCE CODE



  An experience of fixing a memory-corruption bug

During the last 4 months, I was disturbed by a memory-corruption bug, and this bug will cause program crash. Until last Monday, I found the root cause and fixed it. This debug process is a difficult but memorable experience, so I will share it in this article.   My program works as a SMS Hub. When it receives a SMS, it will allocate a structure in heap memory like this: typedef struct { ...... int *a[8]; ...... } info; After processing the SMS, the program will free the m...

   c, debug, unix, solaris, multi-thread     2014-05-04 03:52:43

  Fab CEO: Why we choose Tencent in China?

Today one important news is that Fab completes its D round fund raising with 150 million US dollars. Regarding this round of fund raising, Fab CEO Jason Goldberg explained : "If Fab wants to do business in US only, then it's not necessary to raise so much money.". Also from the investment of Tencent and Itochu from Japan, China and Japan will be Fab's new market of expansion. Why does Fab choose to cooperate with Tencent to expand Chinese market?(There was news that Alibaba was also contacting F...

   Fab,Tencent,Alibaba     2013-06-19 03:05:03

  System programming is still there

System programming is the practice of writing system software. System software lives at a low level, interfacing directly with the kernel and core system libraries. Your shell and your text editor, your compiler and your debugger, your core utilities and system daemons are all system software. But so are the network server, the web server, and the database. These components are entirely system software, primarily if not exclusively interfacing with the kernel and the C library. But nowadays more...

   System programming     2014-02-27 05:46:48

  Carriage return and line feed

In programming and document editing, we may frequently encounter carriage return and line feed, i.e the well known CRLF.  But do you know about the history and difference of carriage return and line feed? Before computer came out, there was a type of teleprinter called Teletype Model 33. It can print 10 characters each second. But there is one problem with this, after finishing printing each line, it will take 0.2 second to move to next line, which is time of printing 2 characters. If a new...

   CR,CARRIAGE RETURN,LINE FEED,LF,NEW LINE,CRLF     2017-02-19 08:29:23

  Save QWidget as image

Qt library is an excellent GUI library for C++ programmers developed by Nokia and now is an open source project. Often, we may use QPainter to draw strings, lines or images on a QWidget. We can override the QWidget's paintEvent() method when we want to use QPianter object to draw something on a QWidget. If we want to save the items drawn on QWidget as image for later reference, what can we do? We can save a QWidget as an image. Here is the code for achieving this: QPixmap pixmap(this->size())...

   Qt,C++,QWidget,Image     2012-08-19 12:01:18

  How big is sizeof structure?

First let's see the codes of a structure: struct node{ int a; int b; }; Question : What's sizeof(node)? The answer is very simple, on a 32 bit machine, an int will take 4 bytes and two ints will take 8 bytes. So sizeof(node) is 8. The answer for the above codes is 8, then how about the following structure: struct node{ char a; int b; }; Question : Then what's sizeof(node) now? int takes 4 bytes, char takes 1 bytes, is the answer 5? Now the answer may not be 5, on some mac...

   Data structure alignment, pack     2012-10-29 12:13:37

  New Android simulator has some big improvements

Message from the Android developer blog, the Android emulator now has a number of improvements and optimizations. It allows developers to develop applications more conveniently.The Android emulator is an important tool for Android developers developing and testing applications. Due to the rapid growth of Android hardware, the simulator has been slightly left behind. The new simulator brings some new functions including support for GPU, the CPU acceleration sensor support, multi-touch input suppo...

   Android, Simulator,GPU,OpenGL     2012-04-10 13:02:31

  AOL is the biggest winner of Internet Stocks in 2012

At the beginning of 2012, not many people would think that the best Internet stock is AOL(American Online) in 2012. But now there are only four trading days left in 2012, AOL leads the mainstream technology companies with a 99.8% increase in its share price and firmly sits on the throne of the Year Internet Stock. AllthingsD chooses ten technology companies and their stock market performance in 2012 to do a comparison and gets the above figure. AOL has a 99.8% increase in share price which is a...

   AOL,Stock market     2012-12-27 11:29:17

  Generate first N prime numbers

Recently I am taking an online course named "Startup Engineering" on coursera. There is one assignment which is to use NodeJS to write a program to generate the first 100 prime numbers. This may be very easy for many people. Here I just want to share with you the code to generate not only the first 100 prime numbers. but also any number of prime numbers. Below is the code snippet: //Helper class to generate prime numbers var PrimeProcessor=(function(){ var primeArray=[]; functio...

   Algorithm,Prime number,NodeJS,coursera,JavaScript     2013-06-29 22:08:22

  Concise bash programming skills

The following are some concise bash programming skills which we may need in our daily programming work. 1. Check status of command execution The usual way: echo abcdee | grep -q abcd   if [ $? -eq 0 ]; then echo "Found" else echo "Not found" fi Concise way: if echo abcdee | grep -q abc; then echo "Found" else echo "Not found" fi Of course you can remove if...else with following code [Sun Nov 04 05:58 AM] [kodango@devops] ~/workspace $ echo abcdee | grep -q ...

   bash, skill,tip     2012-11-06 10:38:42