Showing posts with label Articles. Show all posts
Showing posts with label Articles. Show all posts

C++ Game Programming Tutorial


If you are interested in programming games using C++ and do not know where to begin, this is the article for you! Here I have provided a tutorial to teach the basics of game programming using the Allegro Library in C++. If you not already know, Allegro is a external library for C++ that allows functionalities to code games with graphics and user interface.

Before you begin:
  • You must have some basic knowledge of C++
  • You must have Allegro Game Programming Library installed and working with the C++ compiler of your choice. For information on this refer to: Install Allegro

This tutorial is a comprehensive powerpoint presentation. It comes with a demo game and its code.

In the tutorial:
  • You will learn about the very basics of game programming.
  • In the process of this interactive learning you will also write a very simple game to gain some hands-on experience.
  • You will learn the syntax and the purpose of the common in-built functions provided by the Allegro Game Library.

You can download the tutorial here:

This tutorial was prepared by me for absolute beginners. If you have any doubts or find any errors do let me know. Any comments are appreciated!
Read more >>

Reverse Engineering (RCE): For Beginners

Reverse engineering is a critical set of techniques and tools for understanding what software is really all about. Formally, it is “the process of analyzing a subject system to identify the system’s components and their interrelationships and to create representations of the system in another form or at a higher level of abstraction” (IEEE 1990). This allows us to visualize the software’s structure, its ways of operation, and the features that drive its behaviour, even when the source code and documentation for the software are unavailable. It also equips us with the ability to modify software applications according to our needs.

Learning software reverse engineering requires a combination of skills and a thorough understanding of computers and software development, but like most worthwhile subjects, the only real prerequisite is a strong curiosity and desire to learn. Software reverse engineering integrates several arts: code breaking, puzzle solving, programming, and logical analysis.



While on one hand reverse engineering is used by software analysts to find flaws and faults in a software, to develop a strong protection scheme for the software and to improve the original code, it is also used (and I suppose more often) by hackers and crackers to modify an application to overcome its protection schemes, inject malicious features into an application and enable-disable restricted features. Reverse engineering, as Elliot Chikofsky describes in his foreword to the book “Reversing: Secrets of Reverse Engineering”, is like a stethoscope, which could not only be used by a doctor to detect breathing or heart problems but also by a burglar to listen to the lock mechanism of a safe as the tumblers fall in place. It is a tool which is not inherently good or bad but the issue is the use to which it is put.

While legal issues surround the usage and application of reverse engineering, acquiring knowledge about the techniques of reverse engineering is perfectly legal. As a beginner, you can learn how to create patches for a software in order to bypass restrictions. You can learn the internal working of a protection scheme to be able to find a password/ serial key for it or (even more) to be able to write a keygen for it. More advanced techniques may also teach you how to inject your own code into a piece of software. It is important for good guys to know these techniques too, as it provides one with a perspective of a hacker. To be able to think like hackers motivates one to develop stronger protection schemes and take anti-reversing measures for your software.

On a more personal note, learning reverse engineering is fun. You suddenly find yourself in a world of endless possibilities. There are several websites offering legal “crackme” files. It can be challenging, mentally satisfying and often addicting, when cracking these files. You force your mind to work analytically as never before. You can take your first step in being someone different from those you see all around you.

I wrote this article a few months back to help people (beginners) understand what reverse code enginerring is all about. I myself am a beginner in this field and hopefully someday I could advance to the next level. For now I
already have enough stuff at hand !!


Read more >>

Gmail: Redefining Email

Coming 1st April marks the 5th anniversary of Gmail. Here is a blog post dedicated to the best web-based email service on the internet. Launched in 2004 as an invite-only service, gmail has come a long way. Today, anyone can have a gmail account and use its over 7GB and increasing free storage space. With the great flexibility offered by gmail, it is becoming the choice of the next-generation. If I begin to describe all the advantages of gmail over its competitors, from its 20MB attachment size to 99.9% accurate spam filter, it would probably be an endless post. In order to keep it concise, I will describe in brief some of the less popular yet extremely useful gmail features that make it stand out among its contemporaries.

Filters and labels are the backbone of how Gmail works (and by far its biggest strength), yet every Gmail user does not use them or does not know how to use them. One of the online articles about gmail describes “Not using the filters and labels in gmail is like going to visit a hooker and only asking for a hug.” So if you want more with your gmail account here is some useful information.

Labels: Gmail allows the feature of labels as a substitute to folders as used by other webmail services. We have become so used to having folders in our computers to organize our files and documents that at first, the concept of labels might not appear as good. But, once you begin to use it, the flexibility it provides is nowhere close to what folders offer. While one email can only be placed in one folder, it can have more than one label. So, an important email from a friend can be found when you look for it under the label “Friend” and under the label “Important”. Also folders require emails from your inbox, sent mails or archives to be moved under it, while labels give you the choice whether to move it or not. So the email can be in your inbox, sent mail or archives and yet be found under that label.
To learn more: Click Here

Filters: Gmail filters allow you to manage incoming mails. Using filters, you can automatically label, archive, delete, star, or forward your mail, even keep it out of Spam -- all based on a combination of keywords, sender, recipients, and more. If you receive junk mails from some website or some contact and you want to auto-delete them you can do it be just creating a filter. Next email from that contact will follow that action. I have a filter created that labels all my incoming notifications from facebook. This keeps my inbox clean and organized.
To learn more: Click Here


