A Brochure Design

Recently, for my Semester 1 module LSM1302: Genes and Society, I designed a brochure as an assignment. The purpose of the brochure is to propogate the genetic testing for breast cancer. I had a fun time doing this brochure. Used photoshop! Here are some snaps:




In the whole process I learnt some important facts about breast cancer!
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 >>

Blogger Template- Working with CSS

I recently found time to expand my knowledge on web-designing by exploring in detail CSS-Cascading Style Sheets. For those of you who hear it for the first time, my friend wikipedia describes it: "Cascading Style Sheets (CSS) is a style sheet language used to describe the presentation (that is, the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can be applied to any kind of XML document, including SVG and XUL."

I had the idea of its syntax and working but never did i actually put my skills to practise. So I decided to start with something simple but something that would be useful and not a waste of time. Thus, I decided to create a blogger template.

Designing a blogger template from scratch would have taken ages.. so i decided to start with a pre-designed template and modify it with my styles and classes to give it the look i wanted. What came up as a result was this template:



This template incorporates shades of black, white and blue.. includes a favicon like the one for this blog, a navigation bar and several other customizable features. To be honest i think the blog banner is a bit too simple and can be futher improved. Since I don't have enough time now.. maybe I will update it in future.

You can download this template and use it for your own blog. Just visit the demo blog above and find out the details. Feel free to give your suggestions!
Read more >>

Word Game Solver

Word games like text twist, wordShuffle are great for time pass. They are not just intellectually challenging but also fun. All you need to do is figure out all possible words using the letters given within the specified time. It not only requires a strong vocabulary but also a good visual memory. To try out your skill at such a game play one below:



My first encounter with this game was when a friend of mine challenged me for a game on facebook. Since I am not into playing flash games (except maybe during computing lessons in lab) the game was not intriguing but something else was -- the fundamental logic with which the mind works to find the scrambled words. My programming instincts encouraged me to code this logic and what came up as a result was a word game solver.



This piece of software takes in the scrambled letters and gives you all the words that can be formed with them. So if you are too stressed playing such a game then you can have the computer find the words for you. You can download this solver here:


Most people may regard this as cheating. However if you use it for friendly games and in good spirit, it may not be of major ethical concern. Have regards for those who have spent months of practice and loads of mental ability to set high scores.

Read more >>

Ideas Worth Spreading

With the belief that there is no greater force for changing the world than a powerful idea, TED website is one of those websites which deserve a click every time you browse the internet. TED is devoted to giving millions of knowledge-seekers around the globe direct access to the world's greatest thinkers and teachers. Though TED stands for Technology, Entertainment and Design, it can be best described as “a global community of thinkers from every discipline and culture who seek a deeper understanding of the world and hope to use the power of their ideas to change attitudes, lives, and - ultimately, perhaps - the world.”

I first landed on this website through an external link and what I found here was truly impressive. The website contains talks by the world's smartest thinkers, greatest visionaries and most-inspiring teachers on various themes like technology, entertainment, science, business, design, culture, arts, global issues and many more. The talks include inspiring speeches, demonstrations of upcoming technology, interesting research results, unconventional explanations, and much more. It is dedicated to the brightest minds of our time talking about things that they love and that changed their lives. The videos are freely available so that millions of people can gain a better understanding of the biggest issues faced by the world and inculcate a desire to help create a better future.

Here is the link to this website:

It does have ideas worth sharing.
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 >>

EA Sports Cricket

If you enjoy cricket and play computer games, EA sports Cricket is the one game you must have played before. There is no better graphics PC cricket game than the latest version from the EA sports cricket series. However, soon you find out that the quality of game is nowhere close to its contemporaries like FIFA or NHL. Player names for most teams are misspelt. Hence even if “S.Tendelki” scores a hundred, you do not feel the same joy. You miss the real excitement as the teams lack key players who recently entered the squad. The match winning partnership between “Dhoni” and “Yuvraj” is not as electrifying, when they look like some road-side “pan-walas”. And worst of all comes when you have played the game for a few weeks. You realize, you can hit sixes every ball, take wickets by bowling at the batman’s leg, and win almost every match you play. Finally you conclude that the game is nothing but boring. However, your deep-rooted interest in computer games and cricket, forces you to wait patiently for the next version of the game to be released, in hope that this time the game would be free from such flaws. But, I can assure you that with the little budget allotted to the EA Sports Cricket development team it shall not be possible in the near future.

However, do not be disappointed! Just take a look at the few screenshots below:



Do not be confused, this is EA sports cricket 2007 but not the original version. This is the self modified version of the game. The team rosters are updated, players have almost similar faces, new jerseys for all teams, there is IPL, and most importantly there is something that you do not see in the screenshots. There is an improved gameplay with which, shots can be played 360 degrees on the ground.

