Monthly Archive for July, 2006

Strawberries

Strawberries in the fridge

I just decided to make myself a bowl of yogurt+granola+strawberries, and I noticed 4-5 of the strawberries had spots of mold on them.

“DAMN YOU, DRISCOLL’S!”

was my immediate reaction. However, on reflection I realized that everything is as it should be.

After all, does the cheetah eat the entire every gazelle before the entire herd “goes bad”? No, she picks off the old and the weak, as needed. It is nature’s way.

Therefore, should you see a moldy fruit, do not despair. Rejoice that you have been given easy prey. And remember that in thinning the herd, you are performing a vital role for the health of the ecosystem.

However: be vigilant! If you do not hunt regularly, sickness can spread, and a valuable source of food may be lost.

Progress

Yesterday I did, in fact, manage to get my “final” mockups finished, and I figured out what was holding my code back (I had to add the header file I created to the makefile template thingy). And I finished before midnight, so… two snaps for transparency.

I also got a lot of great advice from Martin about how to implement the drag and drop featured described in the spec. So, hopefully that will be moving along quickly.

On that note, here are today’s goals:

1) Get AbiWord to print a happy message to the console when I drag one of the clipart items onto the document.

2) Make the font format toolbar button.

Transparency

I haven’t been very good about hitting my Summer of Code milestones over the last few weeks, so I’m going to try to be a little more transparent, and put daily goals on my blog. That way, if I fall short of those goals, anyone who reads this thing will know it. Hopefully that will light a fire under my butt.

So, for today I have just two, fairly simple goals:

1) Non-functional interface mockup, demonstrating intended functionality for basic and advanced prototypes (Deliverable)

2) Figure out why the stuff I wrote on Friday is not compiling.

Wish me luck.

The power of admission

I was just rereading my earlier post in which I admitted my “infatuation” with the OLPC project. The fact that I consider myself “infatuated” is a strike against my objectivity. You can’t be objective if you’re in love, after all.

But there’s some power in admission here. By admitting my bias, I entrust other people to keep me in check. It’s the stauts quo for ethnographic writing. Ethnographers include their story, and their point of view when they are “writing the culture”. It’s a way to be more honest, and thus make your work stronger.

These kinds of admissions are becoming more and more in vogue, with the blogging generation. It’s cool to write about the ups and downs of your super-hip life. You have power over your weaknesses and your foibles by owning them.

It’s kind of like Ulysses telling his shipmates to tie him to the mast while they pass the Sirens. He knows he is going to be biased in a bad direction, so admits it up front, and then trusts his community to keep him on the straight and narrow.

Smart fellow.

Programming for everyone

Most people, if you tell them things like “math is fun!” or “being able to program computers is awesome,” will look at you like you’re wearing your underwear on your head.

“Sure,” they say, “if you like sitting in front of a computer screen for 18 hours a day, talking about megabytes and googlewatts and not bathing.”

Or maybe you’ll get something simpler like “I hate math and math hates me.”

But if you know how to code, you know what I’m talking about: being able to coerce machines into obeying your carefully crafted commands is powerful, it’s addictive, and it’s really really fun.

It’s also a massive pain in the ass.

Over the last year or so I’ve started to understand that most of my interests in computing converge on this same idea: how do we make this thing–programming, scripting, development–accessible to everybody. And when I say everybody, I mean everybody: doctors, teachers, baristas, kids, elderly, poor people, rich people, blacks, whites, asians, hispanics, entrepreneurs, slackers, geniuses, scientists, africans, asians, australians, europeans, blind people, autistics, and telemarketers. How can we empower everyone with this amazing power that programmers have.

It’s not an easy question, especially since the easiest answer is “they dont’ want it”. Most people don’t have the patience to learn a computer language, let alone develop the skills necessary to actually write software. Empowering people with a programmer’s toolbox without forcing them to make that investment is what my research is all about. But there’s more to it than that. In fact, I can think of three major issues that stand in the way of getting this power into the hands of people:

1. Access to computers

This is why I am so infatuated with the OLPC project. They are trying to get computers into the hands of kids all over the world. This is obviously the first step in empowering them: giving them access to computing cycles.

2. Access to code

This is the one that the GNU people and the FSF people and the Red Hat people and the Ubuntu people talk about. Most people will never write software from scratch, because writing from scratch takes a lot of skill and patience. So for “regular people” to control their software, they need somewhere to start. In order for a nurse to be able to change the way she gets notified about a patient, for example, she needs access to the source code for her patient monitoring software. It’s as simple as that. And that’s what Free Software provides.

3. Programming without all of this crap

In order to do my summer of code project, I need to know how to wrestle with the UNIX toolset, I needed to know Python and C++, I need to know how to answer questions about how the Gnome APIs work, and a million other little things. My bachelor’s degree in Computer Science helps too.

But I don’t believe that the barrier to entry needs to be this high. There are a few academics out there making programming easier, but I think we are misunderstanding what programming is at a fundamental level.

