Safe C++ Design Principles

This book is no longer available. You should Google or hit this book on Wikibooks here

If you want to learn software design and you are choosing the C++ language then Safe C++ Design Principles by Thomas J. Hruska, III is probably the best choice. It’s a high quality software design book.

I am member of c-prog yahoo group where Thomas is owner. I have been reading on each and every post, here and there, on his blog. I got chance to read it when he made book free for the group users. The book didn’t surprised me at all; You always expect some high quality work from him. Thanks Thomas for the book.

The book can be downloaded from here. [Not available]
He can be read on his blog from here.
You can buy his masterpiece software products form here.

Desktop Calculator

I always appreciate coding in standard C++. Desktop Calculator is a application coded in Standard C++. It is a application based on the example 6.1 in the book “The C++ Programming Language”, Third Edition by Bjarne Stroustrup. Desktop Calculator is a GPL software.

Customizing Command Prompt

Working with command prompt on windows is messy. Working with multiple version of a language/compiler on windows is a trip to hell.

Possible workarounds are:

  • Set all the paths and add tags in names of binaries
    (stupid. You would have to remember all names or you will have to use some naming convention; still you will keep guessing).
  • Create users and set different versions in each user’s paths
    (Foolish. Then changing version will be like logging as different user).
  • Use a Customized Command Prompt
    (Elegant. Developers friendly)

How to Customize Command Prompt.

Create a file Called YOURSYSTEM-VER-cofig.bat. Where YOURSYSTEM is the name of the system you are using and VER is the version of that specific system like python-2.6-config.bat.
Now put some codes in the file. Like:

Then create a new shortcut Right click on empty space or File -> New -> Shortcut.

Create new shortcut
Create new shortcut

Then type %COMPSPEC% /K "C:pathtoyourfile" in it

Creating shortcut

Then Rename the shortcut to a proper name.

Rename shorcut to a Proper name
Rename shorcut to a Proper name

Then click on Finish. Now Right click on the shortcut.

Command prompt shortcut
Command prompt shortcut

Select shortcut properties.

Shortcut properties
Shortcut properties

We can set the Fonts of the Command prompt.

Shortcut properties.
Shortcut properties.

We can set the color of the command prompt. like BACKGROUND, FOREGROUND.

Shortcut properties
Shortcut properties

We can even set the buffer and the screen layout of the shell window.

Shorcut properties
Shortcut properties


Costomized command prompt
Customized command prompt

Now you are ready to enjoy this very good feature.

I recommend you to keep all these files in one folder say with name config-all and with attribute as hidden.

INSAS – Indian Small Arms System

INSAS stands for Indian small arm system. It is an indigenous design of India. It was replacement of Indian military’s standard SLR rifles. It is chambered for standard NATO 5.56×45 mm ammunition. The project started in 1990 SITE by DRDO. It was in production in 2000. It was also exported to Nepal in discounted rates. It initially had some problems with it’s transparent magazines on very low temperature ((Like Siachen)), which were corrected latter.

INSAS project included

  • Assault rifle.
  • Carbine
  • LMG
  • Excalibur ( Advanced carbine with optics )

INSAS is neither an invention nor premium product. It is a perfect design which is inspired by many popular guns, some of them are still in service. It may not be sophisticated but it is found effective in Kargil.

Insas Excaliber

In the image you are viewing INSAS MK-1 with passive night vision optics on top

Insas Excaliber
INSAS Excaliber

Some of features of this gun are: “Its AK family design” and Polycrystalline transparent magazines.

Description of gun. ((Source))

Caliber (mm) 5.56
Muzzle velocity (m/s) 900
Length of Rifle (mm) Without Bayonet 960
With Bayonet 1110
Weight of rifle (Kg)Without Magazine & Bayonet 4.15
Effective range (m) 400
Range for Grenade (m) Multi mode 200
M36 150
Magzine Capacity (Rounds) 20
Cyclic Rage (Rounds/min) 600
Trigger Pull (kg) 2.10 – 4.00
Recoil Energy (Joules) 4.43
Barrel Groove 6 Grooves R.H1 in 200 mm.
Sight Fore sight Post Type
Rear sight Aperture
Type of fire Single, 3 Round brust

For more info:

Hello Everyone!

Welcome to My blog, This is my first blog. I will try to write something or other here. But mostly this will be my public archive of things I found useful. Kind of my online notes.

Your feedback are welcome.