A Flower Garden

Here we go. Below is a screen shot from assignment number 2. This time I grew a wild flower garden. Every time the program runs, you end up with thirteen orange and pink flowers and 1,500 blades of grass, but where the flowers bloom and where each leaf of grass falls is up to the computer.

Programmed Wild Flower Garden

I’m really pleased with the grass. Doesn’t it look like that plastic shred you find in easter baskets?

Technorati Tags:, , , , , , ,

My Initials

After only 10 methods spanning 265 lines of code, including comments, it’s done (and on time)! May I present to you the first programming assignment for my first programming class:

It even reflects my hispanicity. Is it not pleasing to the eye?

No offense, Papert, but there’s got to be a better way than LOGO1.

1 I’ve since changed my mind. See my comments below.

Technorati Tags:, , , , , , ,

Backwards Compatibility

This weekend I took the Chinatown bus down to New York to visit my army special forces friends Danny and Mike and to meet their army special forces friend Zack, all up from North Carolina. Whenever Danny makes his way up the East Coast, a bunch of us convene: a few from Boston, a handful from New York, and one from DC. We’re a geographically diverse group of friends, but that doesn’t stop us. We make an effort. And that’s the problem—I think maybe we’re a bit misdirected.

Saturday, we went to a sports bar called Proof. (I immediately wondered if there was so big a math crowd in this part of the city as to sustain a bar, but I quickly realized that they probably didn’t mean a mathematical proof. Eighty proof was more the feel of the place.) The floors were the kind of dirty that black, matte surfaces always are, which set up a visual cue for the rest of the decor to follow. Everything about the bar was dark hip in that cold, uninviting way that encourages you to have fun to prove to others that you’re having fun. The neon lights that pierced through from behind the bar coupled with the bartendress’s bad dye job and caked make-up put me in the psychological dugeon of a Celine Dion concert. Proof relies on happy hour gimmicks which simultaneously feature Bud Light and a multitude of flavoured Stoli. (You could tell from the looks of the clientele that they had found their niche.) I’m not sure anyone in the bar knew why they were watching a football game. I certainly didn’t.

We established early on that no one in our party had any opinion either for or against the Colts or the Ravens. A lady bordering us said she liked the Colts, so one of us loudly cheered for her team. Lisa, Danny, and I left our uncomfortable and unsociable seats and headed to the burger joint next door just before half-time, where we almost had time enough to talk. The guy who had dragged us to Proof didn’t pay attention to the game at all. I overheard his girlfriend trying to explain to him who Adam Vinatieri is. It was no use; he wasn’t interested. By the time he realized that the three of us had left, he mobilized the rest of troops. We were going to leave. To sit down. To have dinner. Somewhere else.

Earlier that day I caught some awful brunch with my good friend Baca. We went to some up-and-coming place in Nolita called Public. Its theme: public spaces. The menu comes on a clip board. Apparently public spaces are industrial and water-stained. I had two poached eggs on garlic yogurt with kirmizi biber butter. I pressed our waitress before ordering and she admitted that “No, it’s not really butter.” She was right—it’s an oil with too much flavour for its own good. I let the hipster get the best of me. It could’ve been because I was wearing herring bone. Still, I wanted to go out to brunch. Baca merely accommodated me. Sorry, Baca.

Now here’s my point. In both instances, I hated the place we went to. But the sports bar really left me angry while, the food aside, I had a really good time at brunch. So, on the bus ride back to Boston, I started thinking why is that? And the secret is a problem in good user design.

Software designers sometimes leave in features that could be considered obsolete, needlessly complicated and confusing, or otherwise just bad in the name of backwards compatibility. The idea is that even if it’s not necessarily the best way a thing can be done, it’s a way that the user knows and therefore will expect will work, if poorly. And that’s right. The user might very well expect to see an old feature in a new realease. But expectation isn’t a good enough justification for doing something. It’s sort of like saying, “The user should be abused because the user is used to being abused.” (You might’ve heard the argument, “He may be the Devil, but at least he’s my Devil.”) People do this sort of thing all the time in all fields. Decisions made in the past are often carried well passed their realm of usefulness into the future for the sake of mindless adherence to tradition. Not to do so is like admitting your were wrong, or at least that you’re wrong now. Why do you think we won’t revise our plan for Iraq? Designers who throw in features they know to less than productive to ensure backwards compatibility have confused a means as an end.

Software is supposed to be a vehicle to help people do things that they otherwise could not have done on their own. That is, the software—like alcohol or sports bars–is supposed to be a servant, not the master. But that’s the difference between my two stories. In the first, we went to Proof because someone thought we were supposed to watch the game. Really, no one wanted to—the Pats played on Sunday, not Saturday. (We all went to dinner during the second and arguably more important half, you remember.) But brunch? I wanted to go brunch. The fact that the food sucked was only incidental. I wanted to spend time dining with Baca. And Public, bad though it was, did the trick. It provided a forum for us to catch up. That’s what I expected to do this weekend. Instead, we often got caught up doing things that are supposed to be fun rather than actually having fun.

