Open letter to all candidates for Cleveland Heights City Council

I just sent the email below to lots of the candidates running for city council in my little burb. I’m hoping a few will reply.

Hi,

I’m your neighbor; I live at XXXXXXX. Anyhow, I’m emailing as many city council candidates as I can, looking for their thoughts on a few topics.

I would like to copy and paste anything you send me in my blog. I get very little traffic from locals; most of my posts deal with fairly obscure computer science issues.

So, here’s the topics:

  1. Cleveland has red-light cameras. Should Cleveland Heights (CH) have red-light cameras?
  2. Cleveland now allows people to keep chickens in their backyards. Should CH?
  3. Should we ban or regulate gas leaf blowers?
  4. If you couldn’t vote for yourself, what other candidate would you pick?

And here’s my opinions on those topics:

  • I have nothing against red-light cameras in theory. But when I lived in DC, the city put them at intersections where lights were poorly timed and traffic flows were confusing. So it turned into a way for the city skim huge amounts of cash from drivers that believed they were following the law.

    I wouldn’t mind cameras as long as we clearly pointed them out way in advance of intersections. Also I believe we should be generous and give some number of warnings for each driver before the tickets count for anything.

  • Yup. More generally, the city should do anything it can to encourage backyard and community vegetable gardens.
  • On nice days when I work from home with all my windows open, everything is great until some landscaping crews show up. I don’t like banning things, but I would like to create incentives for landscaping firms to explore less noisy options.
  • No opinions here. I just started doing research.

Thanks for your time, and good luck!

Matt

RIP Natchie

We adopted her in 2001 when Lindsey and I lived in Washington DC. Before that, Natchie lived with an economist I worked with, and I used to take care of Natch and another cat and a golden retriever occasionally.

I still remember one time when Lindsey and I were watching TV while I was pet-sitting. Natchie walked by the TV, looked at us, meowed, and then kept on walking. Was really endearing.

Natch loved affection more than any cat I’ve known. She would softly head-butt people to get them to pet her. She would hassle other animals to pet her. She loved to curl up next to the golden retriever and he would lick her.

Natch got her name from an Ethiopian phrase “Letenatchie!” That’s a drinking toast. Natch was an Absynnian, and the breed was supposedly from the area that is now known as Ethiopia.

It’s a gloomy day at the Wilson house today. We’ll miss her.

I learned some neat stuff at clepy last night

Brian Beck showed how to use metaclasses and descriptors to make DSLs with python.

I do this kind of this kind of thing every so often in my code:

def f(x):
class C(object):
y = x
return C

That function takes a parameter and makes and returns a class based on that parameter. Whoop-di-do. I was surprised to learn that you can’t do this:

class C(object):
x = 99
class D(object):
y = x + 1

I gotta explore this some more until it makes sense.

Here’s another neat trick: It isn’t possible to add two classes together:

>>> class C(object):
... pass
...
>>> C + C
------------------------------------------------------------
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for +: 'type' and 'type'

But if you want to support this, the solution would be to define an __add__ method on the metaclass:

>>> type(C)

>>> class MC(type):
... def __add__(self, other):
... print 'Adding!'
... return 99
...
>>> class C(object):
... __metaclass__ = MC
...
>>> C + C
Adding!
99

Wacky, right? More realistically, I could build a new class by taking attributes of both classes together. In other words, if class C has a class attribute x, and class D has a class attribute y, then we can use a metaclass to add C and D together to get a new class E, that has both x and y as class attributes.

In this example, C has a class attribute x and D has a class attribute y. When I add the two classes, I get a new class with both of those class attributes.

>>> C.x, D.y
(99, 98)
>>> E = C + D
>>> E.x, E.y
(99, 98)

Here’s the metaclass that allows this sort of nonsense:

class MC(type):

def __add__(self, other):

class E(self):
pass

for k,v in other.__dict__.items():
if k not in ('__dict__', ):
setattr(E, k, v)

return E

After that hail storm, my tomatoes look like Admiral Adama

We had a pretty intense hailstorm that started yesterday afternoon and ran for a few hours. I have a lot of green tomatoes still on the vine outside. Today I brought some in. They’re all dented and pock-marked now. Here’s a closeup:

all the dents are from the hail

