Carl Banks' Blog

Viewing all blog posts (Page 9 of 10)

Minor Python (Programming Language) Complaints

Python is my favorite programming language.

Like all programming languages, it has things I don't like. The thing about Python is, it has a lot fewer things I don't like than other languages. A lot. Even the things I don't like are relatively minor in the end.

So of course I made a page listing what I don't like.

  • Boolean Handling

    The Python treatment of booleans is, by far, my biggest gripe with Python. (Which, you know, is a pretty good thing to have as a biggest gripe.)

    I think booleans should be completely disjoint from all other types, as they are in Java. If-conditions should have to evaluate to a boolean, or else it should throw an exception. The and-, or-, and not-operators should accept only boolean operands and return only boolean results. (Though I would accept arrays of booleans for the and-, or-, and not-operators; but not for if-conditions.)

    I don't deny that it's convenient to use an "or" that returns the first "true" value, or that it's sometimes a marginal improvement in clarity.

    I just think this idiom is too error prone, and very often too misleading, to justify its convenience. There's ordinary carelessness, of course, where someone writes a function like this:

    def op(datum=None):
        result = datum or default
    

    while not stopping to consider that the empty string would be a legal value for datum in this case. But there's a more insidious danger that can't be chalked up to carelessness: when the acceptable values for datum change after the function is written. This leads to subtle breakage.

    As far as the user is concerned, this function's correct behavior is to "use the default when the argument is not specified", but as-is the function is not robust to future changes or uses. The function is a poor, non-robust implementation of the desired behavior.

    To me this feels like a ticking bomb, a bug waiting to hatch from it's egg.

    More generally: I find that the boundary between what Python considers to be true and false rarely corresponds exactly to what I'm trying to do in cases like the above. Usually the true/false test only works for certain set of expected values that I have in my mind. When the acceptable values are generalized, when you want to expand this function's role, does the true/false test still work? I find it rarely does.

  • True Values

    Ok, so Python doesn't have disjoint booleans. Fine.

    But I don't agree the values Python considers true and false. In particular, I disagree with the notion of empty lists being false.

    This is because (unlike for numbers or strings) it's not self-evident what false should be. Python lists, tuples, sets, and dicts consider empty containers false and all other containers true. However, for other related types this doesn't hold. Notably, all built-in python iterator types always return true, even if they will yield no more values. This can lead to subtle code breakage in situations like this:

    def func(iterable):
        if not iterable:
            return
        initialize()
        for item in iterable():
            do_something_with_item()
        finalize()
    

    Now, this piece of code was written with that the user would pass an list or tuple in. However, if some wily user decides to pass, say, a generator in, the result is that is runs the initialization and finalization even if the generator will yield no values. This is wasteful at best and possibly buggy at worst.

    Another example of container-like types that don't treat emptiness as false are Numpy arrays. They wisely don't even go there, raising an exception if someone tries to get their truth value. For numerical programming it makes sense to apply boolean operations element-by-element.

    The point of all this is that the one-size-fits-all idea that empty is the one true value for false doesn't work. For various container and container-like objects, it makes sense for false to be something else, or for there to be no notion of false at all.

    That's why I think Python should do away with the notion of emptiness being false, and require an explicit test for emptiness where it's desired.

  • Pathname manipulation

    This is a common gripe from Pythonistas. The built-in way to manipulate paths in Python is with the os.path module. One would type os.path.join(dirname,basename) to splice a pathname together from a directory and filename, for instance.

    Many Pythonistas don't like typing all that out for a simple operation. I don't either, but that's not my biggest issue with os.path. My issue is that it isn't that powerful.

    One of the greatest things about Python is that it almost never lacks a quick and easy way to do something that ought to be quick and easy. (In fact, Python often makes things that ought to be hard as hell quick and easy.) The glaring exception to this is os.path

    Somehow there are many useful things that os.path doesn't do. A big one would be something like os.path.splitall: completely splitting a filename into a list of path components. Another is relativizing a pathname; os.path can make a relative path absolute but not vice versa.

    The annoying thing is it's right at that point where it's annoying but not quite annoying enough to move me. I don't do pathname manipulations enough that I ever feel like working out my own solution to this problem once and for all. And I don't really like the third-party solutions, so I'm kind of stuck with this annoyance. Maybe I'll sit down and do it one day.

  • Distutils

    Distutils is one of those things that almost crucially useful at certain times, but makes me shake my head in astonishment about how much better it could have been.

    It was pretty much designed with poor anticipation of user needs. If you need to do something that isn't exactly what the authors envisioned, it can make life supremely difficult. It's not versatile at all.

    Among things is doesn't easily do is to let the user specify custom build flags (I have to edit setup.py to do that, and sometimes setup.py is so convoluted in its attempt to be intelligent that I can hardly find the place). I come across this issue a lot since I have Python installed in an unusual location.

  • Setuptools

    On a related note, there is setuptools, which is becoming the de facto super-distutils, and while it fixes some of distutils's issues, it's add its own, and it's probably even less versatile when it comes to its own issues and alternative needs of users than distutils was.

    Besides that, setuptools also routinely and mind-bogglying-ly rudely downloads and installs packages on the user's behalf without asking. This makes me want to literally makes me want to punch Phillip Eby (the author) through the monitor. Yes, I realize I can shut the behavior off, but it's annoying.

    One thing about setuptools is that is seems needlessly complicated for what it's trying to do. In particular, it sets up some sort of homebrew metadata scheme (entry hooks are part of this), and many packages can't be imported without going through package resources. The inability to simply import modules is, in my opinion, a terrible design decision. Modules that do this make things difficult when distributing binary pagakges.

    Conversely, authors who distribute packages that depend on these entry hooks have likewise made a bad design decision. It might make sense for enterpise-deployed libraries (where you can depend on users to follow arcane corporate procedures), but not for you average third-party library downloaded off the Internet. PyOpenGL was a notable offender here, and I abandoned it mostly on account of this.

  • Lack of a set-and-test

    People coming to Python from Perl often criticize if for not supporting the following pattern:

    if (/someregexp/) {
        do_something();
    } elsif (/someotherregexp/) {
        do_something_else();
    } elsif (/someotherregexpagain/) {
        do_still_another_thing();
    } else {
        do_default_thing();
    }
    

    The idiom is useful for many applications, especially text processing (though it should be refactored when scaling to larger rules). Python, however, doesn't support this without workarounds. (The issue with Python is that you can't execute code between if- and elif-conditions, and a regexp search would need to do that.)

    That Python doesn't support this isn't such a big deal; it's fairly common but is still a rather specialized use, and the workarounds aren't too bad. It's still a bit annoying.

