black algae, learning make & ugly code

Today I’m posting on three little unrelated topics.
algae: S was showing off his aquariums while A was preparing dinner and he pointed out that one aquarium had an algae problem. He told me that fish poop contains phosphate and algae thrive on that. But the most striking thing, to me, was that the algae in this tank was black and spiky. I’d just assumed that all algae was green and slimy. Not!
make: I’m learning to write gnome programs, and they are built via make (like most gcc programs). After adding dirent functions scandir and alphasort to my code, gcc emits errors that look just like it can’t find the function defs. Although the c source contains #include <dirent.h> and the Makefile contains CFLAGS = -I/usr/include `pkg-config --cflags libgnomeui-2.0` (and dirent.h exists in /usr/include) so what’s up? I’m not looking forward to using autoconf — which seems like overkill for a project with a single source file — but I certainly AM looking forward to figuring out what’s wrong and fixing it. Googling make and gnome builds and stuff yields results that are either for rank beginners, or advanced coders — nothing for intermediate-type programmers like me. Waaaah!
ugly code: The current (May 2008) Dr. Dobb’s Journal’s editor’s note quotes Alberto Savoia with a pithy definition: “Ugly code is code that someone else wrote.”
‘Nuff said!