As every coding tutorial starts with a “Hello World” example, we’ll also follow the same. Our first tutorial on game development with phajer.js will be a “Hello World” example and a little extension over that to make you familiarize with basic functions of phaser.js. All our source code will be available in github.
Pokémon.Go Obsession
It’s been few days after the release of the most trending game Pokémon.go. I’m not a fan of mobile or computer game. But I couldn’t resist asking myself, what’s so crazy about it? Why people are so much into it. So I decided to give it a try and here’s my observation.
Virtual Function Table Attack
Virtual function table (A.K.A vtable) is the key to manage virtual function which is a key mechanism to support polymorphism in C++ language. VTable is used to support dynamic dispatch or runtime method binding in C++. At the same time it is a popular target of malicious programmers to execute their malicious behavior on the system. Attacker exploits … Continued
Create Camera Preview In Android
I was trying to create a simple camera application in android. For my application purpose I needed to display the camera preview. So I followed android developers site and also some other blogs to create a camera preview in android. So everything was working except there was one major bug. If I lock my device … Continued
Virtual Serial Connection Between Two QEMU VM
If you are a Linux user for your most of the research work and you come upon the task of debugging Windows kernel, but don’t want to switch to a Windows platform for that, QEMU can help you. We can create a virtual serial connection between two QEMU VM. One VM acts as the debugger … Continued
Kernel Debugging Using GDB & QEMU
The effect of a bug in the kernel is catastrophic and may lead to system crash. Kernel debugging is an important step for kernel developers to find out bugs or debugging kernel execution. Many developers use virtual machine while working on kernel level. QEMU is a famous virtualization tool among the kernel developers. In this tutorial … Continued
Writing Char Device Driver Part 2
This is the second part of our char device driver development tutorial. In part1, we learnt how to write a simple char device driver that supports read or write functions. We dynamically assigned a major number for our driver and using the assigned major, we manually created a device file in /dev directory.
Writing Char Device Driver Part 1
In this post we’ll take our 1st step of writing a char device driver for Linux. In our previous post, which I would recommend you to read unless you already did, we created a very simple kernel module. Other than dumping some log message, it didn’t do anything fancy. In this post we’ll create a char device driver … Continued
QuickSort: Partition an Array into Sub-array
We already know we have to divide an array into two sub-array for quicksort algorithm. Here I’ll describe how this partitioning actually works. If you want to know about how quicksort works, follow my other post on quicksort working principle. I followed Introduction to Algorithms, 3rd Edition (MIT Press) for writing this tutorial.
QuickSort Algorithm Working Principle
QuickSort is the most elegant sorting algorithm with an average case time complexity of O(nlogn). The main idea behind quick sort is divide and conquer. I’ll try to explain how this divide and conquer strategy works for quick sort. This writing is a gist from Introduction to Algorithms, 3rd Edition (MIT Press), a cool book for … Continued