Oh, i just realised what i wrote above could be massively mis-read: i didn't do this in DF, i messed around in an educative program that tries to teach people the basics of machine code. It's a very small application on my desktop, but the processing power is around the level of the famous several-thousand-component megaproject known as the Dwarven Computer.
That's the major problem with all dwarven computing - even simple finite-state machines like calculators can get terrifyingly big and complicated, and actual computers are orders of magnitude trickier. Of course, we're wrestling with tools that weren't designed for computing in the first place and have to get less than enthusiastic simulated minions to perform all the installation jobs.
Fort news: i relocated my fort in the world with sentient dogs (i.e. abandoned, the original site was crummy and pointless and no dwarf would vote for the "stray war goblins") and am now quite sure that dwarfs refuse to wear clothes made from sentient creature leather. I've had several dwarfs migrate in and drop "goblin leather cap" and the like upon entering the map. It was clearly not item loss from a lacking limb
Interestingly, they will make leather clothes from imported "goblin leather" and trade them, but will not wear them.
I may have messed up their sentience somehow - they don't get hungry, thirsty or sleepy, unlike other tame sentients. Relevant tags i can see are:
[CREATURE:DOG]
[NAME:goblin:goblins:goblin]
[CASTE_NAME:goblin:goblins:goblin]
[PETVALUE:30][NATURAL]
[LARGE_ROAMING]
[COMMON_DOMESTIC][TRAINABLE][PET][CAN_TALK][CAN_LEARN]
[BONECARN]
[PREFSTRING:cruelty]
I.e., i just replaced the prefstring and name and added can_talk and can_learn.