Following on my last entry, where I built a better pre-commit
hook to ensure
every commit in my Git history passed make check
with flying colors, I
realized something today about my good friend, rebase
.
[...]
Recently a friend turned me onto an interesting article about a problem I had
just recently discovered about Git and its pre-commit hook:
Committing in git with only some changes added to the staging area still
results in an “atomic” revision that may never have existed as a working copy
and may not work.
[...]
This has probably been written countless times before, but I found myself
needing it today and it was quick to write. It lets you read characters from a
char array in C++ via the istream interface:
#include "ptrstream.h"
int main() {
ptristream in("Hello, world!\n");
char buf[31];
in.getline(buf, 32);
std::cout << buf << std::endl;
}
Handy for if you don’t want std::istringstream
needlessly copying character
strings.
[...]
There is a new version of Ready Lisp for Mac OS X available. This version is
based on SBCL 1.0.24 and Aquamacs Emacs 1.6, and requires OS X Leopard 10.5.
The only changes in this version are upgrades of many of the dependent
packages.
[...]
I’d been avoiding adding full Unicode support to Ledger for some time, since
both times I tried it ended up in a veritable spaghetti of changes throughout
the code, which it seemed would take forever to “prove”. One branch I started
used libICU to handle Unicode strings throughout, while an earlier attempted
using regular wide-string support in C++. Both were left on the cutting floor.
[...]
The other day I finally implemented a feature in Ledger which I’d avoided
doing for a full half-year. The reason? Every time I thought about it, my
brain kept shutting down. It seems my brain doesn’t care for math much, or for
mathy problems, so it always seemed as if something better needed doing…
[...]