Archive for September, 2006

Scratch Pt. 2 – the experience of programming.

Posted in Cyberlaw Project, Scratch on September 25th, 2006

Part of the assignment is to make a feedback journal about my experience with the scratch game. Two birds, one stone. I made about three or four trial games before my final version. I had originally made a simple driving game, but only got as far as designing the car’s motion on the road. I designed a background that gave the perspective of a road disappearing in the distance, and attempted to convey the motion with yellow dashes moving down the center. Despite multiple attempts using many, many different approaches, I was unable to get them to move evenly down the center – instead they bunched, and lagged. I did know from subsequent experience that there are occasional errors in the program – things not moving as they are directed to. However, these errors were rare and temporary, and I was only sure they were not my own because the next time around things went quite smoothly.

I realized that even if I were able to overcome my difficulties, I would still end up with a game that merely replicates many others available. I left the program for what it originally as intended – an experience that produced not a result in the form of a game, but gave me a body of knowledge. I decided then that with no programming experience of this kind, I might be better off using m strengths and designing a game that is less than complicated in its program, but had its uniqueness in the creativity of the graphic design and subject matter. When half asleep in the middle of the night, it dawned on me that I could also create something that, rather than being a temporary assignment, could be of usefulness to me. I had become addicted to Set, a puzzle game played with a deck of cards. I began designing my own online version, with the added bonus of never having to shuffle again, and being able to play this non-verbal game any time I had my laptop (I’m one of those people that functions better in verbal tasks if I am also multitasking the other parts of my brain).

This, too failed. I could not quite figure out how to get the program to randomly choose a card and put it into the designated spot. realized that the tasks that are very simple in real life – shuffling and dealing – are quite a different matter when starting from, well, Scratch. They actually require a body of assumptions and instructions much more difficult than even a peanut butter sandwich construction. Besides, the game could only go so far – since it wasn’t my original design – and I had found a god Java program in the meantime. Again, i did not merely want to duplicate what was already available. Especially not at the expense of a whole lot of work. Finally, i settled on an idea that I had been bandying about since I first learned of the project – incorporating my classmates into the program. This way I would certainly not been duplicating anything else; I would produce something that would be at least of some interest. I would also get to incorporate a skill I had already been working on – graphics design – and a bit of humor.

My original design was to have the avatar try a maximum of three doors out of five to find the goal. After a long time spend attempting to get the game timer to ‘wind down’ each time a selection is made, I gave up on this idea. The mechanism by which this was accomplished seemed simple, and there were not ways to really tweak it to fix he problem. I am still unsure whether the program was in error or I was making a mistake I could not find, but either way I was at an impasse. With on-campus interviews and the press of Tribe’s Con Law looming, I changed the object. To simplify it further, picking the wrong door would end the game.

I did what I knew – worked with cropping and pasting the pictures of my classmates and creating instructions with text pasted into the background images. I merged the included sounds into the game, balanced out the delays in a process that sounds so simple but was indeed a hard-won result borne from much trial and error. I could not find a simple image of a fountain to use (the goal is the purple fountain that my classmate insists is in the Pentagon, where he interned) so on a whim I created one from, er, scratch. I originally thought it would be a failed enterprise and I would end up giving up and finding an image, but within the graphics program I was using I managed to take simple shapes, color, and transparency and create a serviceable purple fountain. After that, I had become familiar enough with the program to realize what it was capable of and best at. I created three simple animations for my husband’s amusements. Two graphics within the game of a girl jumping lead to a simple animation of her jumping across the screen. Much effort eventually generated a away to properly time chimes and percussion. I needed a background , and randomly chose a moon. After that, of course I had to add a cow. Twenty seconds in, and every thirty after that, he loops overhead to the sounds of mooing, which makes my husband crack up every time (me too.) So I then designed a simple animation called ‘hey diddle diddle’ and one of a punch of puppies jumping and barking. Although the jumping girl was posted to the class wiki for the hell of it, the other two were actually done after the class was over, just for fun.

I eventually had to force myself to stop and work on my other classes and OCI.

Scratch.

