Showing posts with label technical. Show all posts
Showing posts with label technical. Show all posts

Friday, October 26, 2012

Hedges about the law

A couple of weeks ago, I gave a presentation at a TED-inspired venue called MITE Night (Most Interesting Thing Ever Night) about the challenges in communication that are specific to geeks (or nerds – I don't distinguish between the two). After some deliberation, I chose to present with slides as visual aides, using pictures instead of text (except when quoting someone). In the process of preparing, I came across some video clips that I thought would fit well with my presentation.

The first video clip I wanted to use was about ten seconds of a video entitled An Engineer's Guide to Dating by An Engineering Mind. As far as I can tell, this video was created just for fun and was strictly not for profit. The second was a 16-second clip of The Big Bang Theory – just long enough for a single joke. And the third video was the first few seconds of Rick Astley's Never Gonna Give You Up music video (because rickrolling is a sort of online sport).

Of course, these materials are all copyrighted, so I needed to be sure that my use of them was legitimate. The legal doctrine of fair use attempts to describe some common exceptions to copyright law. These nebulous guidelines fail entirely to make clear what is and is not acceptable but give some guidance. But, as my use was of a small portion of each work, as it was for a noncommercial and educational purpose, and as my use of each work would either not affect the markets at all (except perhaps by advertising for the works), using these clips in my presentation is a textbook case of fair use.

I'm somewhat experienced with public speaking and I anticipated some of the common problems. Accordingly, I didn't want to rely on an internet connection, so I tried to put the video clips into my slides. The problem is that although my use of these copyrighted materials would be protected by the doctrine of fair use, I had no legitimate way to download them and embed them in my slides.

As I'd found the video clips I wanted on YouTube, the easiest way to download them would have been from the site itself. But YouTube doesn't provide a way for people (except for the people who uploaded the videos in the first place) to download videos. One reason might be to encourage traffic to the site. Another is clearly copyright protection. If copyrighted materials could be posted and downloaded at will, YouTube would be responsible for being the means by which people pirated countless copyrighted videos. By forcing people to go to the site to watch videos, a video whose legitimacy is called into question can be immediately suppressed. Using one of the many tools that downloads videos would have been a clear violation of YouTube's terms of service, regardless of the fact that my use of the materials in question would have been protected by fair use.

Another way I could have gotten the videos would have been via a DVD (well, two of the three, as I don't think An Engineering Mind has ever made DVDs). I could have ripped (extracted) the video files from DVDs and then I could have selected just the few seconds of each that I wanted and put those videos into my slides. But DVDs have a copy protection mechanism on them. It isn't effective at protecting anything, but it does make the act of ripping a DVD illegal because of the Digital Millennium Copyright Act (see the External Links section for the full text). As before, my use of these videos would not have violated copyright law but would have been a violation of a measure whose sole purpose for existence is to enforce copyright law. I should add that neither the current list of exceptions to the DMCA or the list of exceptions that will take effect in January 2013 allow this action, as I'm not a university professor or a student of film.

I could have, of course, simply found video clips on some torrent site and downloaded them. Torrents aren't illegal in the same way that websites aren't illegal, but downloading an entire episode of Big Bang Theory, whether or not I only ever used 15 seconds of it, could have caused legal trouble.

There is also the issue of enforcement. If I ever went to court over my use of copyrighted materials, the decision about whether or not it was fair use would be decided arbitrarily by some judge. I might get lucky; I might not. What's more, I can't afford legal counsel on the scale that the RIAA and MPAA already employ. I'd have no reasonable hope of winning the case, even if I were clearly in the right.

As for preparing slides that would work offline, I was out of ideas. Especially in the short amount of time that I had to prepare, there wasn't a way for me to store these videos on my computer and embed them in my presentation. I was unable to get either Keynote or PowerPoint to embed YouTube videos directly and I eventually went with a Google Presentation.

Of course, I had trouble getting online when I arrived. Since all of my slides were online, the presentation started late and the videos didn't work even after I got online. The presentation wasn't ruined, but it was disappointingly unpolished.

As I thought about these laws and behaviors that we use to enforce copyright law, I was reminded of the Pirkei Avot, which contains the instruction to "make a hedge about the law" (see this translation, which renders the phrase "make a safety fence around the Torah."). The purpose of this hedge was to help people be sure they never violated the law, which was of paramount import. I think this has great theological value; in fact, there are ways in which I hedge about the law in my personal behavior. But when we make hedges that prohibit others from doing otherwise legitimate things – in religion or in anything else – we must be extremely cautious.

We've clearly passed the point of reason with these laws. These hedges have taken the already crippled doctrine of fair use and rendered it completely useless. My troubles presenting when I was clearly doing something legitimate are not the only example of consumers' rights being ignored. It's time that we reformed our laws and our enforcement of them. The doctrine of fair use needs to be well enough defined and protected that ordinary people can exercise their rights in its regard without fear of unjust repercussions.

Thursday, September 20, 2012

Apple's patch Wednesday

Apple released several updates yesterday. Most talked about was iOS 6, but there were also upgrades to Mac OS, Xcode, and other Apple software.

I'd heard about iOS 6 but don't have a device that will benefit much from it, so I didn't bother with it.

I use my Mac for school. It's basically a Linux laptop with shiny hardware and an aesthetically pleasing (if space-wasting) window manager. I use homebrew to manage the software I use from the FOSS ecosystem. So when I checked for updates last night it told me that my Xcode command line tools were out of date. This typically means that Xcode itself is out of date. I'd expected to see the update notification from the App Store, as Apple had just forced me to upgrade a few months ago to get a version integrated with the App Store.

It turns out that although the update was available, the App Store hadn't yet notified me. This isn't a huge problem; it just means that I can't trust Apple to notify me as soon as critical security updates are available. And, of course, I love the irony of being notified by a third party application that my Apple software needed to be updated.

I opened the App Store and checked for updates. I told it to upgrade everything (Xcode and iPhoto) and typed in my password to authorize the process. I quickly noticed that the update was over a GB. Having just been released, this patch was in high demand among developers and the download was painfully slow. I was only somewhat surprised that Apple doesn't use something sensible like BitTorrent to distribute its patches; after all, Apple maintains tight control over its products – even after the products have been sold to customers.

Hours later, I checked to see if the download had finished. For some reason, it was still listed and I instructed the App Store to update everything again. I typed my password again. For some reason, the patch was larger. It's possible I missed a detail somewhere, but I'm quite sure that 1.6 GB is larger than 1.3 GB.

The next time I checked, iPhoto had still not been upgraded. I told the App Store to install the update and authenticated a third time. It quickly reported that it wanted to upgrade but that it couldn't until I updated my operating system. Apple, of course, hadn't notified me that an update was available.

So I opened Apple's update tool and installed the upgrade, which forced me to authenticate (I think – at this point, it was late enough that I may have missed something) and then restart.

After restarting, I told the App Store to upgrade a fourth time and authenticated yet again and it happily complied.

When I launched Xcode, it had an update waiting inside of itself that I had to install before doing anything else. Then, finally, I dug my way through the preferences menu to find a way to upgrade the software contained within Xcode, including the command line tools. It listed four updates but said at the top that no updates were available. After ignoring the message at the top, I tried to install one of the tools. After authenticating (twice), I was told that my Apple Developer account doesn't have access to iOS 5. I have no idea why Apple maintains farcical security around its developer tools, as they're certainly available on the Internet without Apple's red tape. And it wasn't immediately obvious how I could convince Apple to give me the software. So I ignored the iOS 5 emulators and moved on to what I really needed.

The other updates didn't hassle me (although I think I had to authenticate again for each one). I was finally done. The experience left me thinking of the years I spent working in technical support for my department as an undergraduate, installing OEM copies of Windows XP on professors' laptops and doing battle to find and install the drivers they needed in order to operate properly. Apple had actually succeeded in creating its own Patch Tuesday (except that it was a day late, as it all came out on Wednesday).

So, Apple, I pose my questions to you: how do you justify such a horrific experience? Are you willing to own up to the fact that your developer tools are clearly an afterthought? Are you even bothered by the fact that third-party tools notify your users about updates (which could be security-critical) before you do, despite the fact that you control the operating system and applications that can deliver these notifications? And we all know that stealing ideas is how the computer industry works, but didn't anyone tell you to steal the good ideas?

Tuesday, June 26, 2012

Switching gears

This weekend, I wrote a post. It was a little snarky and maybe that's why I had second thoughts about posting it. So I reverted it to a draft and removed all external links to it.

It didn't take long to discover that my feed still had the article. Anyone who follows my blog using a feed aggregator (like Google Reader, Thunderbird, or Outlook) can still see it, although the pictures in it are now gone (after I went to Picasa to delete them myself).

I've been a little bothered by the complication of blogger. The HTML it produces is ridiculously decorated. And there's the issue of Google Analytics; I trust Google to be responsible with the data its analytics tools collect, but I don't know that I want my readers to have to be tracked to read my postings. And there's the simple fact that it isn't my server and it's not under my control. Most importantly, conversations go to blogger to die because the default is for no email notification to be sent for follow-up comments. So people comment and then never know that anyone responded.

On the other hand, maintaining my own server is no trivial task. It'd cost money, even if I only wanted a domain name registration – and that would mean paying for power and cooling for my own server. I'd be responsible for updating it. It'd take time.

But I sure would learn a lot writing my own blog.

So I will. But I'll probably end up just using wordpress in the end. Incidentally, keep your eyes open for a change of location.

Thursday, March 22, 2012

Making the world worse: sharing passwords

The Associated Press and at least one other periodical have reported that some employers are asking for Facebook credentials – usernames and passwords – in job interviews. The ACLU has commented on it, calling it a gross violation of privacy.

Privacy aside (privacy is an important issue, but not my topic here), there's something that needs to be addressed here. I'll sum it up in a single sentence:

Never share a password with anyone – ever.
Read the whole story...

Friday, January 27, 2012

This has gone far enough

Author’s note: I am biased. For religious and philosophical reasons, I reject the idea that any person is incapable of anything. Some people have predispositions towards or against certain ways of thinking or performing and some people have disabilities. But I still believe, at least in general, that anyone who wants to learn something can learn it.

There’s a paper that has been quoted and linked quite a bit for the last little while. It describes an attempt to understand the bimodal distribution computer science teachers have found, no matter how they teach, for many years. All of the evidence seems to indicate that some students can program and some can’t.

The authors designed a test, showing a very small, very simple excerpt from a Java program, like the one that follows:

int a = 10;
int b = 20;
a = b;

The test essentially consisted of recording students’ responses to questions about the effects of the program. Of course, the authors were not so simple as to try to test students on their programming abilities to determine if they could become capable programmers. Instead, their conclusions stated that students who demonstrate consistency from question to question were more likely to succeed in an introductory programming class after the fact. By consistency, the authors mean forming a mental model for what each statement does and using that same model for each statement in each program, in order.

The paper shows tabular results from several different tests. The tables validate the authors' conclusions - and several other conclusions. Importantly, they show that students who have prior programming experience are likely to do very well on the test - much more likely, in fact, than those who have no such experience.

Since the test includes no instruction about programming, students are left to wonder how the statements interact with each other. Most students who have no experience in programming are likely to use algebraic rules to interpret the program; after all, algebra is the only system most of them would know that uses notation that looks like this. An algebraic evaluation, however, leads to a contradiction for our sample program (as 10 is not equal to 20). There is also no reason to assume that students who have no prior experience would assume (correctly, in this case) that the statements take place in sequence and not all at once. It is likely, but not certain, that students who do assume sequence will assume (again, correctly) that the sequence occurs in top-down order.

In short, the test seems to favor those who already know the answers. Those who don't are unlikely to succeed in programming classes.

It seems likely that a host of factors play a part in these findings. Students who do well in math are generally less intimidated by mathematical notation and so can think more clearly on the test and in the class. They also are more likely to have prior experience. Those who have prior experience are more likely to have habitual thought patterns that match other programmers; as long as programmers typically come from some demographic, their work will reflect their polity. This means that language design will favor those who use it because it has to make sense to them. This also means that professors in computer science, who are themselves successful programmers (we assume), are likely to think along the same lines. They are likely, then, to teach in a way that reflects their habitual thought patterns. This favors like-minded students and makes life more difficult for those who approach things differently.

To be sure, programming requires people to learn to think in new ways. It's hardly as if people are born with the right thought patterns in mind. But some students have a head start because of predisposition and prior experience. Those who don't, it seems, tend to do poorly in their classes.

There's quite a bit of irony here. Programmers are, by necessity, logicians (some better than others). We ought to be able to spot logical fallacies easily. But no one seems to have noticed that this study essentially begs the question: if students know programming, they'll do well in the class that ostensibly teaches them programming. If they don't know it, they won't do well.

It seems obvious to me that the problem is in the way we teach; after all, the students who don't know programming but sign up for an introductory class are really the ones the class should target. For example, do we make enough time for the students who don't know about programming to learn? Do we assume that all students will make the same assumptions we make (after decades of training) about sequence? Do we make other similar assumptions? Do these assumptions detract from our teaching? Does the large number of students in an introductory lecture make it impossible for the students who don't know how to program but who want to learn to ask questions and get answers?

In short, does our educational system fail to help those who need its education most?

I think it does.

Wednesday, January 18, 2012

Why you can't control the Internet

There's a lot of talk about SOPA, PIPA, OPEN, and other proposed legislation regarding the Internet. There are lots of strong opinions and a lot of information - and much of the information is wrong. My purpose is to explain why I believe that governments can destroy the Internet but can't control it.

Read the whole story...

Thursday, January 12, 2012

What ancient Greeks knew about cybercrime

In Greek mythology, the Teumessian fox could not be caught. It caused enough mayhem that Cephalus used Laelaps, a dog that never failed to catch his quarry, to hunt it. The abilities of the fox and of the hound were contradictory, so Zeus turned them into stone and made them constellations.

Cybercrime is remarkably similar to this fox. Of course, individual criminals are caught and individual techniques  are identified and solved by security products. But cybercrime as a whole seems to be impossible to catch: with the creative abilities of countless intelligent people, someone always comes up with a new way to exploit other people and their computers.

Those of us who do research in security are like Laelaps; if we pursue something long enough, we're bound to find it. Researchers have accomplished wonderful feats and have made great leaps in securing computers in homes, businesses, and in governments and military organizations. And yet we continue in our endless pursuit of the fox that cannot be caught. (I have ample job security. So did Sisyphus.)

Read the whole story...

Monday, December 19, 2011

Different ways of looking at programming

People are frequently mystified by the fact that I do things with computers. From their reactions, you'd think that because I program, I'm some sort of intellectual demigod. When I talk with them a little more, it becomes clear to me that many people don't know what programming is like, so they imagine something much more difficult and specialized than it is (it turns out that your computer is not made out of magic, despite this amusing article).

As is the case with any profession, it takes a lot of work to do it right. I'm not minimizing the training that other programmers and I have received. But we're not superhuman - even if most of us claim to be.

Read the whole story...

Tuesday, August 2, 2011

Geeks in large groups

Three weeks ago, I attended CAV, an academic conference about formal verification (proving that computers actually do what we think they do). Yesterday, I attended a practice run for some of the talks that will be given at SIGGRAPH, a conference about computer graphics. Despite the fact that the two conferences treat very different topics, I had a very similar experience with both events. Some of my observations are of an academic nature. The rest are insights into geek culture.
Read the whole story...

Thursday, July 28, 2011

DRM only makes things worse

Intellectual property is a fiction that we create to encourage innovation. By fiction, I mean that it is contrary to the nature of ideas for them to be limited. Ironically, a system that protects intellectual property discourages innovation: because derivative works are one of many ways to diminish the value of a work, the right to create them must be restricted. The irony of limiting innovation to foster innovation should not be lost; however, without such limitation, innovators could not hope to benefit financially from their inventions. The idea is to strike a balance: limit knock-offs enough to encourage innovation but still allow innovators to build on each other's work.

In an attempt to create such a balance, the Constitution of the United States of America gives congress the right to create laws that give exclusive rights to creators for a limited period of time. The idea is that in that limited period of time, innovators can be rewarded. After the time period elapses, other people may innovate further, improving upon what has already been created.


Read the whole story...

Friday, February 25, 2011

Optimizing away efficiency

I’ve been changing lots of things in my life and I’ve been considering several other changes. I’m in the process of changing banks, I’ve been thinking about moving in with some friends, the way I go about dating is constantly changing as I learn, and I’ve been organizing some of my congregation’s efforts to reach out. My schoolwork hasn’t lessened and I’m trying to have a social life (which includes, but is not limited to, dating).

As I wondered about these changes and the time they’ve required, I began to see a pattern. It’s not that they’re all necessary; it’s another form of perfectionism. I’m always looking for ways to improve things.

Read the whole story...

Monday, February 14, 2011

A pain in the wrists

I haven’t been blogging much recently. Part of the reason is that I’ve been really busy with school and so on. But a very important reason is that I’ve been trying to type as little as possible because of wrist pain, which seems to be caused by Carpal Tunnel Syndrome (CTS).

It turns out that “as little as possible” is still quite a bit for a graduate student in computer science.

Read the whole story...