Thursday, October 30, 2008
Installing Player / Stage
Tuesday, October 28, 2008
Good DVI to PDF Conversion
- dvips -P cmz -t letter -o file.ps file.dvi
- ps2pdf file.ps file.pdf
Wednesday, September 10, 2008
Lines Per-Page in LNCS Formatting
Tuesday, September 9, 2008
Disabling Intellisense in Visual Studio
The simplest way to disable Intellisense for a solution/project is to simply create a directory with the same name of the intellisense file in the directory where the file normally resides. In other words, if you have a Stuff solution, delete the Stuff.ncb file in the directory where Stuff.sln resides and create a directory named Stuff.ncb. Every time you load the solution a dialog panel will be displayed warning that intellisense will be disabled, but other than that everything seems to operate normally.And it works!
Saturday, August 9, 2008
Poor Boy's Header Dependancy Graph
Spent a few days breaking up a nasty cluster of inter-header dependencies. The code base contained a large core of header files that each included lots other header files that were not needed. That kind of thing irks me like fingernails on a chalkboard. I decided to graph header includes to visually look for odd includes, connected clusters that can be merged into a single header file, and redundant includes. My solution simply generates a dot graph for easy visualization.
#!/bin/bash
# 'Cause bash bugs suck
set -o nounset
set -o errexit
BASEDIR=$1
echo "digraph depends_on {"
for file in `find $BASEDIR -name "*.[ch]" -print | grep -v "tools/"`
do
for include in `grep "#include" $file | tr \< \: | tr \> \: | tr \" \: | cut -f2 -d\:`
do
f=`basename $file`
i=`basename $include`
echo " \"$f\" -> \"$i\";"
done
done
echo "}"
Monday, June 30, 2008
Cygwin Copy and Paste
- Open Cygwin
- Right click on the Cygwin icon in upper left of window frame
- Check 'QuickEdit Mode' from the properties menu
Tuesday, June 10, 2008
Building Valgrind Without Root
Word on the street is that support for debugging Wine using Valgrind has continued to increase over the past year. I decided to give Valgrind another whirl and see what I can find. I'm currently working away from home on a computer that I don't have admin privileges on and that made the Valgrind build a little more exciting.
$ sh autogen.sh
aclocal: configure.in: 58: macro `AM_PROG_CC_C_O' not found in library
Bummer. Valgrind requires a recent version of autotools. The distribution that I'm running on uses a default of automake-1.4 and aclocal-1.4 as specified in /etc/alternatives. Fortunately, 1.9 versions of both tools are installed. Some quick symbolic links to a ~/local/bin and a redefine of my path cleared up those problems and I was good to go.
Setting Up New Workstations
Dot files
- bashrc
- vimrc
- vim (directory)
- irssi (directory)
Firefox Add-ons
- Add Block Plus
- Flash Block
- It's All Text
- Session Manager
- Tabbrowser Preferences
Programs
- Ion
- Vim (with all the good stuff)
- Git
Thursday, May 29, 2008
Debugging in Python
Tuesday, May 6, 2008
Latex and Letter Paper
- Specify letterpaper in the documentclass command
- Specify the paper size when converting from dvi such as: dvips -t letter mydoc.dvi -o mydoc.ps
Wednesday, April 30, 2008
Inline Functions in C
Thursday, April 24, 2008
Multi-Architecture Builds
- Core OS kernel (same code base on multiple targets)
- Processor specific drivers
- Platform (hardware attached to processor) specific drivers