Posted in cyberlaw, Scratch on September 25th, 2006

I designed two programs within Scratch – they are available to those who have Scratch.

Pentagon Game
Moon Dance Animation
Jumping Puppies

Scratch will be available to the public in February – currently it is only available to those who are participating in CyberOne.

Project Idea

Posted in The Internet, The Law on September 21st, 2006

I’m beginning to formulate a tentative idea for a project for the class – potentially a Wiki. At its core, the class is about argument in the medium of the internet. I think i can take a particular interest of mine – MalWare – and create a proposed plan of attack that directly bears on the theme of the class.

I spent my 1L internship addressing some internet issues – including malware. I am well aware that it can be a tricky legal issue. Although some sites ‘drive by’ download these programs onto your computer, most come bundled with “free software” that is willingly downloaded. Since a user would not download the software if they knew it would hijack their computer, malware distributors never clearly disclose what is happening. The amount of disclosure ranges from none (clearly illegal) to a “click for the EULA” or EULA box in the consent box to at best a warning to the user that the software they are downloading “comes with free MyWebSearch”.

The two last are trickier issues. The Malware distributor i s clearly taking advantage of the fact that noone click on these “Terms and Conditions” or reads them. Indeed, the internet would be a cumbersome venture if we had to sift through pages of small font leglease anytime we had to consent to continue. Legally speaking, a judge can find this argument unpersuasive – and hold that it is simply the user’s problem that they didn’t read the terms. Depending on how vague the wording, how small the font, whether the terms are actually there or just a hyperlink – there still may be legal ground.

Full disclosure that another program is being installed is a more difficult case still.

Yet even in cases of clear lawbreaking, I don’t think that our AGs and the FTC can keep up with the amount of malware that is out there. Put those two factors together, and it is most definitely time for users of the internet to take things into their own hands. And here I hark back on my college days. I think we need activism.

What form it will take is up for debate. That is the very debate that I am hoping to get out of participants in CyberOne. Some possibilities are:

1. Massive boycotts of companies that are known and frequent purchasers of ad space in malware, such as Vonage. Without these companies sending out checks for each click, there would be no revenue, and thus no reason to send out malware (aside from true, identity-thieving spyware)

2. Activism, in the form of a letter-writing campaign or a ‘click-only’ boycott to those who advertise the adware itself. Today I saw an ad for SmileyCentral on MySpace and posted a bulletin advising people not to click on any ads in MySpace until they stop running banners for known malware. I asked that people repost the bulletin. I know the chances are slim that my bulletin will be circulated, but theoretically if it did and people took heed, MySpace would see its click-to-visit ratio drop and lose revenue – removing the incentive for taking money from such advertisers. It’s the same reason that you don’t see PeTA commercials on TV (and believe me, they have the money and try). They know they would offend their viewers and other advertisers.

I know that getting people to stop using MySpace would be difficult, but how difficult is it not to click on an ad? If other sites, such as search enjines were accepting ads from Claria (formerly Gator), AskJeeves, WeatherBug, etc, we could organize something similar, until people distributing malware find it difficult to get people to find their site in the first place.

The internet makes it easy to organize and get word around. If people could do these things in real life with much higher transaction costs, why can’t they do it here? Spyware is something people get angry enough about to participate. All it would need is the right momentum.

Course Logo Mockup

Posted in Wikis on September 20th, 2006

Logo Mockup

Wikipedia

Posted in The Internet, Wikis on September 19th, 2006

I have previously discussed Wikipedia in relation to the way it is run and edited. I would like to turn now to discussion of Wikipedia itself.

A friend of mine is a year into his PhD, and in the grand tradition of grad students everywhere, is helping teach courses to the undergrads. Having spent some time teaching, I asked him how that aspect of the program was going. His one complaint? Students were using Wikipedia as a source, and could not understand why this was not allowed.

The answer to that was mentioned in class, and is simple. Professional editors vet each article; they are written by scholars and fact-checked before publication. Once published, it would be hard for someone to break into your home and edit the articles. Even though such vandalism is often caught quickly on Wikipedia, it is still possible. And while encyclopedias have been found to have nearly as many mistakes, they are still considered, for these reasons, to be a more verifiable source.