So that's it. (Well, that's all I could think of right now.) All in all, if these are my biggest gripes, it's a pretty good thing. They are really very minor issues compared to other languages.

No comments. - Add a comment.

New Web Host!

If you can see this (and it's sufficiently close to February 2008), then this file is being served on my new web host, Dreamhost.

Dreamhost is now hosting all three of my domains: aerojockey.com, tamperedevidence.com, and virtualfief.com.


My old host, Total Choice Hosting, was a very nice service, and I would highly recommend them to anyone looking to do a basic homepage or small business site. It's great if your site is mostly static pages with maybe a few CGI scripts thrown it, which is what my site was. They were very responsive to issues that would come up. The price was very reasonable.

However, I pretty much outgrew it. It had a few major limitations that eventually cramped my style too much. They did not allow shell access; this was a biggie. Sometimes shell access is indispensible. (I often worked around this by writing CGI shell scripts that I could invoke, but it was terribly inconvenient.) Another limitation was a ban on hosting multiple domains; multiple domains meant multiple accounts. This wasn't an issue when I had only one domain. When I got my second domain it was. I actually had two different accounts with Total Choice Hosting for about a year.

Finally a need arose that Total Choice Hosting couldn't help me with: namely the need to host a Subversion repository. (It's not open source, so I couldn't use Sourceforge or Google Code.) I figured it was time to move on.


What I needed was a fewer limitations, and certain bells and whistles. After reading a bunch of reviews on the Web I came across Dreamhost. Many of the reviews I read for Dreamhost were by web developers who'd moved on from it. They basically said it workable but suboptimal for their highly advanced. Some of them even continued to used Dreamhost for serving static content. I don't need highly advanced stuff, though, so that sounded pretty good to me.

For the price, Dreamhost has a ton of disk space and a ton of bandwidth. (When I saw Dreamhost's claim that they offer 500 GB of storage, I kept looking for an asterisk. The only catch I could discern was that they slam if you go over the limit.) Dreamhost will host an unlimited number of domains for a single account. They allow shell access. They host Subversion repositories. Also, most the tricks I that I used with TotalChoiceHosting (using mod_rewrite, for example), were also supported by Dreamhost.

The downside, that their customer service has a reputation for being not so good, is not really a big deal to me. I think I filed maybe two tickets in 5+ years with Total Choice Hosting. It might be a problem if there were a lot of downtime, but I would guess most people's problems are their own fault. (That's never happened to me, of course.)

Tags: dreamhost, mod_rewrite, subversion, totalchoicehosting, web_host
Permalink: http://blog.aerojockey.com/post/newwebhost
Last Edited: 10 February 2008, 9:34 PM
No comments. - Add a comment.

Pandas are stupid

Ok, what is the big deal with pandas?

I mean, really. Whenever you go to a zoo that has pandas, people will line up for miles just to get a glimpse of these idiotic evolutionary flukes. What is the big deal? All they do is sit around eating leaves all day. They're probably the most boring mammal on earth aside from koalas.

When I go to the zoo, I want to see animals do something interesting, which most animals manage to do at least slightly. Foraging for ants? Interesting. Pacing around their enclosure looking mean and intimidating? Interesting. Having scaly skin? Interesting. Sniffing things? Not world-shattering, but it's something. Laying around eating leaves? Mind-numbingly boring.

So what is the big freaking deal about pandas? Why do people stand in line for half an hour to see a couple animals do nothing?


While I'm at it, I have a few things to say about the stupid names pandas have. You see, pandas are the property of the People's [sic] Republic [sic] of China, and one condition China reserves when lending them is the right to name any babies they pop out. For example, this little leaf-eater was named Zhen Zhen, which evidently is Chinese for "Precious", and it's a stupid and unnecessary name, even if you disregard the obvious problems it'll cause with Gollum.

Therefore, on behalf of The United States of America, I am declaring jus soli rights to name the panda babies. Henceforth, this panda's real name is Democracy. Officially she'll still be known as Zhen Zhen, of course, in same way that officially Taiwan is a province of China.

Democracy's older brother (who was born in 2003 and is officially called Mei Sheng) is now called Freedom. And Freedom's older sister (1999, Hua Mei) is now called Inalienable Rights.

Tags: boring, china, democracy, panda, zoo
Permalink: http://blog.aerojockey.com/post/pandas
Last Edited: 27 November 2007, 8:42 PM
2 comments:
it's obvious. wrote: panda's are popular because they are exclusive. why are socialites treated like celebrities? it's because they have immense wealth. although not deservedly earned, without it they would be overlooked. Money is the exclusivity factor for humans while endangerment is the exclusivity factor for animals. if there were only 200 rats left on the planet, people would not view them as vermin (in fact, few people would ever encounter one) and all of a sudden saving the rat population is a huge deal. Conversely, dogs can be rather useful pets but their numbers make them indispensable, on a universal level. btw, the current captcha I see below is interesting: http://tinypic.com/r/k4zbkn/7
ob wrote: i should add, although many wealthy people do not stand out from the crowd, the very fact they are wealthy makes them exclusive. i would argue being exclusive and anonymous is a trait rather unique to humans.

Major works of literature I've read

Here is a pretty complete list of literature (excluding short stories and poems) that I've read. I tend to go for quality over quantity.

My favorites:

  • Crime and Punishment by Fyodor Dostoevsky
  • A Confederacy of Dunces by John Kennedy Toole
  • The Name of the Rose by Umberto Eco
  • The Glass Menagerie by Tennessee Williams
  • Beowulf

I very much liked these:

  • Great Expectations by Charles Dickens
  • Don Quixote (part 1) by Cervantes
  • Gulliver's Travels by Johnathan Swift
  • The Hobbit by J. R. R. Tolkien
  • The Lord of the Rings by J. R. R. Tolkien
  • The Hitchhiker's Guide to the Galaxy by Douglas Adams
  • To Kill A Mockingbird by Harper Lee
  • Tess of the D'Urbervilles by Thomas Hardy
  • The Three Musketeers by Alexandre Dumas
  • The Great Gatsby by F. Scott Fitzgerald
  • The Hound of the Baskervilles by Arthur Conan Doyle
  • 2001: A Space Odyssey by Arthur C. Clarke
  • The Lion, the Witch, and the Wardrobe by C. S. Lewis
  • Prince Caspian by C. S. Lewis
  • The Horse and his Boy by C. S. Lewis
  • Pygmalion by George Bernard Shaw
  • The Importance of Being Earnest by Oscar Wilde
  • Lady Windemere's Fan by Oscar Wilde
  • Divine Commedy by Dante

I liked these:

  • The Count of Monte Cristo by Alexandre Dumas
  • A Study in Scarlet by Arthur Conan Doyle
  • Treasure Island by Robert Louis Stephenson
  • A Tale of Two Cities by Charles Dickens
  • Focault's Pendulum by Umberto Eco
  • War and Peace by Leo Tolstoy
  • The Silmarillion by J. R. R. Tolkien
  • The Lost World by Arthur Conan Doyle
  • The Restaurant at the End of the Universe by Douglas Adams
  • Life, the Universe, and Everything by Douglas Adams
  • So Long, and Thanks for All the Fish by Douglas Adams
  • Mostly Harmless by Douglas Adams
  • Animal Farm by George Orwell
  • 1984 by George Orwell
  • Fahrenheit 451 by Ray Bradbury
  • For Whom the Bell Tolls by Ernest Hemmingway
  • Voyage of the Dawn Treader by C. S. Lewis
  • The Magicians Nephew by C. S. Lewis
  • The Last Battle by C. S. Lewis
  • Alice's Adventures in Wonderland by Lewis Carroll
  • Through the Looking-Glass by Lewis Carroll
  • Don Quixote de La Mancha, Part One, by Miguel de Cervantes
  • 20,000 Leagues under the Sea by Jules Verne (audio)
  • The Grapes of Wrath by John Steinbeck
  • A Streetcar Named Desire by Tennessee Williams
  • Death of a Salesman by Arthur Miller
  • Picasso at the Lapin Agile by Steve Martin
  • The Iliad by Homer

These I didn't like too much:

  • Catch-22 by Joseph Heller
  • Journey to the Center of the Earth by Jules Verne
  • The Silver Chair by C. S. Lewis
  • Inherit the Wind by Jerome Lawrence and Robert E. Lee
  • Our Town by Thorton Wilder
  • Oedipus Rex by Sophocles

I completely disliked these:

  • A Separate Peace by Anthony Trolloge
  • My Antonia by Willa Cather
  • Antigone by Sophocles

These are the books I've found too boring to finish (so far):

  • The Amazing Adventures of Kavalier and Clay by Michael Chabon
  • Moby Dick by Herman Melville
  • Robinson Crusoe by Daniel Defoe (in fairness, it was fine until it should have been over)

Then there is Shakespeare. I find it too hard to pin down exactly how much I liked most of the plays; it changes all the time. Each one I've read twice was better the second time. The ones I liked, roughly in order:

  • Macbeth
  • The Taming of the Shrew
  • King Lear
  • Romeo and Juliet
  • A Midsummer Night's Dream
  • Hamlet
  • Julius Caesar
  • As You Like It
  • I Henry IV
  • Richard III
  • Measure for Measure
  • The Tempest
  • Othello, the Moor of Venice

And the ones I didn't like:

  • Much Ado About Nothing
  • Coriolanus

And the ones I found too boring to finish:

  • Love's Labour's Lost
Tags: favorites, literature, shakespeare
Permalink: http://blog.aerojockey.com/post/literature
Last Edited: 21 June 2007, 12:34 AM
No comments. - Add a comment.

An open letter to the Kansas Department of Transportation

Dear Sir or Madam:

I was recently very disappointed to see that your state does not make your official road map available at the rest stops, unlike every other state I've ever driven through. I make it a point to collect road maps from every state I drive through, and was unable to procure a road map from Kansas.

Now, I realize that, with Kansas being a state where the only industry is agriculture, and agriculture being a low profit margin business, your state is trying to avoid unnecessary overhead of supplying maps at the rest stops. This is understandable, especially considering the fact that almost no one ever wants to visit your state, and thus would have no use for a road map of Kansas. In fact, when the shortest path between places people actually want to visit happens unfortunately to fall through the state of Kansas, travellers almost never venture out of sight of the interstate, and no one needs an official road map just to navigate interstates.

So, on the surface, not making road maps available in the rest stops seems like a wise decision. However, I advise you to consider the following benefits of supplying roadmaps at your rest stops.

Kansas is a large state, in the sense that it covers a large quantity of square miles and in no other sense whatsoever. Should a traveller make an unfortunate wrong turn, he or she could get lost and end up miles away from familar roads, and thus be forced to spend unnecessary time in Kansas. Having roadmaps available in rest stop would give such unfortunates a chance to correct their position before any significant psychological damage occurs.

Furthermore, Kansas is one of the Fifty States, and thus the legal equal to every other state (at least on paper). So, unlikely as it might seem to you, there are actually people who want items associated with the state of Kansas (only to complete the collection, of course, and not on account of any merit of Kansas itself).

Finally, it's likely that very few would ever bother to take a roadmap; after all, besides collectors and people prone to getting lost, who would really want one? And while people prone to getting lost are likely to take a map, they're almost certain to return it at the final rest stop, unopened and in mint condition (since there is no reason to actually look at the map unless unfortunate wrong turn occurred). Other than that, you can rest assured no one would take any maps of Kansas. Even thieves wouldn't take them, since thieves prefer to take things that have some value. Therefore, supplying maps to rest stops is pretty much just a one time cost, with a tiny upkeep.

In light of these considerations, I would suggest that there is, in fact, some slight demand for Kansas roadmaps, but not enough to bankrupt the state (which is admittedly a rather small number of maps). Therefore, it should be no problem to provide this common service to the people who would use it.

Thank you.

Carl Banks

Tags: kansas, open_letter, roadmap
Permalink: http://blog.aerojockey.com/post/kansas
Last Edited: 19 June 2007, 7:32 PM
No comments. - Add a comment.

Why Software Engineering is not Engineering in the classical sense

I recently had some odd experiences with some software engineering firms that made me realize, poignantly, how different software engineering is from engineering in the classical sense (that is, mechanical, civil, elecrtrical, etc.).

(I'm not going to play word politics here and say that software engineers are not engineers [1]. Software engineers can call themselves whatever they want, as far as I'm concerned. But regardless of what you call it, software engineering is not in the same job as mechanical, civil, electrical, etc., engineering.)

Anyways, I recently interviewed for two software positions, one of which I was extremely qualified for technically, the other borderline qualified [2]. I was quite surprised to be rejected for both positions, not because of any lack of technical merit, but apparently because I didn't seem excited enough about the job. Even for the job I was only borderline qualified for, my interviewer's main objection was that he couldn't see any "passion". Coming from a background in engineering in the classical sense, it was inconceivable to me that it would even be a factor.

Now, I know for a fact that, at least in aerospace, many engineers walk around all day with about as much passion as a block of wood, and yet do their jobs just fine. I was one of them myself. But, apparently, software engineering is different. "Passion" or "excitement" is a common requirement for software engineering jobs (that is, unless you work for Microsoft, which is well known to be one of the most emotionless companies there is).

But is outward passion really necessary to do the job? At first glance, it seems that if aerospace engineers can do their job without passion, software engineers should be able to, too.

But first glances can be deceiving.

Compare the subject matter of the two fields. Computer programming has a subtle human warmth to it that classical engineering tasks (say, control theory or truss analysis) lack. There's a level of expressiveness in writing software that is utterly absent in truss analysis, and I believe that this expressiveness attracts passion. In other words, software engineering is inherently passionate. In this respect, it is a lot closer to architecture than engineering.

Whether passion is actually necessary or even helpful for software engineering is not so certain. Personally, I doubt it. Regardless, the fact that software engineering can even generate passion demonstrates what aa different beast it is. Though classical engineering and software engineering are both technical fields, the expressiveness of software leads to crucial differences between the two.

Bottom line is: Engineers in the classical sense don't get excited. Software engineers do. Therefore, software engineers aren't engineers in the classical sense.

[1]Besides, if I wanted to do that, there's a better argument: software engineers are not eligible to receive an engineering licence from any state.
[2]The job seemed to entail having detailed knowledge of arcane aspects of C++; totally not my thing.
Tags: engineering, software_engineering
Permalink: http://blog.aerojockey.com/post/softwareengineering
Last Edited: 30 May 2007, 4:19 PM
1 comment:
Tyler Cox wrote: Sad that you had to spend a career where no engineer got excited about what they were doing. My experience as a product development engineer (BSME and MSME) has allowed for alot of excitement. Perhaps your problem has more to do with the industry you come from versus the industry you are trying to change to

Believe it or not, Scrubs is actually a good show

When I first saw Scrubs, I thought it was a stupid show. It seemed to be a bunch stupid characters incapable of making an intelligent decision, the kind of show that makes me cringe and shout at the TV, "It is inhumanly impossible to be that stupid!" Those kinds of show annoy me more than they make me laugh.

In fact, it reminded me a lot of Three's Company. Now, Three's Company probably had the stupidest, fakest, and shallowest characters ever known to man. It would be wrong to call Jack, Janet, and Chrissy one-dimensional caricatures; that would be an insult to one-dimensional caricatures. No, Jack, Janet, and Chrissy (and her replacements) completely lacked any dimension at all. They had no capacity to change or learn or grow. They were inhuman. They were (poorly) preprogrammed androids hopped up on speed, unable to adapt to anything.

The thing that made Three's Company successful was that it consistently kept the laughs coming, in spite of the shallow characters. To be sure, you were laughing at them, not with them. You didn't care much about the characters, because you knew that no matter what happened, nothing would ever change. But laughing at them still counts for something, and on that show, you laughed at them an awful lot. It almost made the cringing worth it. Almost.

Back to Scrubs. When I first saw Scrubs, I got the same impression as I got from Three's Company: these were stupid characters incapable of making an intelligent decision. Only Scrubs was a lot less funny. And if I can hardly sit through Three's Company, I'm certainly not going to sit through something much less funny. Thus, Scrubs went into my "not interested" bin pretty quickly.

Over the past few months, however, I couldn't realistically avoid watching the show without avoiding the telly altogether. These days, it's syndicated on about 50 different channels at any given time of the day. Plus, the blonde on it (Sarah Chalke) is oddly cute. Inevitably, I ended up watching it a few times.

That's when I saw that the stupidity of the characters was all an act. The Scrubs gang really does have a lot of depth; their outward shallowness is only something they project as a defense against a stressful work place. In fact, the way their true character manifests itself is very interesting, and goes a long way toward building sympathy and making the characters believable.

So when someone on Scrubs does something stupid, we don't have to roll our eyes or cringe; they're not acting that way because they're manifestly compelled to always do the absolute stupidest thing possible. We understand why they did it (somewhat). And when something funny happens, the joke is more heartfelt and enjoyable because we can sympathize with the characters.

Needless to say, I am converted. Sure, it's cliched and relies on stereotypes too much (that'll probably date it a few years down the road). But overall, it's really a good show. Although it doesn't hold a candle to some of the great sitcoms of the 70s and early 80s (All in the Family, Good Times), it's probably the consistently funniest non-animated show that's been on TV for at least ten years.