The lesson learned is an old one: hang out with your friends at a bar, don’t hang out with a bar in front of your friends.

Technorati Tags:, , , , , , , , , , , ,

The State of Grafitti: Yuppie as Mascot

About a year ago, I was at the Park Street station on my way back to Cambridge. As I waited for the train to come, I did what I always do when I’m waiting without a book: I paced the end of the platform. Rather than slowly pass my foot over the knobs of the textured, yellow safety strip,—a favorite pastime of mine—I kept to the flat brick on a well-defined route that visits the supporting columns which dwell nearest to the tunnel’s opening.

Normally I’m not struck by public graffiti, but every once in a while something unexpected crops up. This time one of my columns read: “Kill all yuppies.”

I was very excited by this message. No, I’m not in favor of killing all the yuppies. That suggestion’d put me too close at risk. There’s a very good chance, indeed, that I’m a yuppie. So, no. Please be kind to the yuppies. But here’s what’s different. Normally the graffiti that I’ve encountered are either some sort of tag—you know, a personal statement of existence and potential ownership, “Kilroy was here” or “AlL St*R” or something along those lines—or alternatively they are some commitment of love or hate (often accompanied by a slur or two). You seen them, something like “Joe is a fag” or “I love Tiffany.” Anyway, all of these examples are personally directed. They don’t extend beyond an individual. Sometimes I’ll find one that condemns a whole group of people, like my yuppies example, scrawled on a public alleyway. But those even those are gang-related or race-related. Yuppies represent something new.

Whoever wrote it got my attention because his hatred was not race-directed. It points to a larger social movement. The new segregation, if it is really new, will be intellect. And these upwardly mobile persons are central enough to earn the distinguished role of spokesperson. But what exactly are yuppies mascots of? Well, that sort of brings me to some more recent graffiti.

The Ashmont train station is undergoing some pretty hefty repairs. Officials have suspended the Mattapan High Speed Line service for a year, and the train station is hidden from plain sight by several, several ton mounds of dirt. Like most other forms of transportation in the city, the Ashmont station is going underground. It’ll take some time before things are back in order. For now, there are lots of make-shift wooden structures to take the places of the bus depot and station entrance. And that means there’s plenty of board space for community art—I mean graffiti.

The last time I was at Ashmont I noticed some of the newer pieces as I walked by one of the wooden panels. This time a website caught my eye. I haven’t seen many hypertext tags outside of the internet, but there it was: a link to someone’s myspace page. Kilroy has entered a new age and he’s updated his message. Now the statement is “I am not here, I’m here. Come find me.” It’s a revolution. Personalization on the web is at an all-time high, and movers in the field want more of it. Collaborative filtering, social navigation, blogs! They’re all in style, and they don’t look like they’re going to go away any time soon. I can’t say I mind it, either. In fact, I want to be more a part of it.

This is not the same technological revolution that your slightly older brother talked about only decades ago. No, the paradigm is different: we can read the writing on the wall. Literally. Before technology brought with it an increased level of impersonality. The assembly-line metaphor bled into everything—it’s still around, of course. Don’t worry, the transactional framework driven by the glory of mass manipulation of raw goods to form an endless supply of identical product is still very much alive. And people are still applying manufacturing-inspired methods completely out of context. And the effect is still very isolating. But lo! the very same push to maximize profit that once aimed to cut time and kill interpersonal relationships has turned a corner. Personalization is the new rage.

But will personalization help build bridges among people; won’t it keep us even more securely glued to our seats in front of our computers? I’m afraid that it can. Technologically-backed social ventures, like AOL Instant Messenger and other chat programs, have made it easier for the quiet kids to remain quiet and alone. Chat tools give the user the appearance that they’re interacting with other people. But some researchers suggest that the analogy is only that: apparent. The real satisfaction one gains from honest-to-goodness, face-to-face conversation is so much greater than its virtual manifestation that it’s almost silly to make the comparison. So, what’s going on?

The invitational nature of MySpace is different than AIM. A person’s page is like his home. Each click to that site is really a visit. That’s why it makes the news so often. Sometimes the visits aren’t just virtual. And everyone uses it: college kids, little kids, married couples. The range of demographics represented by MySpace’s users is enormous. Unlike Friendster, which originally withheld a user’s access to a stranger’s page by default, MySpace let everyone see everyone else from the get-go. Friendster was a place for people who were already friends. MySpace, I believe, was built to get people to go to and listen to new bands in concert. The idea that you’d actually meet strangers was the founding idea. Now it’s just a place find others you’d like to bone à la Craig’s List’s personals but less so. But the idea that you might meet the person attached to the website is still very much there. Isn’t that exactly what that graffiti from Ashmont Station was all about? The internet takes all the scariness out of meeting a stranger, because you don’t physically meet, and the meeting is still completely anonymous. (There’s a trade-off, though. The relationships that form are even more tenuous than those so-called and ever important “weak bonds.” Online relationships tend to be superficial and sometimes socially damaging. Like I said before, they permit the loners to find each other and stay alone. Even those of us who aren’t loners end up as loners the longer we stay online rather than outside.)