Although I do have to ask – who uses encyclopedias period as a source for a college paper? I seem to remember that being something that ended in seventh grade, when our subject matters turned more complex and more in-depth research was required. Except for the occasional tangential topic, you’re going to need a more heavy-handed resource to cite.

In any case, one of the ideas I came across in my venture into Wikipedia article writing was that it was, after all an encyclopedia. This is one of the 5 Pillars of WP itself. It states:

Wikipedia is an encyclopedia incorporating elements of general encyclopedias, specialized encyclopedias, and almanacs. Wikipedia is not an indiscriminate collection of information. It is not a trivia, a soapbox, vanity publisher, an experiment in anarchy or democracy, or a web directory. Nor is Wikipedia a collection of source documents, a dictionary, or a newspaper, for these kinds of content should be contributed to the sister projects, Wikisource, Wiktionary, and Wikinews, respectively.

Wikipedia is not the place to insert your own opinions, experiences, or arguments — all editors must follow our no original research policy and strive for accuracy.

So, for example, you are not to make an entry about your mom. She may be grand, it may be 100% true, but it doesn’t pass the notability test. It is worth noting that even this is not a rule of Wikipedia in the true sense. Jimbo Wales, founder of Wikipedia, (and fellow at the Berkman Center, which is behind the course itself) has given his official imprimatur to the notion that there are no rules etched in stone. Nonetheless, as discussed previously, there are some policies and guidelines that have gained such universal acceptance on WP that they are, for the most part, followed.

Even this idea cannot be followed consistently. If you do make that entry about your mom, one of the volunteers who has devoted enough time to editing to gain sysop status will likely flag it for deletion and insert a section on your user talk page about why. I assume that most will accept such a decision, as I did. (my entry was not about my mom, but fell in more of a grey area that nonetheless fell outside the strictest sense of the notability standard)

But what about entries for current events? In the WP article about spinach, there is a section on the recent e coli outbreak. Is this notable? Certainly. Is it encyclopedic? Well, not quite. If you traveled 20 years into the future and opened the Encyclopedia Britannica (assuming, of course, that Wikipedia and other online sources don’t kill it), I think it is unlikely that the entry on spinach will contain a paragraph, letalone a long section, about the outbreak. It is notable here and now, but in the greater scheme of things it is not a notable part of the definition and history of spinach itself.

Is there a little warning box marking it for deletion? No. Although one like-minded person on the discussion page did state that:

IMO the outbreak, while notable as news, is not particularly relevant to the spinach article and deserves footnote status at best. Perhaps a note that spinach, like all leaf vegetables, has been occasionally contaminated with E. coli. — WormRunner 19:42, 19 September 2006 (UTC)

and there is a box suggesting a split (the event itself would be an entry), by and large the discussion has been limited to the nature and content of the section itself, not its propriety. The WikiPolice have added boxes for expansion, cleanup, and an update on the section, giving a tacit confirmation that it does belong in the article.

And so we see a contrast between things that are just plain not notable and those that do not warrant notability in a timeless, encyclopedic sense. This may well be entirely proper – it is, after all, a constantly changing and updating medium. As time passes, the article will be further edited. I suspect that when enough time has passed, the section will shrink, become its own historical section (in the broadest sense of ‘history’ imaginable) or even be edited down as that one user suggests to a mention that there have bee, from time to time, outbreaks.

In an ever-changing medium like Wikipedia, is timelessness necessary or even desirable? And if not, have we created a new kind of encyclopedia (aside from the obvious ways in which we have) one which documents notable elements of the here and now?

decentralized governance: programming and wikis.

Posted in cyberlaw, Wikis on September 19th, 2006

The class will be using Scratch, a programming tool that is being released just to this class. The program is still in development (@ MIT), and will not be released until February. As the username and password were about to be told to the class, it was pointed out that the class was being filmed for broadcast on the internet – did we want to turn off the camera?

