Monday, April 29, 2013

In which we discover that gcc is not Latin

Had a very odd bug today while installing Prover9. Figured I'd record it for my (and maybe others') future reference. (The current version as of this writing is 2011-11A; at least one older version had the same behavior on my machine.)

Background: I'm messing around currently on a lightweight Linux called Puppy. Like most (all?) flavors of Linux, one is encouraged, when adding software, to compile it from source when possible. I've used gcc, the out-of-the-box GNU compiler, to compile a couple of little C++ exercises; but not until today had I decided to compile anything nontrivial.

Prover9 is designed to be downloaded as a tarball, unpacked, and then compiled without requiring any smarts on the part of the user. The unpacking was easy.

The process of compilation was supposed to be accomplished by simply giving the command
make all
to the shell. Now, keep in mind that at the start of this process I have only the slightest idea what is supposed to happen when I issue this command.

Much to my frustration, after a big bunch of output lines had scrolled across my terminal, make halted and caught fire. The topmost error in the stack, as much headscratching finally elucidated, was
undefined reference to round
while gcc was trying to compile one of the C sources.

Google sent me to this Stackoverflow question, which was thankfully not voted down (though a few people apparently tried). I still don't quite understand the details: basically, older versions of C core libraries don't come with certain obvious functions (in this case, round and ceil), and getting the compiler to pull in appropriate definitions for these functions requires issuing some extra instructions.

What's interesting is that the author of the compile (make) script issued (one version of) these extra instructions. If you unpack the archive and open up /path/to/archive/LADR-2009-11A/provers.src/Makefile, you will see at line 66
prover9: prover9.o $(OBJECTS)
    $(CC) $(CFLAGS) -lm -o prover9 prover9.o $(OBJECTS) ../ladr/libladr.a
The part that I'm interested in is the -lm instruction flag. It basically is needed in the course of linking libraries (like the math library containing round). However, my version of gcc wants this flag to be at the end of the line -- it complains (and more importantly, compilation halts and catches fire) with the flag in its current location.

The user can of course go into a text editor and manually edit Makefile so that -lm follows $(OBJECTS) (separated by a space on both sides). This worked for me: compilation completed successfully and all three included tests passed.

Monday crockery

I've really got to start taking photos before tucking in on Monday nights.

So we've got an ongoing crock-pot night, mostly because Monday night is chorus night. Tonight, I opened up and improvised. No recipe.

3 PM:
4 chicken thighs (or breasts I suppose)
2 russet potatoes
2 tbsp chili sauce
1/4 cup milk or coconut milk
ground black pepper

Place potatoes into bottom of crock pot. Pour milk and chili sauce into a mixing bowl and mix thoroughly. Dunk chicken into chili mixture, then arrange chicken on top of potatoes. Pour any remaining chili milk over, cover, and set crockpot to low.

9 PM:
1 head chopped fresh or frozen broccoli
1/4 cup shredded cheddar
Water for steaming

Steam broccoli. When cooked, sprinkle cheese over and melt.

Beverage pairings: Sierra Nevada Pale Ale.

Thursday, April 25, 2013

Torture is a bipartisan value

I was talking to Ms Heel-Filcher about the new report out, that says that responsibility for torture went up to the highest levels of the executive. Most of those in that chain of command are still employed by the U.S. in positions of authority and trust: in the CIA, Defense, State, and elsewhere.

Ms Heel-Filcher asked the question "How likely is it, do you think, that Obama doesn't know the extent of who's responsible for the U.S. torture program?"

My answer, as of this week? Zero. Total impossibility.

You see, as long as there was plausible deniability, as long as the "a few bad apples" parry was viable, Obama's choice not to prosecute those few bad apples was understandable. Wrong, reprehensibly wrong, even on its own terms, but understandable: why would you want to drag the country's collective consciousness through the pit of evil that such a prosecution would represent? (Because if the victims had been sorority girls instead of brown men with beards...)

Now the situation has changed. Supposing for a moment that Obama had been lied to by the intelligence and defense agencies -- had been convinced by his internal accounting that the responsibility lay near the leaves and not at the root -- then the conclusions of this report would, if allowed to become the new normal, spell the end of Obama's actual use of power. If the defense/intelligence structure can pull that kind of coverup on POTUS himself, and face no consequences when it's exposed? Then they're running the show, and POTUS himself is a muppet.

I'm fairly sure that Obama's not a muppet; and I'm damn sure that he doesn't see himself as one. Which leaves him with two options:

Either the President was actively complicit in the covering up of the chain of command giving orders to torture; or anyone in that chain, above the level that the President did know about, needs to spend the rest of their life in Leavenworth. Not just for torture, though that's enough on its own to put you there -- but for trying to make a muppet out of the President in the process.

Tuesday, April 23, 2013

Microaggression on two wheels

I'd like you to imagine something with me.

