Sunday, November 15, 2009

(destructuring-bind (a b (c d)) '(1 (2 3) (4 (5 6)))
"Should be 1 (2 3) 4 (5 6)"
(list a b c d))

Thursday, November 12, 2009

The Property List Editor (plist editor for Mac) is at
/Developer/Applications/Utilities/Property List Editor.app
You get it when you install Xcode.

Monday, November 9, 2009

Mac environment variables are set by adding them to
  ~/.MacOSX/environment.plist.

Don't add an entry for $PATH there, though. I'm still reeling from that.

Sunday, November 8, 2009

To convert to/from hexidecimal in emacs, it's advised to use M-x calculator instead of M-x calc. The single-quote key (M-x calculator-rotate-displayer) will eventually get you to the point that you're outputting with the correct formatter (instead of scientific notation). Then:
  • H to switch to hex i/o
  • C-y to yank a hex number in
  • D to switch to decimal
  • M-x calculator-copy to copy the number
  • backspace to clear the number from calculator
Then it's just on the killring and you can C-x o over and yank it.
Reverse the lines in a pipe with
( cat -n | sort -nr | cut -f 2- )

I hear there's something called 'tac' to do this, but I don't have it on my Mac (and can't find it in ports).

Friday, November 6, 2009

The gcc argument to print out all the preprocessor macros and their
definitions is -E -dD. (The -E is 'preprocess only and output to
stdout', the -dD is 'dump definitions'.) Make sure that
-fmessage-length is not set to 0 and probably you don't want -quiet
either if you're doing this inside Xcode.

Thursday, November 5, 2009

# simple git pre-commit hook to prevent checkins of stuff marked @NOCHECKIN
if test "$(git diff --cached | grep ^\+.*@NOCHECKIN)"
then
echo "@NOCHECKIN detected"
exit 1
fi
On MacOS / iPhone OS, NSNotificationCenter is the implementation of
signals/slots, like Boost.Signals.

hi

I'm a dude who writes code and plays around with a lot of different stuff, rarely getting anything done. I remember my thesis advisor had a huge knowledge base that he kept inside emacs, so that whenever he learned anything that was helpful but likely to slip his mind later, he would create a quick little note with as many searchable keywords as possible, so that he could look it up later. As I'm getting older and my memory is getting (more) terrible, I kinda want to do the same thing. Especially as I set up new machines, I keep forgetting how I did something on an old machine, and it's a superbummer.

So, here, I'm going to keep notes tagged with 'ffr' (for future reference) so that I can search all this crap later. Keeping it in emacs would be nice, but there's always the chance that if I'm descriptive enough, it'll help somebody else too.