Thus followed a long discussion on whether using software that is not yet public was in the spirit of openness that the class was centered around. If you ask me, we were overthinking it. This was not some great ethical dilemma – there is utility to keeping a program secret until the bugs are worked out, this was not our program to open up, and there are some utilities to allowing some programs to be proprietary, even (although not at issue in this case) indefinitely.

However, the exercise did, as Prof. Nesson pointed out, demonstrate that the class is capable of self-governance. It also showed some of the flaws of decentralized self-governance, such as several people speaking on points that were not really at issue. For example, it took a few rounds before people pointed out that there was already strong consensus as to whether it would be proper to just disclose the password (as opposed to not using the program as a symbolic gesture).

This plays back to the idea of Wiki, where administrators (volunteers) emerge to give some guidance, but cannot enforce hard and fast rules. However, they do make strides toward achieving those things regular posters have reached consensus on. The process to reach that consensus is doubtlessly more tortured and prolonged than a simple administrative, unilateral decision made within a typical framework. There are pros and cons of each, notably those things in which decisions are needed immediately or one person needs to possess a level of expertise to decide, versus those general knowledge based decisions without immediacy which are probably more likely to arrive at the ‘right’ result due to its deliberation.

Wikis and Contributions

Posted in cyberlaw, The Internet, Wikis on September 19th, 2006

Among the projects assigned to the law students is the ‘adoption’ of a week of class, with a particular topic. We are all free to edit the wiki. At first, I assumed I would dive right in. After all, after only one day of class I had submerged myself in the Wikipedia I had previously only waded in. (OK, enough swimming metaphors). I had written two new Wikipedia entries, instead of just making slight edits. Within a day, I was shot down by the sysops, who had posted a ‘welcome’ message in the discussion portion of my userpage and questioned the notability of my topics.

On one, they were right. I headed over to the pages that discussed notability and the discussion page paired with it. There was no complete agreement – and so with the organization (or lack thereof) of Wikipedia I could have simply disputed the deletion, pointing out that there are no hard and fast rules about how notable something needs to be. After all, there is no lack of band space, just a concern about disambiguation (crowding Wikipedia with many minute essays with similar names to notable ones, causing confusion) and just an over saturation. And, after all, it is an encyclopedia.

But there did seem to be general consensus about what should and should not be added in a particular area. The communitarian (anarcho-syndicalist commune?) format of Wikipedia works because people generally follow such consensus. I realized that there was no set consensus for the other subject, so I edited and expanded the entry to make it more obvious what was notable about the subject.

The finishing comment from the sysop urged me to clean up the article. I bristled a bit at that. Wasn’t the whole idea of Wikipedia that the entries are the result of a drafting process by other users? Why not just let it sit, letting others expand and write the entry, achieving the neutral tone that is so much easier with many cooks (I only promised not to make tortured analogies about swimming, remember?)

So back to my Week project – why had I done barely anything? Perhaps I was hesitant after being chastised by the volunteer so prolific he was crowned admin. But the class wiki is not the same, indeed expansion is in our interest at this stage, if only to ‘get things started’. I think the very idea that I bristled it had been compounded by the group aspect. Just as I expected others to ‘clean up’ my article, I was taking it for granted that the fact that other names were on my list meant that they would be expanding it – taking the pressure off of me. And putting it on. After all, this is a group project – who am I to decide its direction or express a point of view?

This is not a sitcom of a blog entry. I do not have some comment about how I figured it all out in the end and wrapped it up into a neat little package. I suppose that is why this is a class– and this is the stage where recognizing what I need to figure out is a necessary first step. The others will come later.

Programming

Posted in cyberlaw, Scratch on September 19th, 2006

Personal Background

My first introduction to computers was the Commodore 64.At the time, my father was teaching computers at the ‘Saturday series’ program of his school district: an opportunity for upper class kids to get even more of an education. The children of teachers were allowed to join this elite world (if only that applied to the world-class high school) and so I took his computers class, sculpting, tennis and zoology (which had sounded nice on the signup sheet but was actually a semester spent dissecting fetal pigs)

And so I learned the basics of programming – and I do mean basic.

10 Print “Hello”

20 Goto 10