Imagine you're biking home from work. It's a fine day, verging into hot, and the two-lane road you're riding on, like many here in America's heartland, giveth and taketh away its bike lane as it meanders through the residential and commercial spaces. This means that you get up close and personal with cars and trucks of all varieties, as they work to keep their left mirror from breaking the double yellow plane and their right mirror from breaking mine. Never mind that three-feet shit -- that rule isn't even aspirational at these scales. Not even the cops maintain a three-foot spacing when they cruise past on roads like this.

Imagine that, as you've spent some time out on the roads, you've accumulated a bit of a sense: that some (not all, surely, but a goodly some) of the drivers out there resent the hell out of your presence on their roads. If you've done any level of cycling, this will not require any imagination at all.

Imagine that you're on this road I've described, and you've pulled up to a red light. You've pulled up to the white line, alongside the front vehicle, a heavy pickup. No late-model vanity vehicle this; it's got some discolorations, some dings, it ain't shiny. And on the rear window it sports a sticker: "When the tailgate drops, the bullshit stops."

Like I said, imagine it's a hot day. The windows of this truck are rolled down -- you'd be willing to lay money they crank down by hand, none of this electronic window operation. But it's not until the light turns green that you hear anything said by the two occupants of this truck, as you hitch your weight back into balance and dump kinetic energy into the first downstroke to get across the intersection: "Lucky I don't just run you the fuck over".

Imagine that the truck turns through where you were a moment before, so you don't even get the chance to look in the window to see if you might possibly have misheard.

Do you imagine that this completely unwarranted outburst might have the effect of communicating that you and your bike are unwelcome -- that these roads are in fact, not our roads (meaning yours and mine and the car- and truck-drivers') but ours (meaning, excluding you)? Do you imagine that you might run through this event the next time you're swinging out from your dwelling with no airbag but your helmet? Do you imagine that you'll stop biking because of it? Me neither. That wasn't the question.

Now, imagine if you would, a world where you had no option but to use the public roads as a civilian, and the armored cavalry frequently remind you of your second-class status. Some do so with words; others do so by driving as if you weren't there. Imagine years and years, a lifetime, of being unable to get to school, to work, to any part of your life outside the narrow confines of your house/apartment/cardboard box down by the river, without being made to feel an interloper. Taking up someone else's space, richly earned by virtue of them piloting something heavier and with seat belts and airbags.

If you have imagined with me thus far, dear reader, you'll have some sense of what I, as a white straight cis male, imagine that life must be for many of those who are not white, not male, not cis, not straight. To have to move through worlds where you are constantly treated as encroaching.

And in the event that you, dear reader, identify as a Men's Rights Activist or something isomorphic, imagine for a moment if there were organizations founded, websites set up, hordes of dittoheads and DDOSbots deployed, to sully the name of every cyclist left bleeding on the side of the road and to insist on the uniform innocence of anyone accused of running them down. It must have been the cyclist's own fault, the dirty slut. Just look at those skin-tight shorts he was wearing.

Sunday, April 21, 2013

A nice little finite group exercise

Exercise 1: Using the Structure Theorem for Finite Abelian Groups, or otherwise, show that a Sylow \(p\)-subgroup of a finite abelian group is a characteristic subgroup.

Exercise 2: If \(N \triangleleft G \) is a minimal nontrivial normal subgroup, and is finite and abelian, then \(|N|\) is a power of a prime.

Friday, April 12, 2013

Soilworkers of the world, unite!

Hatchet: righteous riffage, but accessible.

Bunch'a' Blackguards
New songs: "In dreams", "Rise"

Who the fuck is Jeff Loomis?
Answer: a left hand attached to four instrumentalists, the lot of whom can't write a song to save their own asses.
Said left hand is damn hypnotic, though.

And the band themselves...

Thursday, April 11, 2013

Music to grade by

Desperately racing to try to grade my half of the exam before hopping a plane to Colorado tomorrow... I hope that this brand-fucking-new-and-dripping-with-corrosive-goodness death metal album (Coils of the Black Earth by Maveth) isn't coloring my grading. Well, not too much anyway ;)

Wednesday, April 3, 2013

Iain Banks is dying

Today brings the truly sad news that international treasure Iain Banks has terminal cancer and has written his last book (The Quarry, to be released this year).

I have been recommending Banks' novels to everyone I meet ever since discovering him about four years ago. (When Borders went under, I went to every store clearance event specifically with the goal of scooping up his books.) The Culture novels (I hesitate to call them a series, since the only persistent character is the civilization itself) have excavated a huge new region for what sci-fi can accomplish. Instead of the futuristic-feudal imaginings of Asimov or Herbert, we have a vision of humanity embracing its independence from want and explicitly devoted to the flourishing of all persons (whether biological or synthetic).

He will be sorely missed.

Recommendations: For a standalone story, The Algebraist is a great read (fair warning: its actual algebra content is minimal). To be introduced to the Culture universe, start with Consider Phlebas, or possibly The Hydrogen Sonata; then move on to The Player of Games. Do not miss Surface Detail (or as I like to call it, The Girl With The Fractal Tattoo), which tackles the idea of hell (and in the process, the morality of waging war to end human personal rights abuses.