The next question that would be popping in your mind (of course, if you give a damn about all this) would be how is it done? The answer is: It just takes patience, enthusiasm, passion and an internet connection. If you have all this just follow the link below:


Here are a few things you must learn about to enjoy the game to the core:

  • Player Editor: Player Editor07 allows you to edit fully all the player names, abilities, stats etc. It is easy to use and has import/export features to allow you to share players and teams.
  • Gameplay Patch: Improve the quality of play with patches for features like IPL, or 360’ shot play, better AI, etc.
  • Stroke Editor: Allows variation of height and power and direction of strokes

You may also choose to learn about ways to have extra fun with the game:

  • Face Making: Create faces of cricketers and watch them play. You can create your own face.
  • Kit Making: Learn how to make custom kits for the teams, launch your own kit or improve on the existing ones.
  • Bat Making: Create your own bat, with customized features like your name or signature.
  • Stadium Graphics: Create stadium banners for a more realistic look or just make whatever banner you want to be displayed on the field.

Above all, you can download pre-made faces, bats, stadiums, kits etc. to use it with your game. Have fun:)

Read more >>

India in its colors..

The visual world, the world as we see it, is a world populated by colored objects. Typically, we see the world as having a rich tapestry of colors - fields, mountains, oceans, hairstyles, clothing, fruit, plants, animals, buildings, and so on. Colors are important in both identifying objects, not only in locating them in space, but also in re-identifying them. So much of our perception of physical things involves our identifying objects by their appearance, and colors are typically essential to an object's appearance, that any account of visual perception must contain some account of colors.
Over the centuries, colors have been used for signifying meanings in heraldry, given to the months of the year and the seasons, religious symbolism, and for everything from weddings to babies. Color is the most important element of India, from bright colorful clothes to beautiful and creative paintings, pottery and handicrafts. From mouth watering Indian cuisines to the seasons and festivals, it all reflects the distinctive and rich culture and colorful spirit of the people of India. Here in my collection I have tried to have colors, themselves speak of India and its spirit.













Note: The above images have just been edited by me. Thanks and credits to the original photographers for the image.

I feel this collection is incomplete because several aspects of the indian culture and spirit have not been included. I hope to add other images to this collection.
Read more >>

Agent based navigation in a 3D maze

This research project is a combined work of Amulya Khare and Rajul Gupta under the supervision of Asst/P Low Yoke Hean, Malcolm (School of Computer Engineering, Nanyang Technological University). This project was a submission for the Nanyang Research Programme and won a merit award. in the year 2007

Introduction
Civil-military operations such as Search and Rescue (SAR) operations require the rescue team to navigate through unknown terrains and environment. Such operations are aimed at finding people who are lost or injured in urban or remote areas which might be difficult to access. In many cases it may not be feasible to use human rescuers due to the hazardous nature of the environment (e.g. presence of bio-chemical materials or bombs). So such operations require the use of human as well as software controlled robotic agents which may efficiently carry out the required task without much risk to human lives. In operations where large numbers of robots are deployed, these robots have to be controlled by software agents and use different strategies for path-planning to complete the SAR operation quickly and effectively. Such tactics include implementation of different kinds of searches by different robots and co-ordination between them to achieve a common goal. The testing of the efficiency of such robots in different terrains, if done in real world environment, may result in the damage of the robots and may also require resources for the creation of such the test environment. Thus a 3D simulation environment of the terrain can be created to provide a realistic testbed for these software controlled robots. Such an environment is inexpensive and easy to create and provide a fast way to obtain test results. Our project aims at creating a 3D maze as a testbed to demonstrate the efficiency of the different tactics used by these robots in a search and rescue operation of an unknown terrain.

Project Overview
We have used Unreal Tournament (UT), which is a commercial-off-the-shelf (COTS) game system, as a platform to create our 3D maze. UT game engine provides comprehensive tools for the creation of the maze along with advanced visualizations for realistic game play. The UT bots in the maze introduced by JBOT client will be controlled by a Java program that would define its path for the SAR operation in the maze. Three UT bots will be performing three different kinds of searches (Depth-first-search, Breadth-first-search and A*(Star) search) in the same maze simultaneously. The efficiency of these algorithms depends on the map of the terrain and the destination location. By using different maps, the efficiency of the algorithms in different SAR operations can be evaluated.

Project Poster



Click to Enlarge

Research paper
You can view our research paper:
CLICK HERE
Screen shots







Read more >>

TicTacToe Xtreme

