All posts by tim

The Real Problem with Republicans

No room for your dumb ass

I was reading the Alcalde this morning. The Alcalde is UTs Alumni magazine. They recently did a profile on the lack of alumni engagement from those alumni who went to UT in the 1980s. Letters came in this month and a lot of people mentioned that the reason they didn’t get involved was that their kids were going to another school thanks to the 10% rule. One letter in particular said he blamed UT’s political correctness more than the legislature for creating the problem. Which is really the problem here.

So Republicans hate the 10% rule? A rule that was enacted because affirmative action was unfair. A law that was needed thanks to a court case pursued to the supreme court by Republicans. A case that was pursued to end political correctness in admissions at UT. A law created in response to that decision by a Republican legislature, signed by a Republican governor. Yeah, you’re right. It’s those politically correct liberals at UT who are keeping your kid from getting in.

We really need a new party so we can have honest discussions between the informed adults left in this country. And we can leave the Republican party to attract all the morons. It really sucks that politics is about winning votes and you have to appeal to these jackenapes.

Now I’ve Got To See It

Just finished this article on Salon about Inglorious Basterds, Quinten Tarrantino’s new movie. It has some really fascinating statements. About this movie:

Pitt and Roth’s characters “behave like butt-ugly sadists,” Wells writes, while the German soldier, despite cursing out his tormentors as “Jew dogs,” behaves like “a man of honor,” accepting a brutal and painful death rather than ratting out his comrades. In Sammel’s brief performance, Wells says, he depicts the German as “a man of intelligence and perception” with “a certain regular-Joe decency,” while Raine and Donowitz come off as unhinged horror-movie villains.

This is fascinating because it seems taboo to say. But yet. There are Jews who behaved horribly. And German’s who behaved decently. And both Jews and Germans who behaved like angels after behaving like monsters. We like to frame the Holocaust in these expressionistic black-and-white terms, but human beings are never black and white.

Hollywood scholar Neal Gabler to ask why Tarantino “conventionalizes Jews, puts them in the same revenge motif as everyone else.” Doesn’t that risk creating audience sympathy for their Nazi victims? (One should of course say “German victims”; it’s intellectually lazy and historically inaccurate to assume that German soldiers are all Nazis, but that level of ambiguity does not register in the Tarantino universe.)

How fascinating that anyone would assume that Jews could somehow avoid conventional revenge narratives. Why? Because there’s a certain threshold where revenge becomes acceptable? A really good read unrelated to the movie. I think it lays bare a lot of attitudes, and explains why for some people the phrase “never again” does not apply to say Rawanda or Srebernica.

Redeveloping the Warehouse District


Ahh… feels like junior high.

“Downtown Austin” wrote a post about the battle to redevelop the warehouse district.

I think there’s a lot of nostalgia about the area, but what’s left to be nostalgic about? Aside from the gay clubs it’s become increasingly an area with a ton of chain restaurants and bars that are a pain to walk to. Waterloo’s gone. Ginger Man was a chain. It’s going, if not gone. The Spaghetti Warehouse will be fine I’m sure. There will still be a place to take a date with horrible food and piss-poor atmosphere. Never you fear. If this had been proposed in the nineties, I might have complained, but now? I think land owners trying to make money on their underdeveloped properties have already caused a lot of damage to the area.

If I’m going to dress up and go out drinking I’m going to West 6th or Second Street now. Thanks in large part to the fact that I don’t have to worry about getting hit by a car, or Julie wearing heels and falling down a flight of stairs with no handrail.

I think that you could probably come up with a design for that neighborhood that would be more “warehousey”, but that had actual walkable sidewalks. I’m interested though, is there anything anyone thinks is left in the warehouse district that they’d be sad to see go?

Prolicide

I submited this to for the Muses project. I just got the final list of playwrights, so I guess it was rejected. In any case, I really liked it. It comes out of all the horrible worries I have to push out of my mind every night as I try to go to sleep. Being a parent definitely introduces a new level of worry into your life (or a level of worry at all in my case). Dramatic liberties have been taken. This is not autobiographical.

<!--
    @page { margin: 0.79in }
    P { margin-bottom: 0.08in }
--><strong><br />

Prolocide

(FATHER is washing his hands in the sink. He uses a nail brush. Meticulous. He finishes, and dries his hands)

FATHER

When I was in college, I was a professional house sitter. I loved it. I loved the first time you opened up a house. There were signs of the past everywhere. Generally they were clean. Immaculate. Awaiting their owner’s return. Perhaps a cereal bowl in the bottom of the sink. A wet towel on the bathroom floor, but otherwise clean.

