about | contact | disclaimer | home   

S.KRAUSE

Relax, don’t do it ...

I’ll be making borscht and although I need one pound of steak, I have about 1.6lb. available to me. The remaining meat, sliced or shredded and properly spiced and browned, would make a nice ingredient, along with cheese and peppers, in a dish of scrambled eggs. Today scrambled eggs are a metaphor for my brain.


I have started drinking coffee in significant amounts these days, though until I purchase a nice (or even simple but not crappy) French press I will not really be preparing any at home. Instead I consume the mediocre (but tasty with sugar and creamer) hot stuff provided in the department. At home I resort mostly to a variety of teas; I am going through them now so as to reduce my inventory. This is the consequence of three goals: drink a lot of tea because I like it, drink a lot so I do not have any old, stale tea remaining, and drink a lot so I can replace what I have with a variety of other tasty flavors. For “quality” beverages I still have Steep & Brew (I like the pastries at the Fair Trade Coffee House, but their drinks aren’t as good; Espresso Royale is nice enough, but I’ve never really warmed to them as a place to constantly frequent).

I should be working right now—or later, or all the time—on my dissertation, though I find my level of concentration slipping. I usually do not feel as sharp as I used to, but feelings like that are difficult to evaluate. Perhaps the most fascinating book I’ve been reading recently is Roy Sorensen’s A Brief History of the Paradox (Oxford UP, 2003); I like to think that I can justify its relevance for my own work by claiming that paradox is yet another type of struggle with rationality, albeit one that works at a rather high level, whereas analogical reasoning focuses on the processes of meaning-creation and categorization rather than contradiction and (in)consistency.

On Sunday I once again had brunch with Sebastien and Craig, though this time neither Hal nor Heather were there, albeit for different reasons. I got picked up an hour early at around 11am rather than noon. The story of trying to find a table (Lazy Jane’s gets packed) is beyond the scope of this brief document, so let me just say that we had a table, gave it up in exchange for another that did not materialize, and spent another ten minutes or so wandering like vagabonds until space became available. Somewhere along the line I got on the topic of aesthetics, which led me to describing and justifying my work; both are entertaining and educational practices, for certain points of view and positions that almost take for granted are anything but obvious even to those who are college educated but not specialists in my field. After eating we stopped by the hardware store, and from there took a nice, leisurely walk to the lake and back toward Craig’s place. Along the way I expounded on a M. Turner essay I use. As our meandering approached its end Sebastien and I landed at the topic of formal incompleteness (Gödel and Turing, for example). I just need a portable cassette recorder or similar device to capture my vocal ramblings—I would clearly have enough material were I to do so.

A number of computer-related projects have also presented themselves to me. Last November I purchased two external enclosures; the “good” one I put together the day it arrived. Last week I took down my old server, for the harddrive problems had gotten too severe. Since I had backed up the website in December I only had a page or two of new material to concern myself, and Google’s cache came to the rescue. I lost my Apache logs and related analysis, but I have no real need for that information anymore. When Jürgen arrived I took apart the machine, removed all the drives, and inserted the 30GB drive into the second enclosure. As for the AMD machine, I have a few mini-projects for it.

I suspect that I will resurrect it as a server, but in addition I think I’ll work on getting the sound card to work. Since I have extra cards I’ll try to get two working in that machine, along with a few video cards. I cannibalized two ATI Mach64 cards from old Pentiums in the department, and I’ll insert them along with the Virge card that box has been running for seven years. It appears that Xinerama should be a simple matter of 1) getting each card and monitor to work individually, 2) making sure each card is identified by its PCI bus location, 3) adding a line or two to activate Xinerama and 4) adding a few lines describing the relationship between the various screens.

What I really need to figure out is “the best way” or at least a good/preferred way of doing authentication/authorization for a simple dynamic (sub)site. Suppose I have a few users. I want to provide generic content (standard viewing/searching, for example) to visitors who are not logged in. Users should be able to log in and get custom settings and content. There should be a flexible and rather generic (but not overly complex) permissions system so that depending on permission level(s) different types of users can get different content and abilities (add/edit/delete content). Systems like scoop do what I neeed, but 1) I want to learn this on my own, and 2) I’ve run scoop before, and for my current purposes it is overkill. Every little PHP tutorial and such has a little section on authentication, but they’re all similar and none really address security issues. Session management is touched upon through the use of cookies, but I follow the mantra “do not trust the client,” so I hesitate to overuse cookies.

My next project will then be, I suspect, mod_rewrite. As it stands at the moment, PHP provides a nice, albeit ever-changing, solution. I am not, however, particularly fond of its security track record, and while I do love how easy it is to template and pre-process with it, mingling code and markup, such a solution leaves me dissatisfied. mod_python is probably what I want, but all of the python-based PHP clones seem like hacks to me. I think what I want is to be able to interpret (and rewrite) URLs in such a way as to map them to Object -> Method -> Argument.

I read a book on Apache, PHP, and MySQL today, and one of the sample/example projects was an addressbook. For some reason I did not quite like the data model. The author recognized the many-to-one relationship between addresses/phone-numbers/email-addresses and people, but not that a many-to-one could exist in reverse as well (that many people could share one phone number [office], address [family members], or even email address [contact person/people for some specialized topic]), and thus there were people, address, phone, and email tables, with the latter three employing a reference to the people table. While this will work for most situations, I tend to think that there should be separate tables relating people to addresses, people to phone numbers, and people to email addresses, but I can imagine some people finding that a bit extreme. My recipe book (recipes, food items, ingredients) and movie database (movies, people, roles) employ a similar model.

As for cooking, this week I’ve decided to go with a beefy borscht in the Crock Pottm, chicken and penne, and a “Moroccan Chicken Skillet”—I prepared the chicken and penne last night and for all its lack of spices (just tomatoes, green pepper, white wine, and olives, really) it was surprisingly full of flavor. I’ll probably cook the borscht tomorrow. I also picked up a few extra pototoes and a can of plums in order to make dumplings. Woodman’s did not carry rye flour in the baking aisle, but I did find a few packages in the organic section, so I now have all I need for pumpernickel bread.

pum-per-nick-el
Etymology: German, from pumpern to break wind + Nickel goblin; from its reputed indigestibility : a dark coarse sourdough bread made of unbolted rye flour

—February 1 2005