Advanced C++ Techniques and Other Programming Issues
Woe unto the foolish programmer
who heedeth not Murphy's divine maxim:
That which can go wrong, will go wrong.
Unless you do something to stop it!
- Programming Aphorisms
- One-liners about programming.
A Software Pirate Shanty
The Law of Mediocrity
-
Operating System Issues
- Using Threads in C++ Applications.
- Some rules that will make your life easier when developing threaded applications
- Porting to 64 bit machines.
- See IBM's useful description of how various data elements, such as char, int, short, long, etc work on 64 bit linux platforms. Also deals with "endian-ness".
-
Legalisms
- Supreme Court makes patent trolling harder
-
The supreme court finally overturns
Republican patent law nonsense (and I'm a Republican!)
If the above link isn't working, see Patent Law News
- SCO Loses the Open Source Copyright Lawsuit Against Novell
-
Or if that link doesn't work, try this link
- Open Source gains legal standing in the courts
- Despite lawfirms spreading
FUD
about the saftey of using open source software
in commercial applications, legal standing for open source licenses is being
honored by the courts.
If the above link doesn't work, see: this link
-
Other Programming Advice
- Scripting Advice
- A strategy for quickly and easily constructing powerful command line scripts usuable on a wide variety of problems.
- Hints for using bash
-
Here are some ideas for using bash
- In your .bash_profile, add the following:
# # The following settings do three things: # # 1. They make sort consistent across all unix environments, and cygwin. # 2. They make grep (on redhat systems) run 30 times faster in some circumstances. # 3. They make string comparisons in sort and other locale related functions # be pure ascii string comparisons -- you don't get any language specific # re-ordering. Even the locale, us english, is not a pure ascii sort. Don't # know why, the did it just to annoy the living crap out of people who expect # sort to ACTUALLY sort! # export LC_ALL=C export LANG=C export LC_CTYPE=C # Standard aliases: alias ll='ls -l' alias cls="clear" alias sd="cd" # Tell bash to monitor xterm window size changes set checkwinsize=1
- In your .bash_profile, add the following:
- VI -- the visual editor
-
VI -- An advanced tutorial (or this)
Exuberant CTAGS -- the a great version of CTAGS - ETAGS ideas
-
Dump the TAGS file in ascii
Exuberant CTAGS -- the better ETAGS- Note: you can rename the ctags executable to etags and it knows to generate the etags output by default instead of ctags. Note that ubuntu provides exuberant etags by default but red had doesn't. Don't miss this cool tool.
-
WEB page maintenance
Mirroring: use lftp to push and pull web sides efficiently