My dad programmed a basic version of Pong, and a maze that one guided on the computer. In the late 80s, this was not much less sophisticated than the professional programs out there. I should note that today my father doesn’t even have an e-mail address. Attempts to show this brilliant math teacher how to use the web have failed. When technology speeds ahead, sometimes even those who had mastered one stage are then left behind.

The Class

Today, Rebecca came into class and unpacked a jar of jelly, a jar of peanut butter, a loaf of sliced bread, and a knife. She explained that she had forgotten how to make peanut butter sandwich. After the class got over their hesitation at the pure bizarre nature, they walked her explicitly though the steps. The exercise demonstrated a facet of programming – namely that you are working from a complete blank slate, with no base of knowledge and with no assumptions.

The class will be using Scratch, a programming tool that is being released just to this class. The program is still in development (@ MIT), and will not be released until February. (more on that)

Even with Con Law reading piling up for tomorrow, I have been working with the program in an attempt to write a game. Scratch is unique and clever in that it is a WISIWYG version of a programming base – no fancy scripts required. That does not, of course, mean that there is no learning curve. Indeed, I am already frustrated. While I have figured out how to have my little icon move around and respond to clicks and arrows, I still cannot figure out how to implement more than one icon into it. This would allow the variables to create a game – catching or avoiding each other, etc. Essential.

While pouring fruitlessly though the tutorial for instructions on this simple task (it, of course, contains instructions on how to do many easy, obvious tasks and instructions on more complicated tasks which I have not yet reached, and I am afraid that I will get eated by the Three Bears before finding it) I came upon a useful paragraph.

