Curse you Todd Stroger!
The Cook County government led by Todd Stroger just raised sales taxes again which gives Chicago a 10.25% sales-tax rate effective April 1st.
According to the linked article, they're hiring an extra 1000 employees (bringing them to over 28,000, which they need in order to do... um... county government stuff? What does the county government do, anyway?)
Here's a reasonable proposal for how the tax hike could have been avoided.
Everybody around here hates Todd Stroger anyway. He got his position in a very un-democratic way: he was first appointed by Daley as an alderman in 2001 to replace an alderman who had died, and then in 2006 he replaced his father John Stroger on the ballot for Cook County President when John had a stroke a week before the primary.
I vaguely recalled having voted against the guy in 2006. here's what I wrote at the time. Ah, yes, I was conflicted because voting for the opposition, Tony Peraica, meant voting for a Republican, and at the time I just wanted to kick all Republicans in the nuts. But I did end up voting for Peraica and in retrospect it was the right thing to do.
10.25% sales tax. That's absurd. Not only do tax increases encourage people and businesses to move away from cook county, but sales tax increases are particularly bad because sales tax is regressive, i.e. the poor end up paying a higher percentage of their income in sales tax than the rich do. Way to make it even harder to be poor in Chicago.
Humanized in Businessweek
They had us pose like a boy band when they took our pictures. (Link goes to Businessweek's weird Flash-based article reader. I have no idea why they think it's a good idea to show articles in Flash rather than PDF or better yet HTML.)
As usual, the article's all about Aza, He tries to share the spotlight with the rest of us, he really does, but the reporters who write these articles only want to talk about the boy genius with the famous dad.
Uchi-con on Saturday
The ol' japanese-cartoon-imation club at University of Chicago is putting on their annual one-day convention, Uchi-con, this Saturday. Here's the schedule and the directions for getting there, in case you're interested.
I helped run it the first couple of years. This year I'm going to go as part of Artist's Alley / Webcomickers panel and make my first public attempt to pimp out my webcomic. Hmmm... I'll have to print up some business cards with my URL on them before Saturday.
Addendum: The Chicago Maroon had a very positive article about Uchi-con.
Using Python to build client-side apps
Python is not just for web frameworks. You can use it to build a real, actual, client-side, desktop, GUI app, just like in the old days. And you can package your application for distribution cross-platform.
I'm giving a talk about this topic at the Chicago ACM on February 13, and then again at PyCon 2008, Chicago. This post is mostly a collection of links to resources for anyone who wants to learn more about building real applications with Python.
Using Python and C together
A lightweight, if somewhat klugy, way to call C functions (in a compiled C library) from a Python program is the CTypes module.
A heavierweight, but more robust and flexible solution, is SWIG. (Which was created by my favorite teacher at the University of Chicago, David Beazeley.)
Once you're using C as part of your project, you'll need a way to control the build process. I like SCons, a replacement for make which lets you use Python scripts instead of Makefiles.
You've got a lot of choices for Python GUI toolkits. The one that's included with Python by default is TKinter. Some people prefer WXpython (a Python wrapper for the cross-platform WXWidgets library). Both of these are well-documented and pretty easy to get started with, but you'll run into their limitations when you want to do more advanced stuff. There are also many other choices.
You might also want to look into PyGame and pyglet, two frameworks aimed at rapid game development, which could be useful for other sorts of GUI programming besides games as well. In particular, pyglet does almost all the work of interfacing with OpenGL for you, and so lets you get started with 3D graphics very quickly.
As an interface between Python and the Win32 API, you can use Mark Hammond's excellent Win32 Extensions. This is extremely useful for applications that need to interact with the OS on a deeper level than what you can do with just the os and sys modules.
To turn your Python scripts into Windows executable files, you can use Py2exe. Py2exe bundles up the Python interpreter and standard libraries into your application, so it can be run even by people who don't have Python installed on their computers. The drawback is that having all this stuff included in your application will make it pretty large.
Python is already included on Mac OS X, so you don't need to worry about distributing it to your users; instead, you have to worry about your users having incompatible versions installed. It seems that Mac OS 10.5 comes with Python 2.5, while earlier versions of Mac OS X come with Python 2.3. It's possible to have more than one version of Python on the same Mac, but this generally leads to confusion and I don't recommend it.
The equivalent of py2exe on Mac is Py2app. It will turn your scripts into a .app bundle for the enjoyment of other Mac users.
If you use Apple's XCode IDE, you can choose "Python project" as one of the basic options when creating a project. By default, it will link your project up to the Python Framework in Mac OS X, and to Objective C, so that you can trivially use Objective C to interface with Cocoa and do Mac-native GUI widgets. (Just be aware that relying on this will limit the portability of your application.)
Research into local races! They're depressing and petty yet somehow fascinating!
I'm not even going to talk about the Presidential race, because there's nothing I could possibly say about it that hasn't already been said by millions of websites with better writing and higher traffic than mine. I'm just going to talk about the bottom-feeder, a.k.a. state and local, primaries.
Why the heck hasn't somebody made it easier to just type in your address and find out exactly who's going to be on your ballot? Here's the site where you can do that for Chicago proper, and here's the one for suburban Cook County.
The latter site has a helpful list of all candidates on all Cook County primary ballots.
So, turns out I'm in the 9th district. (It would be easier to remember this stuff If ever lived in the same apartment for more than one or two years.) The 9th district is mostly the wealthy northern suburbs of Skokie and Evanston but it sends one little tendril sneaking down along the lakeshore to just barely wrap around my apartment complex.
Gerrymandering sucks! I searched for some congressional-district maps of Illinois to see just how bad it really is. Here's the map of Illinois (PDF) (Winner: district 17) and here's a close-up onthe Chicago area (Winner: district 4). These both come from an interesting (if extremely ugly) site called rangevoting.org which argues that congressional districts should be split by an objective and deterministic mathematical algorithm called shortest splitline.
I've decided to take the Democratic primary ballot after all. Now, what positions do I get to vote for besides President?
U.S. Senator from Illinois: Richard J Durbin running unopposed. BO-RING!
U.S. Congressman, 9th district:
Janice Schakowsky (incumbent)
In looking for a place to get more info about these people, I found GovTrack.us, which tells exactly what legislation any given congress-critter has proposed and voted for. It's depressing to realize just how much of its time Congress spends on total fluff: naming buildings after people, designating Official Awareness Months for various diseases, and: "H. Res. 933: Commending the Louisiana State University Tigers football team for winning the 2007 Bowl Championship Series national championship game". I wish I was making that up. Here's the record for Schakowsky. She seems to have sponsored a lot of bills I would generally agree with, but exactly zero of them have ever been passed. (Zero is "average", according to GovTrack.us. Yikes.)
John Nocita's campaign flyer tells me everything I need to know... about why I should vote for his opponent.
State senate. Now we're really getting into the dregs. Few news organizations seem to bother even to cover these races. The best info I could find about
Heather Steans and Suzanne Elder came from a pair of interviews they had with the Windy City Times, a local LGBT newspaper. (Steans interview; Elder interview).
I'd just like to point out that out of all the sites I've looked at in my research today, Suzanne Elder's is the only one that's not eyeball-searingly hideous. It's attractive, easy-to-navigate, intelligently written, and free from the elementary punctuation and grammar errors which seem to plague the websites of everyone else involved in politics below the national level. You'd think that senators and congressmen would make enough money to hire a damn copy-editor but apparently not. Websites aside, I'm leaning towards Elder for being obviously smart and angry and therefore more likely to do something interesting.
Time for my favorite public office, the Metropolitan Water Reclamation District Commissioner! This is a confusing race as there are eight candidates just in the Democratic party, and we're supposed to elect three of them. Rather than read about each one I think I'm going to be lazy and follow the local Sierra Club's endorsements.
Finally, there's one referendum on the ballot, which is whether or not it should be legal to sell alcohol in my police precinct (the 42nd). Apparently this is on the ballot every time, as Chicago leaves it up to each precinct to decide whether to be "wet" or "dry". Naturally I'll vote to keep it wet. I mean come on, my neighborhood is home to the Green Mill, where Al Capone's goons used to hang out. It just wouldn't be right to reinstate Prohibition.
That's all for tonight. Don't forget to vote, everybody!
That time again
Illinois primaries are tomorrow. (As well as those of many, many other states a whole bunch moved their primary schedules up to be part of "Super Tuesday", so even if you don't think you're voting in your state tomorrow, please double-check.)
Tonight I have to read up about all the state and local races going on senators, congressmen, state senators, state congressmen, and Metropolitan Water Reclamation District Commissioner so I can at least pretend to make an informed choice there. Ah, local races: the most likely to impact your actual life, the least likely to enter your awareness unless you actively go out of your way to look them up. (Where do I draw the line? Am I going to vote for judges? There's always like six pages of judges on the ballot and no way to determine why I should care... I wonder what the results of judicial elections look like, anyway: "15 to 4"?)
I'll try to do another blog post tonight sharing what I learn about the state/local races so that if you 1. care, 2. live in Chicago, and 3. haven't decided already, you might conceivably get a tiny tidbit of useful information.
For the presidential thing, it's rumored that Obama has such a huge lock on Illinois (he's from here, after all) that I'm considering voting in the Republican primary instead. (I love living in a state with open primaries. No party registration needed, you just go to the place and they ask you which ballot you want. You just can't vote on both at once, sadly.)
Speaking of Republicans, have you seen Mike Huckabee's campaign ad starring Chuck Norris? It might even beat out "Jesse Ventura as an action figure" for Best Political Ad Ever. Huckabee is a fascinating animal, and I find myself feeling a surprising amount of affection towards him, but I'm kind of glad there's no way in hell he'd ever win the general election.
No, if I'm voting on the elephant primary it'll be for McCain he represents the one branch of the Republican party that I can still respect. I'd probably vote for him in the general election if it's him vs. Clinton, but I'd vote for Obama over either of them. (Man, I wish we had instant-runoff voting so I could just list my order of preference for all the candidates, instead of having to think about how best to game the system.)
Have I mentioned how much I love living in a country where we can force our would-be leaders to grovel and pander and beg and humiliate themselves for scraps of our favor? It's pretty cool. I like that this presidential race has been such a hard, grueling slog for the candidates already and it's only February. Getting to be President should not be easy (and nobody should ever, ever get a free pass just for having the same last name as a previous President!!) I want to see those candidates suffer if they want the job. Mush! Mush! (whipcrack noise)
I leave Chicago for a week, and what do I find when I get back?
A huge sinkhole caused by a burst underground water main swallowed up a huge chunk of Montrose just a few blocks from my apartment.
On the plus side, the best news I've heard in a while is that the "CTA Apocalypse" was averted. The apocalypse was that they were going to have to stop running like half of the buses in the city due to insufficient funding, leaving thousands of people with no way to get to work. It would have sucked really, really bad. There had been rumors of it for months. But at the last second the Illinois governor, Blagojevich, said "OK Chicago, I'll give you funding, but only if seniors get to ride free". Crisis averted! Except that the CTA is still underfunded and over budget and in desperate need of some major rehauls. On the gripping hand, after recent experiences in Connecticut and California I've gotta say Chicago's mass transit system is still better than what a lot of places have.
I thought Blagoman's condition was counterintuitive, since anybody riding free means that it's going to take more tax money, not less, to make up the difference, right? Anybody want to explain this to me?
Silicon Valley Blues
So how bout this Silicon Valley place, eh?
On the one hand, Silicon Valley is a land of legends. Just saying "Silicon Valley" still gives me a bit of a thrill. The last time I visited here, in
November, I gave a talk to the Bay Area CHI (computer-human-interaction group) at the Palo Alto Research Center, formerly Xerox PARC. Xerox PARC, dude. That's where the GUI was invented, and the mouse, and the laser printer, and object-oriented programming. Dude. I was there giving a talk. Goosebumps. Over there is Cupertino and Apple headquarters. A short trip away is Mountain View, home of Google (and Mozilla). I imagine this what it feels like to travel around the ancient and storied lands of the Middle East: "That's where Gilgamesh slew Tiamat... that's where Moses parted the Red Sea..." except that around here you'd point out birthplaces of programming languages, the homes of 30-year-old billionaires, and the gravestones of dead dot-coms.
On the other hand, Silicon Valley is just another suburban wasteland: congested highways, strip malls, and the exact same mega-chain stores you'd see anywhere else in the country. The famous corporate headquarters are just generic office-park buildings, and Palo Alto, Mountain View, Cupertino, and so on might as well be any random suburbs of New York or Chicago, except that the rent is higher and there are some palm trees.
I would just file this under "amusing geographical paradoxes", except that I'm going to be living here. I have to find an apartment now, so suddenly the character of the local towns is a matter of vital personal interest.
Until quite recently, I mistook the Bay Area for San Francisco. Like most people who have never been to this area, I mentally lumped it all together. But in four or five trips to the Bay Area, only in the last two days have I seen San Francisco proper. It's an hour's drive away from South Bay/Silicon Valley, and that's on a good traffic day.
I'm a big fan of living close to work. Life is too short to spend multiple hours a day commuting. My life in Chicago improved greatly once I moved to the North Side, within half-an-hour bike ride of the place where I worked. My current apartment is also within easy biking distance of Trader Joe's, a sketchy Asian grocery store, an Aikido dojo, a bank, and a post office. Those are pretty much the only places I need to go to on a daily basis. I live close to the train so I can easily use that to visit people who live farther away. Having all of this stuff in one place means I've been able to live fine without a car for the past several years. That means saving money and never having to worry about parking, gas, insurance, oil changes, etc. etc.
Life has been pretty good. It would be nice to hang on to my car-free, urban, close-to-work, train-and-bicycle-centric lifestyle. But I don't think I can. Mozilla is located in Mountain View, not in the city. Therefore I can either live close to work or I can live in the city, but not both. This is my dilemma.
Mountain View is one of those car-centric suburban sprawls I mentioned. It's got all the history and charm of Christmas lights on a plastic palm tree.
(It took me a while to find the "mountain view" that the town was named for. Said view is easily blocked by any one-story building.)
I took mass transportation from San Francisco back to Mountainview once. It took two train rides followed by two bus rides, for a total of two and a half hours. This is because the Bay Area is served by a confusing mash-up of seven or eight incompatible mass transit systems which overlap with each other in awkward ways, and the towns of the South Bay are not served well by any of them.
I spent way too much time waiting around in the rain on this trip, because I didn't have a car, so I was dependent on getting rides from Aza or on mass transit. Both were impractical and frustrating. I really should have planned my transportation better before coming.
Alright, so living here without a car is not an option. Fine. But even with a car, there are the infamous traffic jams on highway 101 to contend with. I've heard horror stories. Spending half an hour in a car to go a few miles is not my idea of a good time.
Finally, the way Mozilla staffers describe Mountain View is as "boring", "no nightlife", "nothing around here", "nothing to do". "Sure you'd be close to work, but what will you do on the weekends?" was a common reaction to people when I asked about living in Mountain View.
The neighboring suburbs are, as far as I can tell, pretty much identical.
So, let's consider the urban alternative: San Francisco.
Up until two days ago, this was the sum total of my knowledge about San Francisco:
- The Frank Zappa song that goes "Every town must have a place where phony hippies meet / psychedelic dungeons popping up on every street / gooo tooo saaan fra-an-cis-co-oo-woh"
- There was a homeless guy there back in the 1800s who proclaimed himself Emporer Norton I of the United States of America; he became a local legend and inspired a memorable Sandman episode as well as the name of Isaac's band.
- They have like the Golden Gate Bridge and Alcatraz and stuff. And their streets are really steep.
Now that I've been there, I can add the following facts:
- The streets are really, really steep. In most other places a 40-degree incline would be considered too steep to bother developing, but in SF it's prime real-estate. SF is a tiny surrounded by water on three sides, and lots of people want to live there, so it has nowhere else to go but up the side of the mountains. Walking on these streets is like climbing a mountain; driving on them is a bit like a roller-coaster. It's exciting! And the view from the top is pretty nice.
- It's crowded. As I said, it's a tiny area and lots of people want to live there.
- It's crowded with homeless people and weirdos. In the span of thirty minutes walking around in the South-of-Market neighborhood, I saw about four dozen homeless people sleeping in corners or pushing shopping carts, one guy with a pink beard wearing a dress, another guy with a staff and wizard robes, and more piercings than I care to think about.
- Everyone around here calls it "The City". As if the Bay Area was the only area in the world; as if SF was the only city in the Bay Area. (It's not even the biggest. San Jose is more populous and closer to Silicon Valley, it's just not as dense and not as famous.) I am getting the impression that SF has rather an inflated sense of its own importance.
- SF has a pretty cool Chinatown, as well as major enclaves of every other Asian nationality you care to name.
- The monthly rent of an apartment in SF costs more than the average Chinese family earns in three years. (Whereas the rent I pay in Chicago would take the Chinese family a mere six months.)
Aza and Atul are living in San Francisco for sure. Aza grew up near there and thinks it's the greatest city ever; he never seriously considered living anyplace else. He's sharing an apartment with Atul. Not me, though. I don't really want to live with them and they don't really want to live with me. I'm going to be seeing plenty of them at work. And besides, we have different lifestyle expectations. As they put it: "Jono, we want to have real furniture, not beanbags and milk crates.". (Bah humbug! Beanbags and milk crates forever!)
In favor of SF, there is apparently a commuter bus that goes from SF straight to Mountainview. It takes about an hour, on a good traffic day, but it's rumored to have free wi-fi aboard, so people can get their e-mailing out of the way and then focus on work once they get to work. The single fact of this bus's existence changes living in SF from a practical impossibility to a reasonable choice, which a lot of Mozilla employees take.
And SF apparently has "culture" and "nightlife" and "lots to do" and all the other stuff that the South Bay lacks. But the thing is, I'm not sure I'd use any of that if I had it. How long have I been in Chicago, and how often have I done any of the "cultural" stuff that Chicago has to offer? Not very much. Mostly I just go to work and come home, or I go to somebody's house for gaming.
So I don't think that I'd be so much happier living in SF that it would be worth an extra ten hours of time per week spent in a bus.
Get Me Outta Here!
I've decided to go with living in the South Bay, in or very close to Mountain View. I'll accept that I'll just have to have a car, but I'll try to be close enough to work that I don't have to use the car every day. When there's something I want to do in SF, I'll take the train up there.
This seems like the least of several evils, but I wasn't happy about it. The idea of living in the Bay Area was making me more and more depressed. People talk up the Bay Area but it seems like living here is the price that I'll have to pay in order to have this job. The job is going to be so awesome that I have no second thoughts about accepting the price, but still I was dreading the move.
I admit it, I'm a skeptic and a curmudgeon. Things that strike me as phony or snobby make me bristle like a porcupine. The conspicuous consumption, new-agey affectations, and pseudo-Asian trendiness of the Bay Area are all setting off my alarms pretty fiercely. People there are so spoiled that a light rain and a slightly chilly breeze set off complaints about the horrible weather. And the next time I hear someone hyping another Web 2.0 social-networking startup named with a random misspelled word, I'm gonna throw up.
Basically what I'm saying is, if I ever turn into one of the guys in this New York Times article, please shoot me.
But after being depressed for a while, I took another look at the map and had a good long think and realized I was forgetting something important.
Not only will I be closer to nature here than I was in Chicago, but it's more interesting nature. An hour's drive out of Chicago and you're still in the suburbs; but an hour's drive from Mountainview and I'll be in the mountains or on the seashore. Both are thickly dotted with state and national parks. There's opportunities for hiking, camping, mountain climbing, swimming, surfing, and sailing. And if I just accept the fact that I'm going to have to own a car, I'll be able to go do that stuff anytime I want.
Hmmm, that's not so bad after all.
It doesn't matter how rich and shallow Silicon Valley is if I can just leave it any time for some outdoor adventures, by myself or with a couple of friends. That's what I'll do! Forget San Francisco, forget Silicon Valley, forget nightlife and culture and money; I'm going to head for the hills every weekend. Time to be a country mouse again. I'll have an apartment in Mountain View near work for sleeping and keeping my stuff, but my home will be the mountains and the mighty Pacific.
Now I can be excited about the move.