I loved looking at the past. The furniture. The books. The photos. I loved imagining the future. Would they ever be able to make it through that case of fiber supplements? Would they finish the 7 pound book, marked 135 pages in, currently languishing on their bedside table? And what of the large pile of bricks just outside their French doors?

(FATHER contemplates a box of macaroni and cheese)

But when I was house sitting, it was as though time had stopped. There were the mementos of the past. And there was the potential for the future. But the house had been stopped in time. And I had walked out of time and into this twilight.

(he gets out the pot, and fills it with water, he puts it on the stove and turns on the burner, then considers the box once more)

I guess I must have thought about the future too much when I was young. That’s the reason I should never have kids. I can’t handle the suspense. You know the statistics. You know all the statistics. You know that the world has never been safer. That there is very little to fear. But too much of my youth was spend idling about in the future.

I am- was- married.

(he gets out a calculator and pen and paper from a kitchen drawer. He reads the box and reduces the amounts down to one person)

I got married. I was in love. I am in love. I don’t know how it’s possible to get out of that once you’re truly in it. Once you have love, you have all this past that will forever contain the person you love. Your history will always contain them, and that love. I could maybe love another woman. Maybe. But I don’t think that could ever change the past. But sometimes even if we love someone we do things that make them not love us back. Things that we think they won’t ever understand. And they won’t understand. One of the reasons I should never have kids. How could you ever see them fall in love, and know the risk they’re taking. Think of their hearts. Know the highs, but also know the lows. Know the days and months of anxiety. The constant fear that it’s all slowly unraveling, and the feeling of having your stomach in your throat for months as the drama unfolds. And the legal events unfold. And the couch unfolds.

(he fills a cup with

Vegetarianism not good reaction to McDonalds


Image via Wikipedia

I’ve been encountering a lot more vegetarians lately. It’s probably not so much that I’m encountering more, as I’m not driving them off as quickly. In the past I was an asshole if you were a vegetarian. Something along the lines of, “But we are omnivores, you’re just depriving your body.” Also, “Plants have feelings too.”

But as part of my laziness new cooking regiment, I’ve been using epicurious.com’s weekly meal planners to plan my meals for the week. They pretty much always do a vegetarian meal or two. Something that at first I just left out. Or filled in with something meatier. Like hanger steaks and fries.

But recently I’ve started cooking them. And Julie and Stella have been enjoying them. Mostly. The meals are hit and miss. Often the things that sound horrible are quite good, and the things that sound good are completely horribly foul. We had a side dish composed almost entirely of zucchini and I liked it. I didn’t like it for zucchini. I really liked it.

I even cooked tofu last week. And last night. Which still gives me a bit of a weird feeling. Because I’d rather cook an animal, than an animal substitute. I actually like tofu. But I’d prefer to cook it as tofu. This really cool vegetable product. Rather than tofu, “I can’t believe it’s not chicken”!

I’ve noticed a trend. There are a lot of vegetarians I’ve encountered who don’t really eat vegetables. This is supposed to be a diet about health. Or politics. Or both. But I’m seeing a lot of people who just eat McDonalds fries. And Annie’s Mac and Cheese. And Mission cheese burritos. Which seems like it’s defeating the point. Vegetarianism has become big business. The business being providing calories without requiring the actual consumption of vegetables.

It’s the same bad diet that is making most of America obese, but without the benefit of getting second-hand vitamins and minerals from animals that have already predigested those noxious vegetables for us.

I’m still learning to love vegetables. But we’re working through this together.  Stella’s my mascot. She’ll eat pretty much anything raw, but once I cook it she becomes uninterested. Potatoes. Zucchini. Red peppers. Garlic. Ginger.

Julie would prefer that I not give her raw garlic.

Maybe I should join the raw foods movement.

Joking.

Sunstroke 5k #12

28:03, 9:03/mi. I really pushed myself. I’m hoping it was the heat, because that’s just a middle of the road score for me.

Well, I’m back to running every day, so there’s always next year. I’ll chalk up this year’s poor performance to having a newborn.

Ahh Genesis

I’m hooked on slowing down classics!

So I was listening to bob.fm’s top nine at nine this morning. They pick a year and play nine songs from it.

Javascript Performance

So at work I had to fix the performance of an AJAX call. It was using a java library called AjaxAnywhere to completely replace a table. When it did that with thousands of rows it got REALLY slow.

It was simply replacing the table with innerHTML, and I figured if I changed it to using dom methods it would be faster. It didn’t due to what I’ll discuss in the third bullet point. But I learned a few other lessons about performance along the way.

1) Copy your array length to a local variable:

This is much slower:

for(var i = 0; i < someArray.length; i++) {
  // do something
}

than this:

