Labels
android
Assembly Language
bash
Beagle Bone Black
c
c++
CL1
competitive programming
compiler
computer vision
data structure
database
dsps
encryption
games
graphs
hacks
java
linux
lisp
MIL
monte carlo algo
MPAL
networking
OOMCPL
osa
perl
pl
PL -3
PL-1
PL-2
PL-4
python
qt
recursive algorithms
Scala
security
sorting
storage
terminal
ubuntu
utilities
Wednesday, 7 December 2016
Wednesday, 2 November 2016
Tuesday, 1 November 2016
Saturday, 29 October 2016
Fenwick Tree to Maintain A count of number of even numbers
Thursday, 27 October 2016
Tuesday, 25 October 2016
Python Sets:Checking whether a given string contains all the vowels in english language
Q: To check whether the given string contains all the vowels in english language.
Monday, 24 October 2016
Friday, 7 October 2016
How to Dive into Android
Introduction
Android Programing |
Saturday, 10 September 2016
Execute Commands at a Specific Time in Linux-"at"
The other day I was reading about Reliance Jio Offers. Most of their plans come with limited data, but during night times you get unlimited usage. The catch is that night time period is only three hours 2:00 am to 5:00 am.
Unless you are either nocturnal animal like an owl, or a bi-phasic / polyphasic sleeper this implies that you cannot use the unlimited night time benefit. While this might be the case for an average user but for expert users(people who read my blog :-P) this is no problem.
Guess what Linux offers multiple ways to solve this problem
- Cron : Read about this yourself. I will not be covering this in the current article. This is more suitable for recurring jobs.
- At: The at command this is more suitable for one time jobs. This will be covered in this article.
Android also offers this facility. You might need to have root access for this though. I have covered this in one of earlier articles about Tasker.
Ps: I have no knowledge about IOS, Windows , or Mac platform pertaining to this automation issue. So go figure it out yourselves, in case you are using one of these platforms, leave a comment below explaining how you did it. And I will create a new post for the same.
Wednesday, 7 September 2016
Identify Mobile Operating System using Python and ADB
Q:Write a Python/Java/C+ program to verify the operating system name
and version of Mobile devices.
Note: This program will only work for android devices. (Since Iphones do not have anything equivalent to adb. )No wonder android is the favorite platform when it comes to app development. Android market is also more developer friendly as compared to its ios counterpart.
Errors: In case you get an error about insufficient permission, either edit udev rules or borrow a phone from your friend, having a well known global manufacturer.
OS:Fedora 20 64 bit
Phone: Sony Xperia
Language: Python
Dependencies: Just adb package,No need for sdk
fedora: <yum install adb>
ubuntu: <apt-get install adb>
Dependencies: Just adb package,No need for sdk
fedora: <yum install adb>
ubuntu: <apt-get install adb>
Friday, 2 September 2016
Common Logical Errors in C and C++
Today I spent over two hours discovering this stupid mistake in my code.
Thus I came up with the idea to make a cheat-sheet for common programing mistakes. I hope this is useful to you during your practical exams preparations, debugging times and coding competitions. In case, I have not mentioned one of the mistakes that you make just leave a comment and I will add it.a=a++;
Thursday, 1 September 2016
Mondo DB with Java for processing Images
Q:Use MongoDB to process semi structured and unstructured data collections such as Rfid, images, blogs use python/Java MongoDB interface.
Testing Environment
Mongo DB version : 2.6.3
Network : switched LAN(Ethernet)
IDE: Eclipse (Java EE)
OS: Fedora 20 (64 bit )
Finding primes in a range of numbers
The fastest way(yet easy to understand and implement) to test a prime number is Rabin-Miller Prime Test. However, it suffers from two issues:
Sieve Algorithm on the other hand, uses previously generated results and works faster when determining the primes in a range.
Here is a code snippet for the same
- It is suitable for a single number
- It may give false positives
Sieve Algorithm on the other hand, uses previously generated results and works faster when determining the primes in a range.
Here is a code snippet for the same
Monday, 29 August 2016
Friday, 26 August 2016
SQL with JDBC
Q:
Design at least 10 SQL queries for suitable database application
using SQL DML statements:
Insert, Select, Update, Delete Clauses using distinct, count,
aggregation on Client-Data sever (three tier).
Use Python for Socket Programming to connect two or more PCs to share a text file.
Os: Fedora 20
Network: Switched LAN(Ethernet)
Note: Program fails to work on Local Area Network. Program works flawlessly on localhost.
While this script works perfectly fine on loop back ie on the same machine, it fails on networks.For some unknown reasons I havent' been able to get this script running of a local network consisting of fedora linux machine despite tweaking with the firewall. I don't get much time to work on local networks and am currently busy with some other endeavors.
Network: Switched LAN(Ethernet)
Note: Program fails to work on Local Area Network. Program works flawlessly on localhost.
While this script works perfectly fine on loop back ie on the same machine, it fails on networks.For some unknown reasons I havent' been able to get this script running of a local network consisting of fedora linux machine despite tweaking with the firewall. I don't get much time to work on local networks and am currently busy with some other endeavors.
Write an IPC program using pipe using C++ and Python
Q: Process A accepts a character string and Process B inverses the string. Pipe is used to establish communication between A and B processes using C++ & Python
Friday, 5 August 2016
How To Securely Store Data
Note : You require knowledge about file recovery to understand this article. In case, you have no knowledge about this, I highly recommend checking out my article on file recovery.
In one of my earlier posts I demonstrated File Recovery using Forensic Tools.
While File Recovery is possible if the file is deleted using Shift-Delete or even if the partition is formated.
This becomes a major security issue if your pendrive held confidential data earlier. Even quick format is not an option.
Using specialized tools forensic experts can manage to recover any data which was stored on pendrive or any other storage device, provided it is not overwritten. In case , it is overwritten the data could still be partially recovered. I had once recovered partially, a few images using Recuva. They don't look like the exact image but just the thumbnails can be pretty informative.
In one of my earlier posts I demonstrated File Recovery using Forensic Tools.
While File Recovery is possible if the file is deleted using Shift-Delete or even if the partition is formated.
This becomes a major security issue if your pendrive held confidential data earlier. Even quick format is not an option.
Using specialized tools forensic experts can manage to recover any data which was stored on pendrive or any other storage device, provided it is not overwritten. In case , it is overwritten the data could still be partially recovered. I had once recovered partially, a few images using Recuva. They don't look like the exact image but just the thumbnails can be pretty informative.
Sunday, 17 July 2016
Pulse Code Modulation and Netowrking using QT and C++
Q: Write a program for Pulse Code Modulation and send the data to a server
Introduction
This is C++ code for both the client and the server to implement PCM and netowrking. The Client is a GUI program while server is terminal based.Monday, 11 July 2016
Python Script to Recover Deleted Files And Partitions
Ever deleted a file permanently and wished to recover it. Here's a python script designed to do this task in Linux operating system.
Friday, 24 June 2016
Magic Sys Rq Key
The Issue
So the other day I was working with Android Studio on my Low Hardware Spec Ubuntu Machine. I decided to build an apk as emulators are simply not an option. But Guess what , my pc used all of the possible RAM and all the possible swap memory and hung(that's pretty rare for Ubuntu!).
I tried opening a terminal Ctrl+Alt+T hoping to kill android studio process. But the PC was unresponsive. This is despite using all the regular optimizations for android Studio that I found on Ubuntu Forums and Stack Overflow.
Any noob would have now headed out towards the power button. If you ever do come across this situation please do not use this approach. This is the last thing you should do, only if everything else fails.
Tuesday, 21 June 2016
Python Based Chat Program
This is a simple client-server Program to chat with other users on the Lan. This program largely similar to a chat using nc, easier to use and with a lot of less functionality.
Tested On:
OS: Fedora 20, Ubuntu 14.04 LTS
Language: Python
Tested On:
OS: Fedora 20, Ubuntu 14.04 LTS
Language: Python
Note
While this script works perfectly fine on loop back ie on the same machine, it may fail on a network since you might need to configure the server to accept incoming connections. You might want to check iptables or disable it completely.
Video
Monday, 20 June 2016
Email Header Analyser Using Python
Q:Write a program in Python to analyze email header.
This program simply analyzes a email header stored locally on your machine in a text file and shows information like:
This program simply analyzes a email header stored locally on your machine in a text file and shows information like:
- Mime Version
- Date
- Subject
- From
- Delivered To
- To
Sunday, 12 June 2016
Tasker: Automate Things on Android Phone
Do you wish to automate your daily tasks on your phone ?
If yes, here is your Answer : Tasker App (Playstore Link)
Tuesday, 31 May 2016
Vison 20-20-20 : A bash Script
20-20-20 Rule
Anyone who spends more than 3 hours before a computer screen in at the risk of suffering from computer vision syndrome. Currently an estimated 70 million computer professionals are at the risk of suffering from computer vision syndrome
A programmer spends hours before the computer. To avoid damage to eyes and prevent computer vision syndrome , the 20-20-20 rule is suggested by doctors.
The 20-20-20 rule is as follows:
Look at an object 20 feet away for 20 seconds every 20 minutes.
The Issue
It easier said then done. You simply don't remember when 20 minutes have passed. Thus I have taken efforts to help you with the 20-20-20 minute rule. I have created a bash script vision20 to help with this.Monday, 9 May 2016
Unable to Test Buffer Overflow Attacks with GCC?
Stack Smashing |
Looks like GCC has new cool feature which protects codes from buffer overflow attacks. So to some extent even if a programmer doesn't check for a buffer overflow error GCC still might check it and protect the code.
Wednesday, 20 April 2016
Display Real Time Clock TSR in Dos
TSR:
Terminate but Stay Resident Program is a type of assembly program which stays resident / or occupies memory on ram so that it can be executed upon interrupt.TSR is actually one of the best ways to ways to write viruses. The best part is that until the computer is restarted the virus can stay in the memory.
It consists of three sections:-
which you are supposed to find out.
Problem Statement in Layman Terms
You have to display the time on screen using a TSR.
Tuesday, 5 April 2016
64 bit ALP to print Hello Word
Q: Write a 64 bit ALP to print Hello word.
Assembler : NASM
Debugger : GDB
OS : Ubuntu 14.04 LTS
Assembler : NASM
Debugger : GDB
OS : Ubuntu 14.04 LTS
Assembly Language: Finding the largest number
Q: Write an ALP to find the largest number in a given set of numbers.
Assembler: Nasm
OS : Ubuntu 14.04 LTS(64 bit Linux)
Assembler: Nasm
OS : Ubuntu 14.04 LTS(64 bit Linux)
C Program for Fork in Linux
Q: Write a program in C for linux fork system call. Also show zoombie and orphaned processes.
The use of fork system call is displayed using the following two programs
The use of fork system call is displayed using the following two programs
Friday, 1 April 2016
Posix Spawn: C++ program using Posix Library
Q: Program to implement a Posix Spawn
Os: Linux Ubuntu 16.04 LTS
Compiler: g++
Os: Linux Ubuntu 16.04 LTS
Compiler: g++
Posix Semaphore: C++ program
Q: Program to implement a Posix Semaphore
Os: Linux Ubuntu 16.04 LTS
Compiler: g++
Os: Linux Ubuntu 16.04 LTS
Compiler: g++
Monday, 28 March 2016
Sunday, 27 March 2016
Friday, 25 March 2016
Cracking Open Naively Protected Binaries
One of the simplest way to protect an executable is password protecting it . In this method you use a simple if-then-else construct to check if the entered password matches a predefined value.
Event though this way may seem secure, since after compilation this password will be converted to one's and zeros inside the binary file, this is not the case.
A simple disassembly will reveal the true password.
To prove my point I have designed a shell script which cracks passwords from such types of password verifying constructs. This shell file will not work on all naive password check but will deal with some of these types.
Anyone who understands a little bit of assembly along with a little bit a reverse engineering can easily crack variations of this type of password check, even if this script fails.
puts("enter password"); scanf("%d",&pass); if(pass==4568)
Event though this way may seem secure, since after compilation this password will be converted to one's and zeros inside the binary file, this is not the case.
A simple disassembly will reveal the true password.
To prove my point I have designed a shell script which cracks passwords from such types of password verifying constructs. This shell file will not work on all naive password check but will deal with some of these types.
Anyone who understands a little bit of assembly along with a little bit a reverse engineering can easily crack variations of this type of password check, even if this script fails.
Tuesday, 22 March 2016
B1: Conversion of If-else ladder to overloaded function
Q: You are required to write a C program involving a if-then-else construct and convert it into a C++ program eliminating the if-then-else ladder using overloaded functions.
Text Editor:-Gedit
Language:- C,C++
Framework:- QT(C++)
OS:- Linux-64bit (Fedora)
Text Editor:-Gedit
Language:- C,C++
Framework:- QT(C++)
OS:- Linux-64bit (Fedora)
Friday, 18 March 2016
MIL Lab Hack Exposed
The Hack
This hack mostly exploits the fact that assembly illiterates cannot actually differentiate the difference between a binary generated by C programing and assembly language.
The basic prerequisites for this hack are good knowledge of C language and good knowledge of Assembly language. When your assembly code doesn't work you recode the same thing in C language and then replace the assembly generated binary with the binary generated by C code. Once this process is completed , all traces of C programing are erased.
Below is the hack in action....
Thursday, 17 March 2016
CPU Architecture Emulation & Sleep Function in QT
Q:Writing a C/C++ Program to emulate CPU Architecture (Central Bus) Develop register, ALU level GUI to display results.
Language:- C++
Framework:-QT
OS:- Fedora (Linux -64 bit)
Language:- C++
Framework:-QT
OS:- Fedora (Linux -64 bit)
Tuesday, 15 March 2016
Exception Handling in C++
Create a C++ class named Television that has data members to hold the model number and the screen size in inches, and the price. Member functions include overloaded insertion and extraction operators. If more than four digits are entered for the model, if the screen size is smaller than 12 or greater than 70 inches, or if the price is negative or over $5000 then throw an integer. Write a main() function that instantiates a television object, allows user to enter data and displays the data members .If an exception is caught, replace all the data member values with zero values.
Sunday, 13 March 2016
Standard Template Library C++ Database Program
Q: Implement a database program in C++ using STL library. This is an extension of my earlier program.
Code:
Framework:- QT 5.5.1
OS : Linux 64 ( Ubuntu 14.04 LTS)
Code:
Framework:- QT 5.5.1
OS : Linux 64 ( Ubuntu 14.04 LTS)
Linux Hacks 2: Turn Terminal Into a Chat Client
In case you don't wont to leave any history of your terminal chat. Read the previous article about leaving no history on the terminal.
For turning your terminal into a chat client. You need to two commands, the first one is executed on one pc and the other on the pc with which u wish to communicate.
For turning your terminal into a chat client. You need to two commands, the first one is executed on one pc and the other on the pc with which u wish to communicate.
Thursday, 10 March 2016
Template Classes C++ & Matrix Operations
Q:- Write a program in C++ using function template to read two matrices of different data types such as integers and floating point values and perform simple arithmetic operations on these matrices separately and display it.
Sunday, 6 March 2016
Linux Hacks 1.2 Leave no Trace on the Terminal
Linux Hacks |
For those in a hurry, here's ur way...
Saturday, 5 March 2016
Perl Program for Counting Number of Lines, Characters and Occurances of a Word
Q: Write a Perl Program to find the number of occurrences for a given word in a text file. Also display the number of characters, words and lines in the file.
Friday, 26 February 2016
Sunday, 21 February 2016
Virtual base Clases- C++ Marks Database
Q:-Design a C++ base class consisting of the data members such as name of the student, roll number and subject. The derived class consists of the data member’s subject code, internal assessment and university examination marks. Construct a virtual base class for the item name of the student and roll number. The program should have the facilities.
i) Build a master table ii) List a table iii) Insert a new entry
iv) Delete old entry v) Edit an entry vi) Search for a record
i) Build a master table ii) List a table iii) Insert a new entry
iv) Delete old entry v) Edit an entry vi) Search for a record
Operator Overloading String Operations in C++
Q:-Write a C++ program to perform String operations
i. = Equality
ii. == String Copy
iii. + Concatenation
iv. << To display a string
v. >> To reverse a string
vi. Function to determine whether a string is a palindrome
vii.To find occurrence of a sub-string. Use Operator Overloading
i. = Equality
ii. == String Copy
iii. + Concatenation
iv. << To display a string
v. >> To reverse a string
vi. Function to determine whether a string is a palindrome
vii.To find occurrence of a sub-string. Use Operator Overloading
Code
Framework:- QT 5.5.1
Os :- Linux 64 bit(Ubuntu 14.04 LTS)
Language :- C++
Thoughts on Operator Overloading
I managed to write concise and clear code, despite the fact that I don't like operator overloading. Being a Java Programmer I prefer a.add(b) constructs as against a+b .Concave Polygon
Q:- Write a program to draw a concave polygon in C++.
Framework:- QT
Os :-Linux 64 bit (Fedora)
Framework:- QT
Os :-Linux 64 bit (Fedora)
Code
It is a simple program which draws a polygon when the draw button is clicked. The entire program is hard coded ie.., doesn't accept user inputsTuesday, 16 February 2016
2-D Java Game Obstruction
Introduction
- Obstruction is a 2-D Tile (Grid ) based strategy game developed by me. This Game was invented by László Kozma <(Lkozma@gmail.com ),a Roman Mathematician.
- Obstruction is a fine mixture of simplicity and strategy , a great game to workout your brain. Can you think ahead of your friends.
- Obstruction combines the need to think ahead in Chess and the simplicity in Tic-Tac-Toe. Try it out today
- Check the video. This is the game under development as of 6th March.
Objective
Your objective is simply to make the last move.
Game Play
- To make a move Click on a tile to block it and it its neighbors .
- If no free tile is available for your opponent you win.
Friday, 12 February 2016
Mean-Variance-Standard-Deviation-Assembly Language-With-Detailed-Comments
Q: Write an ALP to find out the mean, variance and standard deviation for a given set of numbers.
Floating point instruction seem to be pretty hard to grasp, especially if you are using them for the first time. While coding a solution to this problem, often I found myself opening the Intel ia64 manual confused about the end result of an instruction. Thus I decided to comment the code in detail ,so that readers don't find themselves in a similar situation.
In case you need to refer to the manual here's the link:-
Floating point instruction seem to be pretty hard to grasp, especially if you are using them for the first time. While coding a solution to this problem, often I found myself opening the Intel ia64 manual confused about the end result of an instruction. Thus I decided to comment the code in detail ,so that readers don't find themselves in a similar situation.
In case you need to refer to the manual here's the link:-
Booth's Multiplication Algorithm -GUI C++
Q: Write a program in C++ to demonstrate booth's multiplication algorithm for 8 bit numbers.
Code:-
Framework:- QT 5.5.1
Language:- C++
Operating System:- Linux 64 bit(Ubuntu 14.04 LTS)
Code:-
Framework:- QT 5.5.1
Language:- C++
Operating System:- Linux 64 bit(Ubuntu 14.04 LTS)
Wednesday, 10 February 2016
Demonstration of Paging Tables using Assembly Lanugage
This is a demonstration of the concept of paging using assembly language. Here each page has been declared as an array. And address variable(add) denotes the address which is to be reached. This is assumed to be similar to linear address. This is to be translated to physical address using the concept of paging.
Saturday, 6 February 2016
15 Puzzle Game In C
Note:- This is the first game that I wrote and is definitely poorly written code.This is a code written by me in two days after reading a C book for five days after my 12th with absolutely no formal training in programing. In fact I would be commenting on the mistakes that I made during coding of this game so that you don't make them. Is this code worth reading then? Yes definitely. The text based graphics and scan key events might be worth reading!
Friday, 5 February 2016
ALP to multipy numbersWITHOUT MUL instruction
Q: Write a ALP to multiply two 8 bit numbers using Shift-Add Method and Repeated Addition Method. Accept the numbers from the user. Make the program a menu driven one.
Personal Database C++ GUI Application
Q: Create a Personal Database. Provide facility to delete, add and search for people in the database. The following things must be implemented in your code.
- Copy Constructor
- Inline Functions
- Destructor
- Default Constructor
- Parameterized Constructor
Thursday, 4 February 2016
Complex Numbers-C++ GUI Application
Q: Write a C++ program for implementing basic operations on complex numbers. Use of operator overloading is expected.
Code
Framework used:- QT
Os:- Linux 64bit (You can use the executable directly if you have this os else compile it)
Code
Framework used:- QT
Os:- Linux 64bit (You can use the executable directly if you have this os else compile it)
Wednesday, 3 February 2016
Miller Rabin Primality Testing Algorithm in C language
- This algorithm is a monte carlo algorithm used for testing whether a given number is a prime or not.
- This works much better than fermat's theorem.
- This algorithm is likely to give false positive in case of Carmichael numbers.
- The code implementation given below will not work with any number less than three.
- This code contains a large number of commented out printf statements which i added during debugging. However I decided against removing them as I though it might help some one whose trying to understand the working of the algorithm.
Monday, 1 February 2016
Powerset Generator Recursive Algorithm Python
Q:Write a python program to generate powerset for given set of elements.
Truth Value Generator-Recursive Algorithms-Python
Q:- Write a Python Program to generate all possible truth values for a given number of boolean variables
Tower of Hanoi-Solution
The Game
Tower of Hanoi is a puzzle game. Your objective is to move disks from one tower to another tower. You initially have 3 towers of which two are empty and one(say tower 1) contains n disks. These n disks are all of different sizes. In tower 1 they are present in definite order- the largest at the botttom and the smallest at the top. You can only move one disk at a time. The rule is that you cannot place a bigger disk on a smaller disk. This relocation of disks needs to be done in minimum number of moves.Saturday, 30 January 2016
Finding Average of Numbers-Assembly x86
Q: Write an ALP (Assembly Language Program) to find the average of hexadecimal numbers stored in an array.
Friday, 22 January 2016
Two module String Operations ALP
Q:- Write an ALP for String Manipulation Operations . Store the string in data set of one module and write far procedure in code segment of the other module for performing the string operation. Operations to be performed are as follows:-
- Concatenation
- Occurrences of a sub-string in a string
Thursday, 21 January 2016
Polygon(Triangle,Rectangle and Square) Drawing in C++
Q: Write a C++ class to draw the following polygons
- Triangle
- Rectangle
- Square
Wednesday, 20 January 2016
Tuesday, 12 January 2016
Device Management- Mounting and Unmounting using Shell Scripting
Q:- Write a shell script to mount and unmount devices using shell scripting. Also display the list of devices currently available to the system.
Book Shop Program
Q:-
A book shop maintains the inventory of books that are being sold at the shop. The list includes details such as author, title, price, publisher and stock position. Whenever a customer wants a book, the sales person inputs the title and author and the system searches the list and displays whether it is available or not. If it is not, an appropriate message is displayed. If it is, then the system displays the book details and requests for the number of copies required. If the requested copies book details and requests for the number of copies required. If the requested copies are available, the total cost of the requested copies is displayed; otherwise the message “Required copies not in stock” is displayed. Design a system using a class called books with suitable member functions and Constructors. Use new operator in constructors to allocate memory space required. Implement C++ program for the system.
Friday, 8 January 2016
BCD to Hex and vice-versa-Assembly Language
Q: Write a ALP to convert 4 bit hex to bcd and 5 bit bcd to hex. Accept input from user.
Thursday, 7 January 2016
Weather Report Program in C++
This is a Weather Report/ Weather Forecast Application written in C++ .
It is a GUI Application Written in QT.
Question:
Create a class named weather report that holds a daily weather report
with data member’s day_of_month, hightemp, lowtemp, amount_rain and
amount_snow. The constructor initializes the fields with default
values: 99 for day_of_month, 999 for hightemp,-999 for lowtemp and 0
for amount_rain and amount_snow. Include a function that prompts the
user and sets values for each field so that you can override the
default values. Write a C++/Java/Python program that creates a
monthly report. Menu driven program with options to Enter data and
Display report. Report Format
Day Amt_Rain Amt_snow High_temp Low_temp
--------------------------------------------------------------
Avg
Drawing a Line with Different Line Styles
Q:Write a program in C++ to draw a line with different styles thick, thin and dotted. Accept the start point and end point coordinates from the user.
Line Drawing using DDA and Bresenham
Q:- Write a program to draw line using DDA or Bresenham algorithm. Accept values for the 2 endpoints as well as the input for colour. Inherit a class and overload the functions for DDA and Bresenham.
Wednesday, 6 January 2016
Block Transfer using Assembly Language-64 bit
Q:- Write a 64 bit assembly language program to implement the following operations:-
- Non-overlapped with string instructions
- Non-overlapped without string instructions
- Overlapped with string instructions
- Non-overlapped with string instructions
Subscribe to:
Posts (Atom)