Tags: scrubs, television, threes_company
Permalink: http://blog.aerojockey.com/post/scrubs
Last Edited: 5 May 2007, 3:29 PM
No comments. - Add a comment.

The Real Story Behind the Iliad

The Scene

A cheap pub in Corinth, on the coast of Greece, BC 876.

The Players

About 20 low-ranking Greek warriors, having just made landfall after having sailed back from a war with a small city-state on the coast of Asia Minor. They had names such as Agamemnon, Odysseus, Aias, Menelaus, Nestor, and so on.

A bartender by the name of Calchas.

Three whores named of Helena, Chriseis, and Briseis who sat in the company of the warriors.

A young poet by the name of Homer.

The Situation

Everyone in the room is drunk off their ass on cheap wine and mead.

The Action

AGAMEMNON

[Dings his glass with a spoon.] Friends! I'd like to make a toast in remembrance our departed comrade, Achilles, who fought and died valiantly for us! To Achilles!

EVERYONE

To Achilles! [They drink.]

ODYSSEUS

Achilles was the best warrior in the Greek army! He brought down Hector, I tell you!

BARTENDER

Hector? Who's that?

NESTOR

Hector! Why, he was leader of the platoon we faced off with. Big scary guy.

BARTENDER

You mean Achilles got the platoon leader? No way!

