0. Big-endian: MSB has the lowest addr. Network Byte Order.
Little-endian: LSB has the Lowest addr (LLL)
Test:cast int ptr to char *
dereferenced ptr is 1: little-endian
dereferenced ptr is 0: big-endian

0.1 Quick Sort: O(n.lgn) Javascript progress
Radix sort: O(k.n)
http://en.wikipedia.org/wiki/Radix_sortRadix sort



0.1. float :
Sign bit: 1
Exponent width: 8 (Emin (0x01) = -126, Emax (0xfe) = 127)
Significand precision: 23
0000 0000 = 0
8000 0000 = -0
7f80 0000 = Infinity
ff80 0000 = -Infinity

Double precision memory format:
Sign bit: 1
Exponent width: 11
Significand precision: 53 (one implicit)

0000 0000 0000 0000 = 0
8000 0000 0000 0000 = -0
7ff0 0000 0000 0000 = Infinity
fff0 0000 0000 0000 = -Infinity

Emin (0x001) = -1022
Emax (0x7fe) = 1023
Exponent bias (0x3ff) = 1023

Exponent bias (exponent is not stored as 2's complement).
true exponent = written exponent - exponent bias float comparision: It is never safe to test floating point values for equality on your human built computers which store all values in binary. You must check that the floating point is accurate to within a certain tolerance, i.e. plus or minus a very small value away from the value you are comparing with must be considered acceptably 'equal'. Float/Double comparision:
Ed note: make the following a sidebar:

Surprises!

Floats and doubles lay a subtle trap for equality and hashing. For brevity, we'll let bits(x) be short for Double.doubleToLongBits(x) or Float.floatToIntBits(x), depending on whether x is a double or a float. Normally, x == y if and only if bits(x) == bits(y). This rule breaks in two particular cases, with negative zero and NaN values such as 0.0/0.0:

x y x == y bits(x) == bits(y)
0.0 -0.0 YES NO
NaN NaN NO YES

If your object has fields that could conceivably have these values, then you must be careful. Either use  bits(x) == bits(y) in your equals, or in your hashCode use one of the following according to the type of x.

(x == 0.0F ? 0 : Float.floatToIntBits(x))
(x == 0.0 ? 0L : Double.doubleToLongBits(x))

0.2Virtual memory: The advantages of virtual memory are that a program needs no re-write on start-up, one can run programs on systems with very little memory, and one can easily juggle many programs in physical memory because fragmentation of a program’s code and data regions is allowed. In contrast, systems that require program regions to remain contiguous in physical memory might become unable to execute a program because no single unused space in main memory is large enough to hold the program, even if many scattered unused areas together would be large enough. The disadvantage of the virtual addressing scheme is the increased amount of space required to hold the translation information and the performance overhead of translating addresses. These overheads have traditionally been no more than a few percent.
Adv:
# programs that are larger then the physical memory can be executed
# more processes can be running at the same time
# less I/O

1. Freeware Hex Editor
2. DirectX
a) andyPike site
b) fallout

3. Routing:
BGP demystified
BGP wiki
OSPF wiki
4. Debugging:
From crash point like: C [libcsvpn.so+0x11751] _ZN14CSPacketSender10SendPacketERK7JVHDataPvi+0x89:
[root@plethora45 bin]# c++filt _ZN14CSPacketSender10SendPacketERK7JVHDataPvi
CSPacketSender::SendPacket(JVHData const&, void*, int)

[amahajan@localhost Release]$ objdump -d PacketSender.o
GNU binary utilities (objdump, addr2line, strings
how to use objdump
objdump Symbol Tables util
debugging
c++filt demangling
ldd (library dependencies)
purify and valgrind (memory access errors)
gdb/ddd debuggers
addr2line
Real good article on Visual Studio C++ mapfile



5. UML
UML Notation

6. Tree Tree read from file (two traversals)

7. Scope and lifetime of variables: The scope of a variable decides where a variable�s name can be used in a program. The lifetime of a variable decides how long the storage for that variable exists in memory. (In most programming languages the scope of a local variable is at very least a subset of the lifetime of the variable. The lifetime of a local variable is from the beginning of a method all the way through to the end of a method, regardless of the variable�s scope.

8. Design patterns: Various patterns: 8. Windows: CreateProcess and _execl/_spawnl: When java is launched from console application say, abc.exe, using CreateProcess() the java print msgs are not sent to the console of abc.exe was lauched. _execl does the trick... the msgs are displayed in the console of abc.exe.

1