Fiddling around
A week ago in database class, we linked our first tables together in Access. (Aren’t you proud of us?) As it turns out, the UI for this is more than a little ridiculous. It’s drag-and-drop primary key to foreign key, which makes sense—BUT the foreign key must already have been created in the second table, and must be the same datatype as the primary key in the first table.
Well, duh, if those are the requirements, why not just drag-and-drop the primary key and have Access create the foreign key?
Which is precisely what our prof, a sensible woman, thought Access did. Took me a minute or two of fiddling to figure out that no, Access demanded an existing field as foreign key. When the rest of the class plus prof hit that impasse, I put in my two cents’ worth and we collectively got it cleared up. No big deal.
I headed for the commons afterwards to wait for my next class to start (hello, Marathon Monday—two two-and-a-half-hour classes one after the other), and was approached by another student who (I swear) looked at me as if I’d sprouted a cyberpunk halo. “So… you already know all about databases.”
“Nah. I mean, I run a couple for work, but that’s rote codemonkey stuff. I don’t know anything about how to design them; that’s why I’m here. Believe me, I dunno anything more about ERDs than anybody else!”
She seemed relieved. “Oh, good. I thought I was behind everybody else or something.”
Based on one minor fiddle? Get real, woman! I did not say. “No, no. We’re all over the place in this class.”
And in HTML workshop last week, I got the one I always get: “Where did you learn this stuff?”
By being dropped in the deep end and swimming out. Because the frustration of not knowing it got to be more than the frustration of learning it. Most of all, by fiddling around.
I’m not, mind you, the type to fiddle for the sake of fiddling. Too lazy. I can let a lot of rough edges go for a long time because I’m not bothered enough to fix them. (The “no comments” bits in CavLec’s archives are an apposite example; I could delve into WordPress and excise that crud, but I don’t need to, so I haven’t.)
But if I need to get something done, and I think the software I’m looking at can do it, and I think I can figure out how to make the software I’m looking at do it, well, I don’t just sit there—I fiddle. And most of the time, I can fiddle it into something that pretty much resembles the outcome I wanted. Sometimes I can’t. Sometimes I give up in disgust. Sometimes I get a vague “this will be more trouble than it’s worth” sense and don’t go any further (Linux desktop, anyone?). But a lot of the time, I can make it work.
I see so many people in SLIS who stop dead at the first command popup they see, afraid to touch anything. Who won’t hop through menus or dialog boxes lest they “break something,” even on a throwaway test database that will be deleted at the end of class anyhow.
Now, on Linux, I admit I’m this way myself. Linux is fragile as all hell when it comes to fiddling; inexpert fiddling with config files and command-line options can make a mess Torvalds himself couldn’t fix. (Don’t argue with me. I’ve seen it happen.)
But consumer-level software? Is kinda made to be fiddled with. That isn’t to say it’s made well, or made completely bork-proof—Access not creating its own damn foreign keys is pretty good evidence to the contrary. Even so, eight times out of ten fiddling won’t hurt a thing, and the ninth time you can prevent damage by working on a copy of whatever you’re working on. (The tenth time, you’re screwed. Price you pay.)
So for heaven’s sake, people, fiddle! Knowledge does not descend from the heavens to anybody but prophets. The rest of us have to fiddle around until we figure it out.