In five hours I will wake up, hop in the car, and drive for like 16 hours to a remote bit of desert, deliriously-tiredly set up a tent, and commence doing this "burning man" thing. I do not know what to expect. I am excited about this.
See you on the other side of Labor Day!
Sunday, August 30, 2009
Wednesday, August 26, 2009
So close...
So yesterday, I was riding my bike home, and I whizzed past, too quickly to even say anything and too quickly to be sure it was even actually him, Seattle mayoral candidate Mike McGinn! (you may remember my big plug for him a few posts ago.*) Then I whizzed past, again too quickly to say anything and too quickly to make sure it was her, my friend Diana who I haven't seen in ages. Boy, those are two unlikely people. Remember (last post) how coincidences involving David Byrne were happening in threes? Now all I had to do was whizz past, too quickly to even say anything and too quickly to be sure it was even actually him, the lead Talking Head himself. Alas, it was not to be, and I didn't run into Mr. Byrne at all. (except in my dreams...)
*so that was an okay punchline to end a post on, but I'm going to ruin it by talking about politics a little bit, which last November I said I'd stop doing, but it's pretty mellow politics so I think it'll be okay. Seattle primaries are "top 2", which means instead of "a democrat" and "a republican", we just pick the top 2 vote getters and send them on to the general election. Now, I think this is cool, but apparently a lot of people say it's dumb. Yeah, it's kind of dumb, but less dumb than the two-party system. Of course, we won't get really smart elections until we get ranked voting, or "you get 100 points to distribute" voting, but whatever. Anyway, McGinn and this other guy Joe Mallahan were the top 2. That's cool.
Monday, August 24, 2009
You can see this guy talk! He is a legend!
Does anyone want to see this guy (that is, David Byrne) talking about his new book which is about bicycles? Of course you do. It is in Seattle, September 28, and I will make it that much easier for you by providing this link that goes to the ticket-buying page. Yeah it's $30, whatever. It's David Byrne and bicycles! And books, which I guess I like too. Triple convergence!
In another unlikely triple convergence, I was just reading a book about why modern America is so screwed up (short answer: no communities), and the guy (in one chapter!) referenced Zen and the Art of Motorcycle Maintenance, "The fox knows many things but the hedgehog knows one big thing", and "Once in a Lifetime" by the Talking Heads (which video I linked you to before in this post). Wow! But then, talking with Daniel and Jared and Katie, I realized that me trying to explain this guy's book is just all over the place. The book is pretty scattered and I'm not a great unifier of points. So I won't talk about it any more.
Still, that's two triple convergences involving David Byrne in two days. As they are triple convergences, they must come in threes. I am excited to see what tomorrow's unlikely coincidence involving David Byrne and two other things I like a lot will be.
In another unlikely triple convergence, I was just reading a book about why modern America is so screwed up (short answer: no communities), and the guy (in one chapter!) referenced Zen and the Art of Motorcycle Maintenance, "The fox knows many things but the hedgehog knows one big thing", and "Once in a Lifetime" by the Talking Heads (which video I linked you to before in this post). Wow! But then, talking with Daniel and Jared and Katie, I realized that me trying to explain this guy's book is just all over the place. The book is pretty scattered and I'm not a great unifier of points. So I won't talk about it any more.
Still, that's two triple convergences involving David Byrne in two days. As they are triple convergences, they must come in threes. I am excited to see what tomorrow's unlikely coincidence involving David Byrne and two other things I like a lot will be.
Thursday, August 20, 2009
The New American Dream
This post starts as just a repost of a couple things from Good:
Is this just a cyclic thing? Our parents grew up and got big houses in the suburbs and lived private lives, so we want to grow up and get small apartments in cities and have a lot of friends? (you could certainly explain my opinions by that...) Will our kids want big homes on the range again? It is tough, as the article hints, to be 5-15 and think "well my parents are successful, someday when I am successful I will be just like them" and then be 15-25 and think "I can't live the same lifestyle as my parents, nor do I want to... what's next?" There are a lot of contenders that I've heard about, but most of them are either poorly defined or suck a lot:
- get a bunch of humanities degrees
- be a bankerman, let your I-banking job suck you up and spit you out a depressed millionaire, retire at 30
- join the peace corps, and then ...?
- be a nerdman, let your computer job suck you up and spit you out a burnt-out half-millionaire, retire at 40
- do exactly what your parents did
- get depressed or angry or something, drink a lot
- I guess party a lot? I don't know, a lot of people do that, right? And then join a rock band or something, and end up kind of burnt out or die tragically?
These all seem boring or ending in burned-outness, or both.
These all seem boring or ending in burned-outness, or both.
I mean, then there's the obvious answer:
- just live your own life, do what's reasonable, don't get burnt out at all, and don't worry about it so much, it'll be okay.
But that's very vague and hard to strive for. And it seems like the kind of thing that, if you don't plan, you'll just sort of drift until you're 40 and then be in a life you don't want and say, well I hate this, midlife crisis!
It might be easier if I had more experience with life. I don't know how people's lives really are. For all I know, everyone agrees that your 30's are the best decade of your life. Or maybe it just keeps getting better. Or maybe life only gets good once you move to a different country five times, or maybe most people are miserable most of their lives and only a few holymen have figured it out. I guess it's not been a problem for previous generations, because we have more choice than most of them. Well, this sword is double edged, at best.
Whoof. I'm all over the place. I swear, one of these days I'm going to quit thinking so hard about living my life, and start actually living my life.
It might be easier if I had more experience with life. I don't know how people's lives really are. For all I know, everyone agrees that your 30's are the best decade of your life. Or maybe it just keeps getting better. Or maybe life only gets good once you move to a different country five times, or maybe most people are miserable most of their lives and only a few holymen have figured it out. I guess it's not been a problem for previous generations, because we have more choice than most of them. Well, this sword is double edged, at best.
Whoof. I'm all over the place. I swear, one of these days I'm going to quit thinking so hard about living my life, and start actually living my life.
Tuesday, August 18, 2009
What a peculiar day.
I worked for 14 hours today!
Now, in itself, working 14 hours is nothing to brag about. But I'm genuinely pretty happy about it, because the reason I stayed so late was because I wanted to. (I mean, if I didn't want to, I wouldn't have; the Goog is pretty utopian in that sense.) I was enjoying work.
I got to write code. Write-run tests-debug-write-run tests-debug etc. I didn't spend the whole time looking up documentation or wondering if this was "the best" way to be doing it or trying to comprehend some obscure production system. It was great! The limiting factor was that my eyes were drying out. Whew.
In other news... no, there is no other news. I am a boringman who goes to work and then comes home and sleeps. I saw a concert of YACHT and Bobby Birdman (I would recommend the second for sure, the first maybe) and a movie of The City of Lost Children (I would recommend that for sure too).
Now, in itself, working 14 hours is nothing to brag about. But I'm genuinely pretty happy about it, because the reason I stayed so late was because I wanted to. (I mean, if I didn't want to, I wouldn't have; the Goog is pretty utopian in that sense.) I was enjoying work.
I got to write code. Write-run tests-debug-write-run tests-debug etc. I didn't spend the whole time looking up documentation or wondering if this was "the best" way to be doing it or trying to comprehend some obscure production system. It was great! The limiting factor was that my eyes were drying out. Whew.
In other news... no, there is no other news. I am a boringman who goes to work and then comes home and sleeps. I saw a concert of YACHT and Bobby Birdman (I would recommend the second for sure, the first maybe) and a movie of The City of Lost Children (I would recommend that for sure too).
Friday, August 07, 2009
I have had a lot of weeks that have been better than this one.
Anybody know any good video games? (uhh, for a mac?)
Speaking of video games, if you have an iphone, I highly recommend Tyrian. If you have a computer, Jared recommends World of Goo (I haven't played it yet).
Low-commitment games would be nice, because I'll probably lose patience soon and then embark on trying to become a rock star or whatever, like I do. But for now, I am wanting to do something that is easy and fun and simple.
Speaking of video games, if you have an iphone, I highly recommend Tyrian. If you have a computer, Jared recommends World of Goo (I haven't played it yet).
Low-commitment games would be nice, because I'll probably lose patience soon and then embark on trying to become a rock star or whatever, like I do. But for now, I am wanting to do something that is easy and fun and simple.
Wednesday, August 05, 2009
Why Seattle elections are great (and Dan's endorsements!)
There's a guy running for King County Executive named Goodspaceguy (just one name), who has a blog (note the title) in which he continually refers to himself in the first and third person.
That said, if you're in Seattle, you should vote, because then you can be self-righteous about voting. Who to vote for? I'll tell you, based on recommendations I can gather. (the "voter's guide" you get in the mail is useless.) If you disagree on anyone, let me know; I'm by no means well-qualified or very knowledgeable here. I read local blogs. Here's what I've gathered.
Let me also say that I think the biggest issue at stake is the deep-bore tunnel. We have a crumbling Highway 99, AKA the Alaskan Way Viaduct. The plan, as of now, is to replace it with a $4.2 billion tunnel. Problems:
1. it's way too expensive
2. it's underfunded (even at $4.2 billion)
3. will this be another Big Dig (like that thing in Boston which sucked)? Okay, nevermind, that's not a logical argument, it's just an attempt to elicit fear.
3. (most importantly) it makes Seattle car-friendlier. Furthermore, it makes it sprawl-friendlier by making it easier to get through downtown, without ever actually going downtown.
This is a big issue, because it's a lot of money. I'm afraid of getting mired in this plan for a decade, raising taxes higher and higher and cutting other stuff because we're so out of money for it. So my #1 criterion for a candidate in this election is "is he/she against the tunnel?"
And I'll put these races in ballot order, with bold if I particularly care. If you only vote in one race, vote McGinn for mayor.
King County Exec: Dow Constantine. Sierra club (and other environmental groups?), the Stranger, Cascade Bicycle Club, some Eastside democrats.
Court of Appeals, Division 1, District 1: Anne Ellington. Seattle Times, Stranger, and I don't care enough to dig deeper.
Port of Seattle Commissioner, positions 3 and 4: Rob Holland and Max Vekich (Stranger likes Albro but he has a lot of big-business donors). Stranger, Publicola, Eat the State (hard left group; I'm stretching here)
Seattle Mayor: Mike McGinn. (this is in big letters, for all you facebook readers) Publicola, Stranger, Hugeasscity, Friends of Seattle, and he's the most (only?) anti-tunnel.
Seattle Council position 4: David Bloom. Seattle Weekly, Eat the State, Publicola, and he actually said something in his voter-guide statement. This race is interesting. Apparently the Seattle Transit Blog hates Bloom, but the far-left loves him, and he's an activist. Dorsol Plants seems good too, and I like young people because I am one.
Seattle Council position 6: Jessie Israel. Cascade Bicycle Club, Friends of Seattle, Seattle Transit Blog. Apparently Nick Licata's been around for a while, and a pretty good standard lefty who votes "no" on bad ideas. But Israel seems likeable and full of good change ideas, and better for transit.
Seattle Council position 8: Mike O'Brien. A big "no downtown deep-bore tunnel" in bold letters sold me. If that's not enough, how about the Stranger, Publicola, Cascade, Friends of Seattle, and the Seattle Transit Blog? Thank goodness one of these races is easy.
Plastic bag tax: oh my god vote yes. Everyone agrees. Except the $1.3 million from the chemical lobby.
Seattle School District No. 1 Director District No. 5: Mary Bass. I guess. Publicola and Eat the State are behind her. Seattle Times isn't, but I tend to disagree with the Times, really. It's the newspaper for the suburbs. Publicola has a good point: if the schools are going to get shaken up soon (likely) good to have someone with experience there.
Discuss! You have a few days to convince me if I'm wrong on anything here, and then I'll mail in my ballot.
That said, if you're in Seattle, you should vote, because then you can be self-righteous about voting. Who to vote for? I'll tell you, based on recommendations I can gather. (the "voter's guide" you get in the mail is useless.) If you disagree on anyone, let me know; I'm by no means well-qualified or very knowledgeable here. I read local blogs. Here's what I've gathered.
Let me also say that I think the biggest issue at stake is the deep-bore tunnel. We have a crumbling Highway 99, AKA the Alaskan Way Viaduct. The plan, as of now, is to replace it with a $4.2 billion tunnel. Problems:
1. it's way too expensive
2. it's underfunded (even at $4.2 billion)
3. will this be another Big Dig (like that thing in Boston which sucked)? Okay, nevermind, that's not a logical argument, it's just an attempt to elicit fear.
3. (most importantly) it makes Seattle car-friendlier. Furthermore, it makes it sprawl-friendlier by making it easier to get through downtown, without ever actually going downtown.
This is a big issue, because it's a lot of money. I'm afraid of getting mired in this plan for a decade, raising taxes higher and higher and cutting other stuff because we're so out of money for it. So my #1 criterion for a candidate in this election is "is he/she against the tunnel?"
And I'll put these races in ballot order, with bold if I particularly care. If you only vote in one race, vote McGinn for mayor.
King County Exec: Dow Constantine. Sierra club (and other environmental groups?), the Stranger, Cascade Bicycle Club, some Eastside democrats.
Court of Appeals, Division 1, District 1: Anne Ellington. Seattle Times, Stranger, and I don't care enough to dig deeper.
Port of Seattle Commissioner, positions 3 and 4: Rob Holland and Max Vekich (Stranger likes Albro but he has a lot of big-business donors). Stranger, Publicola, Eat the State (hard left group; I'm stretching here)
Seattle Mayor: Mike McGinn. (this is in big letters, for all you facebook readers) Publicola, Stranger, Hugeasscity, Friends of Seattle, and he's the most (only?) anti-tunnel.
Seattle Council position 4: David Bloom. Seattle Weekly, Eat the State, Publicola, and he actually said something in his voter-guide statement. This race is interesting. Apparently the Seattle Transit Blog hates Bloom, but the far-left loves him, and he's an activist. Dorsol Plants seems good too, and I like young people because I am one.
Seattle Council position 6: Jessie Israel. Cascade Bicycle Club, Friends of Seattle, Seattle Transit Blog. Apparently Nick Licata's been around for a while, and a pretty good standard lefty who votes "no" on bad ideas. But Israel seems likeable and full of good change ideas, and better for transit.
Seattle Council position 8: Mike O'Brien. A big "no downtown deep-bore tunnel" in bold letters sold me. If that's not enough, how about the Stranger, Publicola, Cascade, Friends of Seattle, and the Seattle Transit Blog? Thank goodness one of these races is easy.
Plastic bag tax: oh my god vote yes. Everyone agrees. Except the $1.3 million from the chemical lobby.
Seattle School District No. 1 Director District No. 5: Mary Bass. I guess. Publicola and Eat the State are behind her. Seattle Times isn't, but I tend to disagree with the Times, really. It's the newspaper for the suburbs. Publicola has a good point: if the schools are going to get shaken up soon (likely) good to have someone with experience there.
Discuss! You have a few days to convince me if I'm wrong on anything here, and then I'll mail in my ballot.
Monday, August 03, 2009
Je comprend un peu le francais
So, speaking of Al Gore and the Frenchpeople, I'm learning French now. Daniel and I debated at great length about whether to learn French, Russian, Arabic, or Japanese. We played the voting game and came out with a 4-way tie. In the end, they're all super-useful for getting around the world (maybe Japanese the least so, but Japan is cool); they're all very cool languages (maybe French the least so, whatever); and they're all apparently very difficult (except French).
The bit about difficulty tipped the scales. If it's pretty easy, it'll give us some momentum, and we'll be all like "hey this is fun let's do another one."
Oh yeah, how are we doing it? Audio tapes. (well, mp3's, really.) At some point I'll have to get some reading/writing/speaking-with-other-people in, or my spelling will be tres mal. But it's a start, anyway, I'll let you know how it goes.
Sunday, August 02, 2009
Fair prices, Frenchpeople, and tennis
Well, tennis first. I saw a real live tennis match last night. The "Bank of the West Open" was going on at Stanford U., where I was visiting my parents (my dad was teaching in a "trial academy" there last week). My dad likes tennis a lot, so he took us to the match that was going on last night, which was a semifinal match. It's an all-women's tournament. The match was between Samantha Stosur (an Australian who beat Serena Williams the day before) and Marion Bartoli (a Frenchperson). We rooted for Stosur, because Bartoli is apparently kind of a jerk, and also a Frenchperson*. She lost, 6-3, 1-6, 6-1.
*You should know that the Frenchpeople are out to get my dad. Their leader is Al Gore. It's like a gang of villains. Al Gore and the French. See, as bears are to me, Al Gore and the French are to my dad, in that they're things we hate and are terrified of, while everyone else thinks we're nuts. (I'll let you draw your own conclusions.) I should draw some cartoons about this sometime.
I had only seen a tennis match once before, I think. It was fun to watch. It's very different: everyone is quiet the whole time! I mean, if you made a loud noise, I guess you'd startle the tennisers. The stadium is pretty small. It's kinda genteel, but my game of "count the not-white people" actually turned out a pretty high number. And tennis itself has a lot of quirky rules and stuff, which is kind of fun. (for the record, I think I'd enjoy 43-Man Squamish.)
Also, I can't post a thing without linking a few times, so here's a Good article about fair-priced ipods. Would I pay more for a fair-trade ipod? Super yes. See, consumption is difficult nowadays (I mean buying stuff, not tuberculosis). Either you consider not only price and surface attributes but also all the effects of your purchase (which is hard), or you just add to the problem (which sucks). If you had the option to know that you're not adding to the problem, that would be really nice, and it would make buying things easy.
Which sort of leads into my Grand Theory of Economics, which is slowly congealing: markets are The Best, but you shouldn't be allowed to "cheat" (where I will define "cheat" myself in a bit). I mean, I believe a free market would give us the best mp3 player for the best price, and the best company would win. This is great. But then, if one company starts using sweatshops and another isn't, the sweatshop one can offer mp3 players cheaper, and they'll win, even if their mp3 players are worse. Eventually this will lead to everyone using sweatshop labor or else going out of business. This is bad.
What does "cheat" mean? Do something unsustainable to the environment or dehumanizing to people. Sweatshops: obv cheating. Using unrecycled paper when recycled paper will do: also cheating. Dumping toxic waste when a non-toxic option exists: cheating.
Okay, arguers: yes this leads to a ton of super gray areas. And no, this will probably never happen. I can't refute either of these arguments. But I will refute the "but poor people can't afford things if they get more expensive" argument here: people being poor is a separate problem. Things (and particular food, if you couldn't already tell that this was part of the argument) should cost what they cost to produce ethically, cleanly, etc. If poor people can't afford food, we should give out more food stamps or whatever; solve poverty separately from the food supply. If poor people can't afford mp3 players, tough.
I'm a little caffeinated right now (bought a coffee from an airport stand where "small" meant 16oz. what.) so my argument is a little jumpy and I'm a little idealistic; and I don't want to continue this post now. Just, you know, throwing out some sustainably-produced food for thought.
*You should know that the Frenchpeople are out to get my dad. Their leader is Al Gore. It's like a gang of villains. Al Gore and the French. See, as bears are to me, Al Gore and the French are to my dad, in that they're things we hate and are terrified of, while everyone else thinks we're nuts. (I'll let you draw your own conclusions.) I should draw some cartoons about this sometime.
I had only seen a tennis match once before, I think. It was fun to watch. It's very different: everyone is quiet the whole time! I mean, if you made a loud noise, I guess you'd startle the tennisers. The stadium is pretty small. It's kinda genteel, but my game of "count the not-white people" actually turned out a pretty high number. And tennis itself has a lot of quirky rules and stuff, which is kind of fun. (for the record, I think I'd enjoy 43-Man Squamish.)
Also, I can't post a thing without linking a few times, so here's a Good article about fair-priced ipods. Would I pay more for a fair-trade ipod? Super yes. See, consumption is difficult nowadays (I mean buying stuff, not tuberculosis). Either you consider not only price and surface attributes but also all the effects of your purchase (which is hard), or you just add to the problem (which sucks). If you had the option to know that you're not adding to the problem, that would be really nice, and it would make buying things easy.
Which sort of leads into my Grand Theory of Economics, which is slowly congealing: markets are The Best, but you shouldn't be allowed to "cheat" (where I will define "cheat" myself in a bit). I mean, I believe a free market would give us the best mp3 player for the best price, and the best company would win. This is great. But then, if one company starts using sweatshops and another isn't, the sweatshop one can offer mp3 players cheaper, and they'll win, even if their mp3 players are worse. Eventually this will lead to everyone using sweatshop labor or else going out of business. This is bad.
What does "cheat" mean? Do something unsustainable to the environment or dehumanizing to people. Sweatshops: obv cheating. Using unrecycled paper when recycled paper will do: also cheating. Dumping toxic waste when a non-toxic option exists: cheating.
Okay, arguers: yes this leads to a ton of super gray areas. And no, this will probably never happen. I can't refute either of these arguments. But I will refute the "but poor people can't afford things if they get more expensive" argument here: people being poor is a separate problem. Things (and particular food, if you couldn't already tell that this was part of the argument) should cost what they cost to produce ethically, cleanly, etc. If poor people can't afford food, we should give out more food stamps or whatever; solve poverty separately from the food supply. If poor people can't afford mp3 players, tough.
I'm a little caffeinated right now (bought a coffee from an airport stand where "small" meant 16oz. what.) so my argument is a little jumpy and I'm a little idealistic; and I don't want to continue this post now. Just, you know, throwing out some sustainably-produced food for thought.
Saturday, August 01, 2009
I'll vote 5 on "programming the voting game"
Hey you know how sometimes I don't ever do stuff? Sometimes I do stuff! Here's a stuff:
The Voting Game (yes you must sign in with a google account. sorry that's kind of annoying, but it's fun to play with the super-easy users API)
And
The Voting Game Source Code
The technology stack is like this: App Engine, Python, Django templates (I guess), and HTML forms. So if you know anything about App Engine or HTML forms, or simple web app programming at all I guess, I would REALLY REALLY appreciate your comments on the code. Really. I would like send you a nice thing or cook you dinner or something.
Also: people always stamp some kind of license on their code. I don't know from licenses. What's a good license for "I did this for fun, I don't ever want to make any money off it, please use it if it helps you at all (for fun or profit, whatever)"?
But even more importantly, always be happy to vote!
(for info on what the voting game is, ask beej, or read the README)
Disclaimers: yes I know the buttons should get grayed out if you've already voted on a thing. I don't know how to easily do this without passing dumb extra variables into the HTML template. It's not flashy. It's not really authenticated/access-controlled the right way (I could vote on your game and vice versa). There's no great way to tell if everyone's done voting. And if you don't know how the voting game works, it's kind of hard to figure out what's going on. Maybe I'll improve these things later. Don't hold your breath.
Side note: about App Engine. Things I like:
- the users API. I can use Google Accounts with like 3 lines of code!
- the datastore API. I can put data in a persistent layer by creating an object and calling put().
- I don't have to have a server to build a web app!
- the admin console and launcher are great
- 1-click deployment
- python seems pretty okay (you can use java too I guess)
- they have a host of features (monitoring, cron jobs, etc) that I haven't even touched yet
Things I don't like:
- how are you supposed to build a UI? HTML forms? HTML forms are kind of crap! For example, greying out the buttons if you've already voted on a thing is hard.
- if you get more than like 1000 things in a query, I guess you have to do some fancy paging or something. (but then, I guess if your query returns more than 1000 results, ur doing it wrong.)
- it makes web 1.0 apps easily, but web 2.0 apps difficultly. Hmm... I guess I could do it all with javascript maybe?
- python might not actually be pretty okay. I find it hard to organize my code. I guess I'm used to the java model; I shouldn't knock the python one until I actually try it.
- the datastore is actually rather tricky, when you have entities that have relationships to other entities. I don't know if I'm doing it right. I guess we're trying to get away from the SQL world and into the BigTable and friends world; it would be nice if anyone ever taught a class about new non-relational data models.
The Voting Game (yes you must sign in with a google account. sorry that's kind of annoying, but it's fun to play with the super-easy users API)
And
The Voting Game Source Code
The technology stack is like this: App Engine, Python, Django templates (I guess), and HTML forms. So if you know anything about App Engine or HTML forms, or simple web app programming at all I guess, I would REALLY REALLY appreciate your comments on the code. Really. I would like send you a nice thing or cook you dinner or something.
Also: people always stamp some kind of license on their code. I don't know from licenses. What's a good license for "I did this for fun, I don't ever want to make any money off it, please use it if it helps you at all (for fun or profit, whatever)"?
But even more importantly, always be happy to vote!
(for info on what the voting game is, ask beej, or read the README)
Disclaimers: yes I know the buttons should get grayed out if you've already voted on a thing. I don't know how to easily do this without passing dumb extra variables into the HTML template. It's not flashy. It's not really authenticated/access-controlled the right way (I could vote on your game and vice versa). There's no great way to tell if everyone's done voting. And if you don't know how the voting game works, it's kind of hard to figure out what's going on. Maybe I'll improve these things later. Don't hold your breath.
Side note: about App Engine. Things I like:
- the users API. I can use Google Accounts with like 3 lines of code!
- the datastore API. I can put data in a persistent layer by creating an object and calling put().
- I don't have to have a server to build a web app!
- the admin console and launcher are great
- 1-click deployment
- python seems pretty okay (you can use java too I guess)
- they have a host of features (monitoring, cron jobs, etc) that I haven't even touched yet
Things I don't like:
- how are you supposed to build a UI? HTML forms? HTML forms are kind of crap! For example, greying out the buttons if you've already voted on a thing is hard.
- if you get more than like 1000 things in a query, I guess you have to do some fancy paging or something. (but then, I guess if your query returns more than 1000 results, ur doing it wrong.)
- it makes web 1.0 apps easily, but web 2.0 apps difficultly. Hmm... I guess I could do it all with javascript maybe?
- python might not actually be pretty okay. I find it hard to organize my code. I guess I'm used to the java model; I shouldn't knock the python one until I actually try it.
- the datastore is actually rather tricky, when you have entities that have relationships to other entities. I don't know if I'm doing it right. I guess we're trying to get away from the SQL world and into the BigTable and friends world; it would be nice if anyone ever taught a class about new non-relational data models.