So we’ve found a cause for our mascots. Like the term itself, today’s yuppies herald the dawn of a new form of impersonalization: isolation through personalization. Technology is poised to use what it knows about you and your preferences to make a friendlier, easier experience. In the process, you get to interact with others—real or not. The interaction is deep enough to convince you that you’ve done something meaningful. You’ve made a friend or learned a new fact. (Wikipedia is a blessing and curse.) But have you really; can you rely on your friend or apply your fact?

Your iPod list has exactly the music you want to hear. And so now, people go through life not listening to each other but to themselves, plugged into a clean, white box whose world revolves around the most important person—its only person: its master is me. Time Magazine got it wrong. The person of the year is not You; it’s me. This is the society recorded in graffiti today.

Technorati Tags:, , , , , , , , , , , , , , , , , , , , , ,

Computer Science: Brining Families Together

For my birthday/Christmas—they’re essentially one and the same—I received what is perhaps the most wonderful card game ever. Apples to Apples is a group adventure in forced classification, and its parallels to data mining techniques are vivid, fun, and revealing. Its power is so subtle that my sister almost didn’t realize just how much of her bedroom practices she had revealed in a single card. My dad caught it, though. Let’s hold back a moment. You need to know how to play the game first.

There are two kinds of cards: red apple cards—each player holds seven of these at all times—and green apple cards, which stay in the middle. Both cards have a single word printed on each of them. The red cards have nouns like The Godfather or exorcism. The green cards get adjectives like scenic or cold. Like the name suggests, the gist of the game is to match Apple to Apple.

Each round one person reveals a green apple card. This person is the judge for the round. He gets to choose which person comes up with the best pair. Let’s pretend the word for this round is ‘flirtatious.’ Everyone else looks in her hand of seven red cards and picks the one which is the most flirtatious. Here’s a list of the seven cards in my hand:

  • The Olympics
  • Plane Crashes
  • The Ozone Layer
  • The Opera
  • Gossip
  • Fast Food
  • Family Reunions

I select the ozone layer card because that little strumpet has been trying to get everyone to pay attention to it since the early 90s and I’m sick of it. I place my card face-down so that the judge doesn’t know which card is mine—we want at least to feign impartiality, right? Everyone else does the same. We mix up the cards and the judge chooses which card is most flirtatious. Someone else had the KKK. The judge, because he’s nuts, chooses that one. That was DJ’s card, so he gets the point for the round. Now someone else takes her turn as judge and we continue like that until things get out of hand and we stop. The player with the greatest number of green apple cards at the end wins.

It’s really neat to see the sort of patterns that develop after a couple of rounds have passed. People learn to “play to the judge.” We like to have the judge talk through his choice so that we can get a sense of the convoluted thought processes our friends have. Each round is training. People pick up what works with whom and why others don’t. Strategies emerge. Battles ensue. Complex word associations form. You get the idea.

The way people adapt after a few rounds of the game is basically the same way an artificial neural network (NN) learns. It has some training data. In this case, the training data are the red cards. The problem is to match the right red card with a specified green card. In general an expert will figure out what the right pairings are. The NN will come up with a guess, which is a lot like picked a red card. Then the expert will tell the neural net whether it got the answer right or wrong—in this case, whether it selected the right card or not. In our game, the judge tells us what went wrong during the talk aloud portion of judging. Maybe he thought that only living things could be flirtatious. Perhaps the more bizarre, the better in the judge’s mind. Whatever the case, talking through the solution gives us an opportunity to revise our plan of attack. Next time, we’ll weight one sort of connection over another.

Neural nets do the same thing. They look at the expert’s answer and its answer and compare the difference to calculate the error. The nets use the error to readjust the internal weights so that chance of getting the right answer is better next time. When a net is good at getting a proper response on the training set, then it’s ready to tackle new data that doesn’t yet have a right answer. Apples to Apples is a game that is built around the same premises used to train a neural net. And it’s remarkably fun. But how do we get beyond training; when do we get to have a shot at untamed data? Well, we came up with some new rules.

In this version of the game, the set-up is the same. One person judges against a green card, the rest offer up a matching red card. This time, though, the judge has to guess whose card is which. After playing with the normal rules, you should have a feeling for what sort of answer each person is likely to give. Now you have to work backwards. If you can successfully match a card with a person you get that point. But should you guess wrong, the person who successfully dodged identification gets a point. So, you stand to get a lot of points if you’re the judge. If you’re not, you still could earn one more. And over time, that’s the way to go.

So how did my sister embarrass herself? Well, I was the judge and the word was ‘dirty.’ I said, “Maybe this says a little too much about me, but I’m going to pick ‘handcuffs.’ Whose is it?”

It was my sister’s card. Seeing that, my dad asked, “Janice?”

She floundered a bit. “Well, I like,” she started. The room immediately fell silent. She had the floor. Realizing what she had begun to say, she grasped for words. “At school we were talking, and…”

I cut her off quickly. “Can somebody pass me a cookie?” I asked loudly to DJ, who broke into laughter.

Who knew that computer science could bring a family together like that?

Technorati Tags:, , , , , , , , , , , , , , , ,