ODYSSEUS

He got the platoon leader, I say! In fact, I'll tell you the whole story. [Downs a cup of mead.] It began about three months into the war when Agamemnon and Achilles got into a little argument over who got to rape this little Trojan girl they captured first. Agamemnon won, and Achilles got real pissed and went to the sick tent for a few hours.

MENELAUS

Yeah, Achilles was a good warrior, but you gotta admit, he was also a big priss.

ODYSSEUS

He didn't come out till the boy who used to always tag along with him—what was his name? Patrolcus?—got killed. Meanwhile...

[The story rambles on, including stories such as the time Menelaus grazed the brigade leader's lieutenant Paris with a spear, or the time when someone from behind hurled a spear that wounded this crazy guy who was standing next to Hector.]

...but then he found out about Patrolcus and went berzerk, and flew into battle. He even had body armor.

BARTENDER

Oh, shut up, he couldn't afford any body armor.

ODYSSEUS

I think it was probably bandages he got from the sick tent. Probably didn't help him any but it looked awesome. He flew in a rage and killed about five Trojans and stood right there facing Hector. Hector should have layed him flat with a spear but he flat out missed. Then Achilles was on top of him.

BARTENDER

Achilles was a lucky guy, eh?

AGAMEMNON

No, not really. Soon after that, that Paris guy came in and stabbed Achilles on the ankle with a spear. Turned into gangrene and he died of it. That's another story, though. Still, better to go out in glory than to die a coward, and if Achilles was anything, he was brave.

MENELAUS

And a priss.

HOMER

[Approaching the group of drunk warriors] Hey guys, that was a really interesting story. Mind if I make an epic poem out of it? I'll give you guys each two drachmas for the rights.

WARRIORS

[Look around at each other.] All right! More wine and mead! Woooo!

HOMER

Um, I'm gonna make a few changes.... [His words are drowned out in the ruckus.]

THE END
Tags: homer, iliad, literature
Permalink: http://blog.aerojockey.com/post/iliad
Last Edited: 10 January 2007, 5:35 PM
No comments. - Add a comment.

My family's dogs just woke the neighborhood taunting a possum

In my family, We have this arrangement concerning the dogs. The arrangement is: I do not take care of the dogs. I don't feed em, I don't walk em, I don't put em in and out, etc.

So, a few months ago somehow plans were made such that neither my mom nor my sister would be around to feed their respective dogs for one day. They were talking about leaving the dogs with someone. I told them, don't be ridiculous. It won't kill me to feed them one day. So I fed them. And that was that.

No, of course that wasn't that. We've had this arrangement for about 15 years. I bend to feed the dogs once, and they decide that I'd be perfectly happy to take care of the dogs for two weeks while moving my sister to San Diego. Stupid women don't know the difference between an inch and a mile.

So for two weeks I've experienced the ennui of feeding dogs day after day. And with no one else home to distract them, they are bad and clingy. I can't take a stroll without the small one following me (have to tether him, which is a PITA; they're not allowed inside). They don't even let me walk to my car in peace. And they bark all the time. A couple weeks of this was worn on me. But tonight the demonic beasts went too far.

Anyways, because oft the ennui, I expected that sooner or later I'd forget to feed them. Tonight it happened, and I think I paid for it.

At 3 am I hear them barking like crazy. I figured it'd go away in a couple minutes, but 3:15 it's still going on, strong as ever. So I go down to see what they're barking at (and heard the phone ring as I headed out, obviously a neighbor complaining). The little imp-dog is on the road barking his head off at a possum not much smaller than him. Apparently, the little dog had been circling and charging possum for 15 straight minutes without actually attacking. The big dog was standing in the yard restrained by an electric fence, barking his head off. (My family has long since given up hope that the electric fence will ever keep in the little dog.)

Now, I don't remember when I had my last rabies shot, but it's been awhile, so I don't exactly want to get near the possum. After calling them in expectedly failed, I ran in and got a broom and starting chasing the dogs towards the house with it. The little dog was too quick for me, but he got the hint eventually. The big dog refused to leave until I got him with the handle (which felt really good).

Meanwhile the possum's just being stupid. He wasn't playing dead, because he was gnashing his teeth at the imp-dog. But you'd figure the possum would head for the bushes whenever I chased the imp-dog away, but it just stood there waiting.

Oh well. Once I got them away I fed them (only about 7 hours late) and they're being pretty quiet now. I figure the dogs picked this fight in the first place because they were hungry, so I won't be forgetting again. And after my mom comes home in a couple days, I will never, ever accept this job ever again.

Having been through all this, I just don't get what is so great about dogs that makes people willing to go though all this crap.

Tags: dog, possum, rant
Permalink: http://blog.aerojockey.com/post/possum
Last Edited: 26 September 2006, 1:58 AM
No comments. - Add a comment.

Bad Classroom Experiences

This is a rant about some bad classroom experiences I've had. This isn't a list of personal grudges or gripes about teachers I hated (that would fill a small encyclopedia), but a rant about people I who think perverted their role as an educator, and would do the world a service if they never taught again.

Dom

I once had a total wuss-bag of a thermodynamics professor. This guy thought he was totally unique and cutting-edge because he was an oh-so sensitive guy who did things no one else did, like assign people to do homework in groups (no one except every single other professor on campus did that...). One day he decided he would indoctrinate the whole class with a video about sexual discrimination, which all men (except him) were perpetrators and all women victims of. The scenarios in the video were so ludicrous it was hilarious. I mean, even the women in the class agreed that the video was only marginally relevant... for 1940.

Naturally, the guy knew shit about engineering.

Ms. Fisher

In my last semester as an undergrad, I had Technical Writing with the amazing Ms. Fisher. This woman ran the class like a kindergarten. One day when I slept through class, she decided that I didn't understand the importance of the subject (actually I was pretending to sleep, trying to avoid the kindergarten stuff), and gave my name to the composition office director. The composition office began calling me every day to offer me their "help" (read: beat me into submission); I resisted. Finally they threatened me with probation if I didn't go to talk to them, so I went. They beat me into submission. I obediently participated in Ms. Fisher's kindergarten fun for the rest of the semester. In fact, I behaved so well that it convinced Ms. Fisher that they had "gotten to me" and made me into a good automaton, so she reversed some of my disciplinary markdowns and I got an A in the class.

Oh boy, did I let her have it on the student evaluations. It was the foulest, most insulting thing I'd ever written. I mean, I said I'd do stuff like get her name tattooed into my anal sphincter. I made it very clear that they hadn't "gotten to me".

Payoff came sometime later, as a grad student. While walking around I saw her catch sight of me. She looked down and tried to pretend she didn't see me.

Tim

I was a TA for this instructor. Until I met him, I didn't really have a good sense of what, exactly, it meant to be a "prick". But this guy was a first class one.

The defining moment came late in the semester. While checking a homework assignment, I noticed there was a lot of confusion on a certain problem. I notified Tim, and immediately regretted it. You see, I told him this so that he would know that it was a weak point and could then spend more time on it; perhaps by going over it again in the next class or something. However, he didn't do that. The first thing he said after I told him was, "Oh my God, how could they not get it?" He actually seemed offended and disgusted that they didn't understand it. I was totally taken aback. I told him they were really tired from the long semester, and he shouldn't get too upset about it. (This, by the way, was "Hell Semester": fall of the junior year of aerospace engineering. It was a long, grueling semester, with four relentless nitty-gritty classes, and everyone was totally fried at the end of it.) He said something like, "Ok, fine," and I left him.

Now, if that was all that had happened, it would have been no big deal. I probably would have chalked it up to him being pretty fried himself. But it was followed up by something so cold I couldn't believe it.

When checking the final exams, there was a problem on it that was ridiculously hard for undergrads. In fact, it was so hard I took the unusual step of emailing Tim urging him to drop it. His response? He was punishing them because no one had asked for any further help after I told him they were having trouble with it. The problem would be counted, and they deserved it.

WHAT THE FUCK: YOU'RE A TEACHER, NOT A FUCKING CORRECTIONS OFFICER. If they're having problems, your job is to help them with it, not to dole out extra punishment for it.

A little later he had the nerve to criticize me for taking so long to check the tests (you know, maybe if you hadn't put Ph.D. level problems on it, I wouldn't be). I took my grand old time with them after that.

Looking back on all this, Timmy here is the one guy I always regretted not giving a piece of my mind to when I had the chance. I wouldn't even have suffered (it was my last semester as a TA). At the time I thought it was best to keep your mouth shut in such situations. But if anyone ever deserved to get a tongue lashing from me, it was Timmy.

The One I Do Not Name

In order to put the sins of The One I Do Not Name into context, let me tell you a little hypothetical story. Say you have two third graders, Jack and Jill. Jack sleeps through class, doesn't behave very well, and is inconsistent in doing his homework. Jill never misbehaves, always does what the teacher asks, and always does her homework. And Jack consistently outscores Jill on tests. Now who is Mrs. Jane Third-Grade-Teacher going to say is the better student?

Jill, of course.

But why? Jack evidently knows the material better. Jack is better educated. If education is the point of grade school, why is the better educated person considered a lesser student?

The reason, simply, is that education is not the point of grade school. The point is to teach obedience. Education is indeed a goal of school, and also the justification for it, but it's not the point. The point is obedience. For this reason, I often facetiously refer to grades K-6 as "obedience school".

Generally, teachers at least give lip service to the idea that education is the point and not merely a goal, which is better than nothing: it gives you something to hold them to and bargain with. However, I once had a teacher who didn't even do that. Guess who that was.

Yes, The One I Do Not Name actually claimed right to my face that schooling was about obedience (in Its words, "developing self-discipline", because in Its deluded mind we really wanted to do whatever the person claiming to be an authority told us to, we just didn't have the discipline). This came out in a conference with my parents, while discussing the purpose of homework. I was questioning the value of them forcing me to do homework, seeing that The One I Do Not Name, my parents, and I all knew very well that, from an educational standpoint, doing it would be useless to me because I already knew the stuff. But in this case, The One I Do Not Name openly acknowledged that obedience was the whole point, which pretty much nullified my whole argument.

Note that, at the time, I wasn't actually trying to weasel out of my responsibility. And in fact, I was more than willing to accept the bad grades that would result from doing homework inconsistently, and even the occasional scolding. But The One I Do Not Name believed that it was positively immoral to care so little about your homework (that it was utterly useless was irrelevant); It treated this as a behavioral problem in me, which meant involving my parents. That's what I didn't want. (Fortunately, my parents either saw through Its bullshit, or were too lazy to keep up with It on it.)

This was a poignant example of The One I Do Not Name's total chauvinism for teaching "self-discipline", but it permeated my whole experience with It.

I got the satisfaction of returning the favor once, and making It accept an issue on my terms. At my school we had to do those stupid Christmas pageants, and they made us practice like hell for them. I was able to learn the words and music after about a week or so of daily practice, with about two weeks of daily practices looming. So, being uselessly herded off every day to practice singing a bunch of songs I already knew, for a pageant I knew I wasn't going to (my family managed to remember to go it maybe once), I naturally started goofing off and being generally silly (though not bothering anyone else) during the practices. I would have died of boredom otherwise. The One I Do Not Name evidently decided that It would punish my behavior by filming my silliness and showing it to the whole school.

After the practice ended, The One I Do Not Name and the music teacher stopped me and asked me why I was goofing off, and told me that It had filmed it and would show it to the whole school. After playing dumb for a bit, I told them I didn't need the practice, because I had already learned the lyrics, and I was just acting silly because I was bored. Now, The One I Do Not Name was very familiar with my protests on educational grounds, and I think It thought It could catch me in a lie here, thus proving I didn't really care about education and was just trying to weasel out of work. So It challenged me on the spot to recite the whole Christmas pageant right there. I did it. The music teacher was amazed; all The One I Do Not Name could do was apologize and send me off to lunch. Thenceforth no one talked to me about acting silly in practice.

Tags: bad_teachers, brick, college, grade_school, rant, teacher
Permalink: http://blog.aerojockey.com/post/bricksinthewall
Last Edited: 8 August 2006, 6:42 PM
No comments. - Add a comment.
Viewing all blog posts (Page 9 of 10)