This is the classical strategy game of Naughts and Crosses or more popularly known as Tic-Tac-Toe. The game comes with a twist that makes it more enjoyable. Before the game starts, a player has to be chosen among the available options to compete with a smart computer A.I. The game begins with a certain balance in each player's account. Each victory wins you a certain amount from the opponent. Strategic planning is required before each round as there may be tradeoffs. Player going first may have an advantage as he gets to make moves at 5 out of nice places. You may chooses to go first or let your opponent go first. However if you decide to take the advantage you will have to give up certain amount. The one with a better overall strategy who wins all the money from his opponent is the ultimate winner. The game is over when one of the player is bankrupt. The screens for the game are below:


The Home Screen


Choose a Player

The Game Screen


You can download this game for free. Just follow the link below:
Download
Read more >>

BalloonStrike


This game is a first person shooter which involves shooting balloons and scoring with limited resouces like time and ammo. The game involves three stages of difficulty: Easy, Medium and Hard. Each level offers you a different objective and requires different skill and strategy. Top score in each level is stored by the game along with your name. The screenshots for the game are below:

The Home Screen


The Game Screen

You can download this game for free. Just follow the link below:

Download





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 >>

The First Click

The idea of game programming struck me when I was talking to a friend about doing something during the holidays. I began researching about programming games using C++. I chose C++ because I was very familiar with most (if not all) aspects of this language. During my research I came across this word “Allegro” a number of times. My next step, as any amateur researcher, was to check for “Allegro” on Wikipedia and what came up was:

http//en.wikipedia.org/wiki/Allegro_library

“Allegro is a free and open source software library for video game development.

The functionality of the library includes support for basic 2D graphics, image manipulation, text output, audio output, midi music, input and timers, as well as additional routines for fixed-point and floating-point matrix arithmetic, Unicode strings, file system access, file manipulation, data files, and (limited, software-only) 3D graphics.”

This description was good enough for me to look for some online site that describes how to download and install allegro to work with my Microsoft Visual C++ Express Edition 2005.

Deviating from the topic let me first talk a bit about Microsoft Visual C++ for those who are hearing it for the first time.

“Microsoft Visual C++ (often abbreviated as MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/CLI programming languages. It has tools for developing and debugging C++ code. The idea of express editions, according to Microsoft, is to provide streamlined, easy-to-use and easy-to-learn IDEs for less serious users, such as hobbyists and students.”

In simple terms, it just provides a platform for you to write your codes, compile them and create executables. Other C++ IDE is DEV C++ which is preferred by other programmers. However I will stick to explaining MSVC since I like its interface, formatting and appearance.

Coming back to Allegro,

After a Google search I found these websites dedicated to Allegro Library.

· http//www.talula.demon.co.uk/allegro/readme.html . This might be helpful to understand more about Allegro and download latest versions and tutorials.

· http//wiki.allegro.cc/. This site contains most information you would need with extensive resources and hyperlinks.

· http//www.allegro.cc/ . This is a forum, which will be really helpful for troubleshooting and learning new stuff.

After going through the various sites I finally found this page which was dedicated to configuring allegro with MSVC 2005.

http//wiki.allegro.cc/index.php?title=Visual_C%2B%2B_Express_2005

I followed the links provided to download the compatible version of allegro and followed the instructions to install it. After some initial troubles with the configuration settings I managed to get allegro working however with a slightly different configuration setting than what was listed:

  1. Select Project / Properties....
  2. Under Configuration Properties / C/C++ / General, change Debug Information Format to Program Database for Edit & Continue (/ZI).
  3. Under Configuration Properties / C/C++ / Optimization, change Optimization to Disabled.
  4. Under Configuration Properties / C/C++ / Code Generation, change Runtime Library to Multi-threaded Debug DLL (/MDd).
  5. Under Configuration Properties / Linker / Input, add alleg.lib to Additional Dependencies.
  6. Under Configuration Properties / Linker / Debugging, change Generate Debug Info to Yes (/DEBUG).
  7. Press OK.

I added alleg.lib to the additional dependencies instead of alld.lib

Then it was time to start learning allegro programming.

The first and most useful tutorial that I used was C++ Game programming at http//www.cppgameprogramming.com/

It covered almost everything that I needed. Then to take a look at the advanced allegro features I directly jumped to the Allegro Manual and documentation which is so well-written that I didn’t require any further tutorials. With this I was on my way with game programming.

Read more >>

Who am I?

Read more >>

Contact Me..





Or find me at:



*All the images above have been designed by me..

Or leave a comment below..

Read more >>

Welcome!



I am Amulya Khare and this is my blog cum website. You can know more about me by checking out my profile. My views and ideas on topics that grab my attention end up in the blog entries. I have uploaded my works and projects here for you to have a look at. Also i have included resources and articles that you might find interesting or helpful.


You can give your opinion, thoughts or ideas about this website or any of my work. If you need any help or just want to drop by and say "Hi!", feel free to contact me.

Have fun at my site..




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.