Video and audio chat: Although a well know feature, it definitely separates gmail from most of the popular email services. Now you can have an audio and video conversation with anyone who is online. So if you are a gmail user you do not have to log on to some alternative chat messenger to find a friend online and chat with him. You can do it right away from your gmail window.


Multiple accounts: Although, I am the kind of person who rarely uses my alternative email accounts, but for those who do have multiple email accounts in yahoo, hotmail etc can use their gmail account to check mails on those accounts. The official gmail blog states “Mail Fetcher lets you retrieve messages from up to five different email accounts. Besides taking advantage of Gmail’s spam filtering, you can also use Gmail to send messages using your other email addresses. This is convenient for users juggling multiple accounts -- log in once from anywhere and access all of your messages from different email accounts (without missing a single Gmail chat)."
To learn more: Click Here

Offline Gmail: Only a few days ago, my internet connection was down and I had to get an urgent print out of a document mailed to me by a friend. I didn’t know what to do. There was no way I could access my gmail. Finally I went to a cyber cafe and got the pages printed. The offline gmail feature allows your gmail account to be opened even if you are not connected to the internet. Not only it solves the problem above but it allows much more flexibility. Now you can retrieve, compose and send emails even if you are on a flight or in the outskirts with no internet connection. This is currently an experimental feature but considering its utility in this modern scenario, may soon be permanently implemented.
To learn more: Click Here


Search: There is a saying “There are some things man is not meant to know, for everything else there is Google.” Gmail integrates in it search the capability of the most powerful search engine—Google. You may not have realized it, but whenever you search a mail using search in gmail it performs the most thorough search, checking for the keyword right from the subject till the last letter of every email in your account. Not only emails, it looks for chats, voicemails and if you desire in spam and trash as well.
To learn more:
Click Here


By conversation: This is a less credited but extremely useful feature. The gmail help describes it: “Gmail groups all replies with their original message, creating a single conversation or thread. In other email systems, responses appear as separate messages in your inbox, forcing you to wade through all your mail to follow the conversation. In Gmail, replies to replies (and replies to those replies) are displayed in one place, in order, making it easier to understand the context of a message -- or to follow the conversation. When you open one message in a conversation, all of your related messages will be stacked neatly on top of each other, like a deck of cards. We call this Conversation View. In Conversation View, each new message is stacked on top of the ones that arrived before it, so that the newest message is always the one you see first.”

Gmail labs: It allows the gmail user to try out new feature that improve the gmail experience. The official gmail blog states: “Gmail Labs is a way for us to take lots of the ideas we wouldn't normally pick and let you all (who use Gmail) decide whether they're good or not. It has a list of experimental new features, and you can enable or disable each one. Some of the popular ones will become core parts of the product, and we'll eventually retire the ones that don't get much use.” Now you can enable features like undo send, keyboard shortcuts, tasks, forgotten attachment detector etc.

Ads: Email services are free and so they earn revenues by third-party advertisements. Gmail too is free and includes ads. However, unlike any other webmail services gmail ads are clean. All ads are in the right slide. No pop up, no ads on the top, no big flash movies as Ads. Only text based ads, and sometimes they are helpful too.


Along with these, gmail also offers a strong integration between itself and other Google services like Orkut, Calendar, Google docs, Picasa and many more. The creative gmail themes visually improve your gmail experience. This fast and ever-improving service is no-doubt redefining email. Visit the
official gmail blog for latest information and updates.
Read more >>

Is your hard disk running out of space?

“My hard drive is full of crap and my computer is running out of memory space.” This expression has become very common these days. With movies, MP3s, games, softwares, pictures, document and all sorts of password protected and hidden folders, people tend to overload their computers. “Overload their computers!” well why not.. when they have to pay less than 50 cents per GB of hard disk space.

I remember, my Computing tutor in Junior college once told us, that back in 1979 a 5MB drive (yes, five megabytes) cost over a $1000. Most of you can’t imagine how they even manged- maybe just like how the paleolithic man hunted with stone and wooden tools. Today, with rebates you can pick up 250GB internal IDE hard drives for $90 or so. Grab four, and you’ve got yourself a full terabyte for less than $500. Internal 500GB hard drives have recently appeared on the scene, and go for a premium so they’re still about $350-$375 for the internal versions. Presumably, those will be down in the $175-200 range by this time next year when, hopefully, we’ll be seeing companies releasing 750GB and 1 TB internal drives. What comes after the terabyte? There’s the petabyte (1024-TB). Then comes the Exabyte (1024- PB or exactly 1,152,921,504,606,846,976 bytes). Next is the zettabyte followed by the yottabyte. At this rate of growth, beginning with the 1979 5MB drive we have arrived at one terabyte desktop drive in 30 years.

Considering this increase in capacity of 200,000 to 1 and a fall in price of 10 to 1, I reckon, roughly, that by 30 years hence we will be looking at an Exabyte drive selling less than a $100 giving us the capability of storing data equivalent of about 50,000 years of DVD quality video or if you are rich enough to buy five of those you shall be able to store all words ever spoken by human beings till date. And you think you have accumulated enough crap in your hard disk today! Then what will you have to say in years to come? Although I suspect, there will always be those who will still be using their 1TB thumb drive to store their “important” stuff.
Read more >>

This is Amulya Khare's blog cum website. You can know more about him by viewing his profile.

Read about his views and ideas on topics that grab his attention.

Also you can view his work and projects.

Included here are some resources and articles that you might find interesting or helpful.