Now here’s a completely different tomato. This one didn’t get damaged. Anyhow, this is just one single tomato, not three conjoined tomatoes. I call it the rumpshaker.

zumma zoom zoom zoomand a boom boomshake baby shake baby shake

The USA-Soviet collapse gap

I love doomsday prophecies.

I grew up in the 1980s in Texas, watching stuff on TV like the The Day After and Damnation Alley and lots of other bad post-apocalyptic sci-fi schlock. Meanwhile, my parents took us to a church that was very focused on Christian eschatology*, so my childhood daydreams revolved around on how I would survive in the inevitable supernatural, post-armageddon war zone. I used to imagine how buildings would look when they were all burned out and destroyed and possibly occupied by mutants.

I’m sure that’s why I’m so into growing vegetables now. I’ll be ready with my basement full of turnips when the shit goes down.

One of my college professors argued that Christianity at its heart is a religion about redemption in the afterlife, and if the ancient Jews weren’t so miserable under the Romans, the religion never would have caught on. Even today, it appeals to people most often that are at the end of their rope.

I suspect a similar dynamic applies with all these doomsday preachers. People like talking about the end of the world because these scenarios offer them hope out of whatever mess they’re stuck in currently. For example, as a delinquent 7th grade kid, I knew that if we went to war with the Russians, or if a meteor crashed into the Earth, or if a super-virus plague broke out, or if aliens landed and started harvesting our life force, I wouldn’t get in trouble for not doing my world history homework, so on some level, I wanted it to happen.

[*] has very little in common with Christian scatology. It’s just a pretentious word that means what the religion believes will happen at the end of the world.

I’m so worked up over this bailout I’m participating in democracy

I just finished using a form on George Voinovich’s site to let him know my thoughts on this banking crisis.

I’m not adamantly opposed to the bailout in theory. I get the idea that the some market activities have external consequences. But I also get that this administration always says “trust me!” right before shit gets really, really bad. If we’re going to do a bailout, let’s do it in a boring and well-thought out way. I want to make sure that this bailout buys us enough safeguards and regulations so that we’re never faced with this crap again.

The villains on k5 have a pretty good discussion about this bailout. I like this comment:

Just about the only way that it would cost 700 billion to get with two chicks is if one was Natalie Portman and the other one was a clone of Natalie Portman. Even cloning a human probably wouldn’t get you particularly close to 700 billion but you might be in the same ballpark.

Ha ha.

Anyhow, I also went to Sherrod Brown’s website and read his statements from today’s hearing and I really like his angle. I’m not too worried about letting him know how I feel since he’s already there.

I also liked how Sherrod Brown has RSS feeds for his site, and a pretty nice looking color scheme. Maybe that’s because he just got there.

UPDATE

Another fine Ohio politician, Marcy Kaptur, is also on the right side of this:

A bunch of random stuff

I’m going to do my decorators are fun! talk at PyWorks in November, bright and early Thursday morning, November 12th.

In completely unrelated news, my neighbor called the county health department because they saw a rat and the inspector says we have a bunch of burrows in the overgrown woodsy part of our yard in the way back. This might be just the argument I need to convince my wife to let me buy a blunderbuss so I can hunt the little monsters down.

Last week I switched to git from svn + bzr and so far, it’s gone really well. I’ve gotten fantastic help from the people in #git on irc.freenode.org. I love being able to pull and push code across branches without really being careful. In subversion, I always needed to count revisions exactly, and make sure I never repeated, or else I’d end up with a big mess. And git is really fast, too. Even checking the status for my code tree seems like it goes faster than with svn, but maybe I’m imagining it.

I’ve been writing triggers and stored procedures in postgreSQL recently, using both plpgsql and plpythonu. Some tasks were vastly simpler to write in plpythonu and others were easier in plpgsql. I’m working on a real post that describes what I like about each language.

I finished my second week of teaching. I’m really happy that my students are interested in learning more than just HTML and CSS — they want to learn how to process form data, rather than just design pretty forms. So next week, I think we’re going to get into PHP basics, with the ultimate goal being teaching them how to use CMS stuff like WordPress and Joomla for bigger projects.

Finally, it looks like that other Matt Wilson turned up in Berkeley, CA. I’m glad he’s safe.