for(var i = 0, il = someArray.length; i < il; i++) {
  // do something
}

2) Don’t use prototypes object creation functions in loops (I think prototype object creation works great for the small stuff, and is very legible). They’re too slow. I started out with this:

var tr = new Element("tr", {
  'class': 'unselectable',
  'id': idValue
});

but it turns out that prototype adding attributes via a hash (what Element.writeAttribute does) looks up the dom node each time, which is a performance drain. I changed it to this:

var tr = document.createElement("tr");
tr.className = 'unselectable';
tr.id = idValue;
 

3) Create a render queue. It took me a long to find this, but you’ll probably run into it no matter how fast your javascript runs. Generally web browsers wait until your javascript function exits to update the dom. If you’re adding thousands of objects your page can blank for seconds redrawing. What’s the answer? A render queue, which looks something like this (posting as a nice class as I don’t think there are enough examples like this):

var lgt = lgt || {};

lgt.RepetitiveTaskManager = function() {
};

lgt.RepetitiveTaskManager.prototype.renderQueue = Array();
lgt.RepetitiveTaskManager.prototype.rendererRunning = false;

lgt.RepetitiveTaskManager.prototype.enqueue = function(methodRef) {
  var renderQueue = this.renderQueue;
  renderQueue.push(methodRef);
   
  if(this.rendererRunning == false) {
    this.rendererRunning = true;
    setTimeout(this.renderer.bind(this), 1);
  }
}

lgt.RepetitiveTaskManager.prototype.renderer = function() {
  var renderQueue = this.renderQueue;
  var length = (renderQueue.length > 5 ? 5 : renderQueue.length);
  for(var i = 0; i < length; i++) {
    var functionCall = renderQueue.shift();
    functionCall();
  }
    
  if(renderQueue.length > 0) {
    setTimeout(this._renderer.bind(this), 1);
    return;
  }
  this.rendererRunning = false;
}


// first declare our renderer function
var callback = function(table, cellContents) {

  var tr = document.createElement("TR");
  var td = document.createElement("TD");
  td.innerHTML = cellContents;
  tr.appendChild(td);
  table.appendChild(tr);
};


// now add 1000 rows to a table

var taskManager = new lgt.RepetitiveTaskManager();

var table = document.getElementById("myTableId");
for(var i = 0; i < 1000; i++) {
  taskManager.enqueue(callback.bind(table, i));
}

Don’t forget bind is your friend in this case. For those without much experience with it, bind let’s you pass a function call with the appropriate variables to call the method with, without calling the method at that exact moment.

By using this render queue it will render 5 rows at a time on the page, and the table will seem to expand down the page as the user watches. This isn’t desirable in all case, but it’s generally better than having the user’s browser get unresponsive.

Twittering Boredom

waiting for the meeting

So there’s this aquaintance I follow on Twitter. Actually I’m not completely sure I’ve ever met her. But that’s beside the point. She likes to tweet incredibly boring status updates. Like “waiting for meeting to start”, “meeting ended”, “driving to meeting”. And I’ve realized that it’s somewhat contagious.

Much like that good friend you have, whose stories of drunken debauchery makes you feel like your own life is somehow less boring. Reading these tweets makes me feel like my life is somehow more boring. Does anyone else have this problem?

Dance is good for kids

We went to Stella’s first dance recital on Tuesday. Thankfully it wasn’t actually a dance recital. It was simply a chance for parents to sit in and watch a somewhat typical class. I think a dance recital for three year olds is somewhat cruel. Kind of like a spelling bee for the mentally challenged.

I was amazed though by what Stella learned. I’d always wanted my kids to take dance, because I feel like it’s something that’s much harder to pick up later in life. At UT I did a few dance related pieces and auditions. From talking to fellow auditioners, even people who had just a couple of years of dance as kids could generally pick up choreography about 10 times faster than I could. Which I don’t think is completely the lack of dance training’s fault. I’m a large force of nature that can’t always change direction on a dime (or a ball-change).

So I wanted Stella to take dance.

But what I didn’t count on, and why I think everyone should put their kid in dance, is that beyond the above reason is the focus and discipline. This was not some sort of old-school ballet class where you get kicked for talking or not being good enough. But it was very much about focus and discipline. A lot of time was spent making sure the kids were all where they were supposed to be and focused on what they were going to do next. It was fascinating to me as compared to organized sports. Sports are like dance in that they get rid of excess energy and teach cooperation and coordination. But I don’t think they’re good at teaching focus. I was never given tools for when I needed to stay focused out there in left field, and when I could goof off (and thus I pretty much always goofed off).

All in all, I was very impressed. Get your kids in dance. You’ll be really happy you did.

Reblog this post [with Zemanta]