When people prop open a door with a trash can, they are reprogramming the building’s security system. They don’t know C, or whatever language the system is coded in, but they are intervening in the operation of the system in such a way that the behavior changes. In my mind, that’s “programming”, and the fact that no one talks about this kind of programming and how it relates to writing a PERL script suggests to me that there are many more kinds of “programming” out there that are just as powerful and just as easy for people to jump in to.

And that’s why I’m going to UCSD next month to start my Ph.D.: I’m going to find them.

But really, all three of these pursuits are critical pieces of the puzzle, which is why I’m trying to get involved in all of them.

When the truth is spoken

“When the truth is spoken, it doesn’t need to be adorned. It just needs to be simply stated, and often it only needs to be said once.” – James Nachtwey

So, why do I feel like a lot of the things I say need to be repeated, or never quite sink in, or don’t quite come across the right way?

I think it’s because they’re not really true. Maybe there’s some truth to them, or some kernel of interest, but they’re not exactly right. Often because I don’t understand them yet.

On the other hand, I think simple lies can be nearly as convincing, and have teeth after only being said once.

That’s a dangerous thing.

India backs away from OLPC

A variety of sources are reporting that India is no longer planning to implement the OLPC program in their country. Some quotes from The Hindu:

“The case for giving a computer to every single is paedagogically suspect. It may actually be detrimental to the growth of creative and analytical abilities of the child”, Education Secretary Sudeep Banerjee told the Planning Commission in a letter sent last month.

“…..We cannot visualize a situation for decades when we can go beyond the pilot stage. We need classrooms and teachers more urgently than fancy tools,” Banerjee said.

This certainly won’t stop the project, or even slow it down, but I think India’s concerns are valid, and represent a significant gap in the OLPC message. Us academics are used to saying “well, we think this might work so let’s try it,” but people outside the Academy are rightfully wary of this approach. It’s fine when you have tenure, but not necessarily when you have voters or shareholders to report to.

I’ve blogged before about the kinds of problems the OLPC might face, and I think the organization might have a stronger message if they had some context-sensitive research to back up their claims. In fact, maybe they do… I just haven’t seen it.

That said, I think Nicholos Negroponte and Seymour Papert believe in the concept strongly enough that they feel the first pilot test will answer most of the doubts, and prove the program’s value. And the part of me that believes strongly in the concept thinks they just might be right.

Judicial Logic

The Washington State Supreme Court has upheld a 1998 ban on gay marriage with a 5-4 vote. From the Time article:

Justice Barbara A. Madsen, writing for a plurality of the court’s 5-4 majority, said the Washington state legislature “was entitled to believe that limiting marriage to opposite-sex couples furthers procreation, essential to survival of the human race, and furthers the well-being of children by encouraging families where children are reared in homes headed by the children’s biological parents.”

She rejected arguments by gay-rights activists that Washington’s 1998 “Defense of Marriage Act” (DOMA) — which limited marriage to one man and one woman and was passed despite the objections of the state’s Democratic governor — violated the state constitution’s requirements to treat all citizens equally. “DOMA treats both sexes the same,” Madsen wrote. “Neither a man nor a woman may marry a person of the same sex.”

Justice Mary Fairhurst, one of the judges voting against the ban, called DOMA “blatant discrimination” and said “There is no rational basis for denying same-sex couples the right to marry.”

I, personally, find Washington’s arguments difficult to swallow:

  1. Limiting marrige to different-sex couples does not encourage procreation. Lots of same-sex couples initiate procreation.
  2. And since when is Washington concerned about encouraging procreation? Low birth rates are not a threat to the human race. Nuclear war, overpopulation disasters, and environmental catastrophe are threats to the human race.
  3. Encouraging gays to marry people of the opposite sex is a recipe for divorce, which leads to children *not* being raised by their biological parents.
  4. Children reared by non-biological parents are just fine. There are lots of kids in this country raised by foster parents or step-parents who are just fine, not to mention same-sex parents.

And the argument that “DOMA treats both sexes the same” makes a lot of sense. After all, there’s nothing discriminatory about laws requiring separate bathrooms for black and white people, right? Neither a black person nor a white person may enter the bathroom for the opposite race.

Equal treatment under the law.

First Code

I still have a lot of design work to do, but given that this is Summer of Code, I need to be coding too. So, I’ve been picking at the Sugar codebase and got a “Hello World” activity working:

Hello World Sugar activity

It’s not much, but my Summer of Code mentor, Robert Staudinger, knows a thing or two about embedding AbiWord in Python, so hopefully getting AbiWord documents in there shouldn’t be too hard.

Also, I talked to Wendy on the phone, and she said she will try to put me in contact with the after school program she used to work for, which means that I may get to do observations, and possibly even usability testing, with some kids up in Boston this summer.

It was interesting talking to Wendy anyway because she’s had some experience watching kids who can’t really read yet use computers. She said a lot of kids just go straight for the games, which was also true in the Hole In The Wall project. But Wendy said some of the older kids really got into Word Processing. It made them feel professional and grown up, and they’d spend an entire afternoon typing one paragraph if they had to.

Hopefully I can learn more.