“Learning to program is ultimately about learning to think logically and to approach problems methodically. The building blocks out of which a programmer constructs solutions, meanwhile, are relatively simply. Common in programming, for instance, are “loops” (whereby a program does something multiple times) and “conditions” (whereby a program only does something under certain circumstances. Also common are “variables” (so that a program, like a mathematician, can remember certain values).”

I will keep trying. On an interesting note, this blog appears to be part of the assignment for this week, which includes:

In your journal write an entry about your experience programming and your experience playing other students’ games. Address the question of the relationship of code to law in your game. Were there laws that you felt constrained by in writing your code? Were there laws that you used code to enforce? How about in the other students’ games? Were there rules that you wished were enforced? Rules that you wished weren’t enforced?

Which is why I am not trying to resolve my frustrations and wrap this blog into a neat little tale of overcoming them. Once again, it is a process.

On the other hand, similar frustrations with the very blog software I am using is making useful the only programming knowledge I actually have. (and no, I don’t mean BASIC). Without a way to change the font size, I gave up and entered the html version, easily entering my changes with a skill that comes in handy for this and other blogs, but is otherwise made defunct by Frontpage and the like. Unless we want to end up with pages that look like those from the early 90s (think Homer Simpson’s dancing Jesus), more sophisticated tasks are best tackled with a more sophisticated tool.

Pat(ent) It Forward

Posted in cyberlaw, The Law on September 18th, 2006

Since I didn’t get to discussing the second class last week, I will get to it now as a springboard to one of today’s topics. One of the non-market, decentralized information goods that has been produced is open-source software, notably GNU/Unix/Linux.

GNU – Background

I have been familiar with this platform for a while, having traveled in geek circles and socialized with programmers for many years. The opinion I have universally encountered was that it is a vastly superior operating platform than Windows, although most freely admit it is not quite user-friendly. I will confess that I have traveled in these circles as a hanger-on to programmers, hackers, and those more intimately familiar with the inner-workings of the tech world. (allowed to tag along because of my ability to debate the outcome of a Borg Cube v. Death Star matchup, it is doubtful that my limited html coding qualified me) Thusly, I have never tried Unix, though I do carry around a disk of it given to me at a sci/sci-fi convention during a panel discussion about its superiority.

So I cannot say for sure whether it is actually better, or just a required statement to give one proper Geek Cred – a leet for the ages? (more on geek cred later as a basis for the very persuasive skills the circle circles around) But I do believe that those I have spoken to were speaking honestly when they say it is a very good platform.

Notably, it is not the work of one individual. Its open-source meant it was free in two ways – one does not have to pay to use it, and one can fix and alter its code, both for general improvement, enhancement, and bug-fixing, and to personalize its functionality for a user’s unique needs. The result is a version that has been through many hands, adapted and changed in many ways, and one central version the result of changes in the vein of the former.

Copyleft

So if you’re the creator, how to prevent an individual from altering it slightly, then mass-marketing it for profit with your own copyright? Enter the GLA – General Licensing Agreement. The source code is not entirely public domain. Users who alter and distribute it are restricted by the license that did attach to the original, which has a self-replicating effect. One of the core terms of this license is that if you use and alter the program, you are obligated to attach an identical license to it. Each of Mickey’s broomsticks looks like the original.

Patents

The challenge that has been added to this topic from last week is the one of applying the same idea to patents. And true to the great weight of being at America’s Finest University – we have out own freshly minted patent to play with. Enter the Open Patent Project:

“On September 12, the US Patent and Trademark Office issued a patent to Charles Nesson, Jonathan Zittrain, Wendy Seltzer, and Alexander Macgillivray for a tool called The Question Tool. The Question Tool is based on a fairly simple concept, but truly opens up the possibility for communicating interactively with a very large audience. Roughly speaking, what it does is this:

  • Using a web interface, allows anyone to pose a question to the speaker/moderators
  • Using the same web interface, allows anyone to vote on the posed questions to indicate that they would like to see a particular question answered
  • Displays the questions in order of popularity so that the speaker/moderator can choose which questions to answer”

Among the challenges is the creation of a nickname for the patent version of a GLU – one that allows access to the patent but requires those using it to attach the same open agreement. Since “Patentleft” doesn’t have the same ring, a simple derivative won’t suffice.

The class wiki has a page for this (and other) projects. If I had more experience in patents, I would love to get involved. As it is, I’m like one of those programmers who didn’t have the know-how to design Unix from scratch, but could help find bugs to bring to attention – so as soon as those with more than a First Year Property class to go on begin the page for the draft license, I will dive in.

The internet and education

Posted in The Internet on September 16th, 2006

When I entered college, the internet was nothing like it was today. HLS has us manage our courses online, adding and dropping classes and on-campus interviews, viewing assignments and countless other things on the internet. In contrast, the internet was barely used by my undergraduate school. When we entered, the dorm computers were still DOS-based and we had no college domain. We had 25-character email addresses with funny symbols and the word ‘bitnet’ in there somewhere, stemming off of CUNY’s domain. We did expand computer labs and have web access (and abbreviated email addys) by the time I graduated, but the extent of the usage for academic purposes was still limited a single professor who had a website for one class.

This is not a tech-backward college – it was the first on the NYC area to have a campus set up for wifi access. It was just a different time. To give some perspective, this was about a year after Yahoo was started, and a scant few months after it was known as “Jerry and David’s Guide to the World Wide Web”.

The computer labs were used for gaming, for e-mail, for ICQ and, mostly, for typing papers. (There wasn’t much quality research to be had on the internet.) And as to the latter, it was quite often a source of distress. Windows would crash. A lot. I know that some kids today think they know crashes- they don’t know crashes.

It was almost guaranteed that if you stayed on a computer long enough, it would freeze for no apparent reason, and nothing short of a hard reboot would get that mouse moving again. Sometimes it would just shut off. In these days before AutoRecover, AutoSave was our best friend. If we had accidentally logged onto a computer that didn’t have autosave engaged – disaster. Cumulatively, I probably lost 20 pages worth of papers. When you have just spent hours writing a three page paper (this was also a time when that seemed like a lot, somehow) to have it vanish was heartbreak. I am sure the rewriting process managed to deliver a better finished product, but that was no consolation at the time.

I think that is part of the reason why I have a different philosophy on technology than some of my young classmates, for whom Word was always more than an oft-crashing word processor. I still often take notes by hand – I am not dependent on computers. And yet I am anxious to use technology in many ways and study it – it is still something exciting to me because I don’t take it for granted and can remember a time before it. That background delivers an apparent contrast of shunning and embracing technology at the same time.