≡ Menu

C Programming

When you start writing your code in C, C++ or any other programming language, your first objective might be to write a program that works. After you accomplished that, the following are few things you should consider to enhance your program. Security of the program Memory consumption Speed of the program (Performance Improvement) This article [...]


Wireshark is an open source network packet analyzer. It can capture, dissect, and decode various protocols. This helps Linux sysadmin to troubleshoot network issues. Apart from using wirehshark as a standlone application for debugging network packets, you can also write your own extension or plugin using wireshark libraries for your custom application. This tutorial explains [...]


If you try to solve some combination problem in programming using simple combination approach where you check all possible variations with repetition or permutations of some kind, you would realize that you would have way too many tries that are not necessary. You should reduce the poll of possible candidates as much as you can, [...]


Dynamic programming approach was developed by Richard Bellman in 1940s. It was an attempt to create the best solution for some class of optimization problems, in which we find a best solution from smaller sub problems. This approach is recognized in both math and programming, but our focus will be more from programmers point of [...]


There are three types of cryptography techniques : Secret key Cryptography Public key cryptography Hash Functions We discussed about the above techniques earlier in the Cryptography basics article. One simple and basic method to encrypt a message is using Caesar's cipher. It is a very simple form of encryption, where we take letters one by [...]


How to Debug Programs on Remote Server using GDBServer Example

Remote debugging is the process of debugging a program running on a different system (called target) from a different system (called host). To start remote debugging, a debugger running on host machine connects to a program which is running on the target via network. The debugger in the host can then control the execution of [...]


PAL stands for Physics Abstraction Layer. Physics engine is a programming library that can model most of the essential factors (e.g. gravity, collision) of the physical world. With the help of physics engines, we can enhance the reality of computer games or make an accurate emulation of physics experiment. There are many different physics engine [...]


Few GDB Commands – Debug Core, Disassemble, Load Shared Library

GDB is an essential tool for programmers to debug their code. This article explains how you can use gdb to debug a program with the core file, how to display assembly language instructions of your program, and how to load shared library programs for debugging. A core file or core dump is a file that [...]