| Assorted updates |
|
navigational aids: News ticker:
|
16 December 03. Life at (name of institution) Having a harder and harder time looking not dumb. The primary problem is in working out the meaning of excess variance. Glazer, Sacerdote, and Scheinkmann wrote this one paper in 1996 on the fact that there's more variance in crime rates among cities than one would expect. This induces the question, `well, what variance does one expect', and I don't yet have an answer, or understand GSS's answer. I've asked around about this, and oddly enough, nobody else has a conherent answer either. This is depressing because it's a frigging seminal paper that everybody's read and allegedly understands. One way of going about it is to just grind out the variance of the variance assuming a totally random draw from---oh, this is boring. Crashed a conference this weekend, where I feel as if I asked one too many dumb questions, including about the GSS paper, which the first speaker brought up. You learn from dumb questions, but they don't help to get you funded. Am still waiting on (name of foundation) to start sending me money so I can go off CA welfare. Now that CA's new governor has started making real live decisions about fiscal matters, these checks could start bouncing any day now. Moody's has already lowered CA's credit rating---one of those dull details that doesn't come up in the elections, is hard to forsee, and will have a direct, tangible impact on the lives of people living in CA. Sometimes I pine for work in which you just produce a product, and then people pay for the product, and there's zero subjective evaluation of the quality of your work from people who aren't paying money for it. Maybe such a fantasy job doesn't exist. The people at (name of institution) are increasingly sociable, partly because it's the season for departmental mixers, and partly because I've been there long enough. Most if not all of these people don't even want to sleep with me, which makes it hard for me to guess at what it is they want. Life in DC Ah, snow. I wonder what kids in the non-snowy parts of the world see in their textbooks. Grade school, as I recall it, primarily consisted of decorating the room based upon the seasons: snowflakes made from folded construction paper in winter, little suns from paper plates in June, &c. So do kids who have never seen snow still do this stuff? And frankly, the snow around here is so crappy that you don't see hexagonal, complex flakes of snow anyway, just slushy blobs. No matter, it's snowy, and it's as nice in my little brick house as can be. OK, as long as I keep the oven on. [Miss AC writes: When I lived in Saudi Arabia, our class would make snowflakes by cutting patterns in folded paper. Then the teacher would hang the snowflakes near the AC vents so that they would float in the wind...] Life in front of a computer [I promise I won't talk about this stuff for another month or two after this entry.] As noted earlier, I work in front of a computer all day, dealing with email and papers and mathy stuff, and expect to continue to do so for decades to come. Being as lazy as the rest of you, I'm making one last push to learn a few systems which will assure that I'll never have to learn anything ever again and can minimize the time I spend doing stuff with machines that I don't want to be doing. I established long ago that I'm using LaTeX for slides, but I feel that I should mention this article anyway. Tee hee. I've switched my junk mail account to Fastmail from another provider whose name means `a boorish, crass, or stupid person'. Fastmail is cool for any of a number of reasons, the most important of which is that you can use IMAP to get your email. This allowed me to set up xlassie, which is a little box in the corner that tells me I have zero messages, saving me the effort of compulsively checking my mail every ten minutes; and I can use mutt to actually read and write mail when necessary. These two measures probably save me five to ten minutes a day, for a total of an hour or two this month alone, without having to curb my obsessive, bordering-on-self-destructive tendencies in any way. On the geekier level, I've done 100% of my mathy work in C, as promised. In addition to the ANSI standard stuff, I'm exclusively using three (3) libraries: the GSL, the PCRE API and SQLite. Crappy names for useful stuff. I mean, these are descriptive acronyms only if you already know what they stand for, in which case you don't need the acronym to describe them anymore. If the GSL were named `Myrtle', it'd have as much informational content both for those who do and don't know what the package is. PCREs and SQL involve entirely distinct syntaxes that one has to learn, which may give the impression that I'm going back on my rants of 10 Nov about not using cute specialized languages and my rant above about not wanting to learn yet more syntaxes. The difference is that PCREs and SQL are in no way Turing Complete---i.e., there's no attempt in the design of the syntaxes to be a language that can (conceivably) do as much as C can. PCREs find text within other text, and SQL finds data within lots of data, and that's all---and they do it more cleanly than I could ever implement myself. I asked the opinion of Dr. DCH of Princeton, New Jersey, (a better programmer than I) and he gave some good arguments for scripting languages. His primary complaints about the all-C approach, as filtered by me, are that complex data structures (hashes, linked lists, &c.) are a pain to deal with. You could use the standard library from C++, but that's evidently not as standard as one would hope. The other option is to rewrite the handling functions yourself, but this is not the best idea, for all the usual reasons. I have no particularly nice rebuttals, since I'm not really all that fabulous a programmer, and generally just throw everything into an array of structs. I use a linked list in the migration simulation, but wrote the linked-list code myself. Mr. DCH also seems dubious that the PCRE library is sufficient to replace perl's regex handling. This one I'll leave open until I have a bit more experience with the PCRE API, meaning that I'll have my own sublibrary of functions to deal with it. I've already developed such things for SQLite and the GSL. Am generally a fan of writing convenience functions, and systems that basically force you to do so. As I've harped before, I think the right way to implement a system that does complex things is provide components that are too simple and have too many options, inspiring the user to RTFM and pick the options s/he'll use; then the system should provide a method to allow Mr or Ms User to call those fave options or procedures with a simple wrapper (aka an alias or function or macro). 100% of the stuff I advocate is like this. The end result, by the way, is a system which is more intuitive than anything that MSFT could ever give you, since it's built around how you yourself think and work. Call for comments So in my efforts to do it right the first time, I came upon this page, which lies somewhere between a blog, academic critique, and just plain rant. Its author critiques SQL (and the software based upon it) as not quite getting the idea of the relational database, and claims that he has something better. There's an extant implementation of his proposed language, D, and a web site of assorted rants (where articles are marked with flame icons and thumbs-down icons). He has a few good points: SQL does a half-assed job of implementing the relational algebra it's allegedly based on. Dealing with SQL's ad hoc names for columns which are basically anonymous really is kind of annoying. But he rants a lot, and charges cash money for his papers, which sort of throws me, being the academic, open standards type that I am. Also, his main work is called Foundation for Future Database Systems: the Third Manifesto. Naming his work a mix of `Third Reich' and `Communist Manifesto' is not scoring him points in my head. So what do you all propose? Should I stick to SQL, or try out this guy's ideas? You'll also recall that within the list of languages which do things that you can't do in C, I included symbolic algebra packages, which feature a list of a few hundred mathematical transformation rules (such as rules for simplification or integration). Within this class, and within the subclass of free packages which you can download and install anywhere, does anybody have a favorite? Candidates include Maxima, Jacal, MuPad, GiNaC, and I don't know what else.
[link] [No comments] |