Recent Content:
Disclaimer
First of all, I am neither a lawyer nor a trained ethicist. The following are a list of thought experiments related to “hacking” (i.e., testing the limits of) the law. Unless otherwise noted, I have not done any research to confirm whether or not the questions posted herein are either novel or have already been answered. Although the following contains some material related to computers, I have tried my best to write it in such a way as to be accessible to the widest audience.
Copyrighting a Number
Is it legal?
It is obviously legal to copyright an artistic work, like a digital photo. A digital photo, however, is really stored on a computer’s hard drive as a sequence of numbers, each representing the color of a dot in the picture. This sequence of numbers could be summed such that it amounts to a single, unique number. Would it be legal for one to give that number—which uniquely represents the copyrighted image—to a friend? The friend could then divide that number back into its sequence on the hard drive, thus reconstructing the original copyrighted picture. If copyrighting numbers is not legal, then I do not see why what I just described would not be legal.
The issue is actually a bit more complicated than it seems.
It is entirely possible that the method used to convert the digital picture to a single number could be slightly modified (e.g., by adding 1 to the resulting number). If the recipient of the number does not know that this was done then the resulting reconstructed picture will look like noise. If the recipient knows to subtract 1 from the number before reconstructing the picture, however, the picture will be exactly the same as the copyrighted picture.
To add even more complication, it is entirely possible that, by adding 1 to the number, the improperly decoded picture might in fact become a completely different copyrighted picture.
Example
- Person X has a copyrighted picture, called picture A, that he/she legally owns.
- X converts the picture to a number, $n$.
- X sends the number $n+1$ to person Y.
Case 1:
- Y converts the number $n-1$ back to a picture, resulting in picture A.
Case 2:
- Y converts the number $n$ to a picture, resulting in a completely different picture B.
- Picture B turns out to be copyrighted by person Z.
- Neither person X nor person Y have ever even seen picture B before.
At what point is copyright lost?
Related to copyrighting a number is the following.
When the picture is represented as a sequence of numbers (representing the colors of the individual dots in the picture), it is possible to increment each of the colors of the individual dots. For example, let’s say the dot in the upper left corner of picture A is currently black. We could iteratively increment the color of that dot so that it eventually becomes white (going through a sequence of lightening grays in the process). We could even increment all of the dots in the picture at the same time.
Now, let’s say picture A is a photo of the Mona Lisa of which we do not own the copyright. Picture B is a photo of the Empire State Building that you took and of which therefore own the copyright. Both of the pictures have the same dimensions; therefore each dot in picture A has a corresponding dot in picture B.
Now, we iteratively increment the dots in A such that they all move toward the color of their corresponding dot in picture B. Let’s call the result of this picture C. At the beginning, C will look exactly like picture A. At the end, C will look exactly like picture B. In the middle of the process, C will look like a linear combination of A and B.
Question 1
At what point during the “morph” from A to B will the “copyright” of picture C transition from that of picture A to picture B?
Question 2
Is there any point during the process that picture C might not be protected by either picture A or picture B’s copyrights?
Rob Lass and I have shared many an adventure. We have embarked on a number of multi-day cycling trips. He accompanied me on a crazy U-Haul road trip to the Canadian border to retrieve a 1.5 tonne pallet of IBM servers I had acquired. We have masqueraded as lawyerly fat-cats at whiskey festivals. We both share an unnatural fascination with the life and works of Leslie Lamport. We were once collectively mooned and subsequently chided by Jello Biafra. Yet another time, we shared drinks in the hotel bar of a Holiday Inn in Monmouth, NJ, sitting next to Ron Jeremy. We have also shared a number of moments in close proximity to RMS (an activity which, incidentally, I recommend only in moderation).
I was not in the least surprised, then, when Rob approached me about going down to Baltimore for the bicentennial anniversary of Edgar Allan Poe’s birth, followed by a stakeout of Poe’s grave to catch the Poe Toaster. The intervening hours were to be filled at The Horse You Came In On Saloon, which was supposedly one of Poe’s favorite hangouts, and is said to be the last place he was seen before his death. I heartily endorsed this plan.
The first matter of business was to make our two hour road trip as pleasant as possible. This obviously entailed gratuitous electronics.
Upon our arrival at Westminster Hall (the location of the bicentennial ceremony), we first set out to examine Poe’s grave in what remained of the daylight.
Charm City Cakes (of Ace of Cakes fame) created a cake for the event.
I’d also like to report that many Poe fans are certified weirdos. Some also have extreme dedication.
The celebration as a whole, however, was quite fun, including a number of very good performances. Rob and I also got to get to know John Astin, which turned out to be somewhat of a letdown. But he’s ancient, so it’s okay.
Afterward we got a bite to eat and caught the tail end of said Ravens game at The Horse You Came In On.
- Yuengling seems to be as popular in Baltimore as it is in Philly;
- in Baltimore, Yuengling is not pronounced “lager;”
- despite the fact that Baltimore lost to the Pittsburgh Steelers and my car has a PA license plate, no one mistook my car for that of a Steelers fan and flipped it over in a riot (as would undoubtedly have been the case if Baltimore were populated by Philadelphia sports fans); and
- the “frat” scene seems to descend on The Horse You Came In On immediately after the completion of sports games.
We got back to the graveyard around 00:30 on the 19th to find a crowd of about 60 people. We really didn’t know what to expect; apparently neither did anyone else, as wild rumors started to fly. One rumor claimed that the toaster often made rounds to the fences surrounding the graveyard to say hi (and undoubtedly sign countless autographs and pose for pictures). Another rumor claimed that the toaster was none other than Poe House curator Jeff Jerome himself. This is all complicated by the fact that Poe actually has two graves (he was exhumed in the late 19th century to make way for his monument and re-buried in the back of the graveyard—a location not visible from the sidewalk/gates). The grave in the back is the one in which Rob and I were photoed above. Some people thought the toaster visited the monument (which is visible from the street), while others thought that he visited the grave in the back. There were therefore two groups of people each clustered around the gate closest to one of the graves. The “monument” group seemed to be a mix of the aforementioned weirdos with a healthy dose of hipsters. They spent their time reading poetry. The group at the other gate (closest to the back grave) was decidedly more hardcore; spirits flowed from many a hip flask.
At this latter gate, Rob and I met up with a guy who had actually attended this thing before; in fact, he claimed to have attended every year since 1983. He and his son (a teenager) come every year to try and get a picture of the toaster, most likely to sell to a magazine (there is only one known photo of the toaster from a 1990 issue of Life magazine reproduced here). He said that the toaster almost always goes to the back grave. The toaster gets no cooperation from any authorities; neither the Westminster Burial Grounds nor the UMD Law Library provide him with any assistance. Jeff Jerome camps out in the church every year to simply confirm that the toaster is the same person as the year before (i.e., there is not an impostor) and also to ensure the identity of the toaster remains secret (because if his identity were ever revealed the magic of the tradition might be lost). Jerome does not know who exactly the toaster is, however, and he does not want to know. Once the toaster arrives, does is toast, and makes his exit, Jerome goes into the graveyard, collects the bottle of liquor, flowers, and any notes the toaster may have left, puts them in the church, and leaves. It is Jerome’s exit that cues the hordes of weirdos, hipsters, alcoholics, and amateur journalists that the toaster has come and done his deed.
At around 01:30, the man’s teenage son came up to his father saying that he had been surveiling the alley adjacent to the graveyard that I mentioned above. Three guys had gone in, but he only saw two of them come out. Rob immediately walked down to the alley and I followed close behind. Rob got there first and apparently saw two guys on the other side of the two fences (one fence of which was about 10 feet tall). One fellow jumped over the brick wall to the graveyard. The other hid behind a small half wall, peeked his head out to look at Rob, and then sprinted over the wall to follow his companion. About five minutes later, camera flashes could be seen reflecting off of the walls of the law library, seeming to emanate from the area of the back grave. We assumed this was the Poe Toaster having pictures taken for his own record. We waited for another hour or so but nothing happened. It was cold, and the toaster had likely already come and gone, so we drove home.
All in all, it was an awesome adventure.
You can read Rob’s account of it here.
I am subscribed to David Horvitz’s new project entitled IDEA SUBSCRIPTION in which he posts almost-daily simple instructions. Yesterday’s instructions read as follows:
CALCULATE HOW FAR THE HORIZON IS FROM YOU. THIS CAN BE DONE BY THE FOLLOWING: DETERMINE THE HEIGHT OF YOUR EYES FROM THE GROUND (IN FEET). MULTIPLY THIS BY 1.5. FIND THE SQUARE ROOT OF THIS NUMBER. THE FINAL NUMBER IS THE DISTANCE IN MILES TO THE HORIZON SPECIFICALLY FROM YOU. NOW WALK THIS EXACT DISTANCE. AS YOU DO THIS THINK ABOUT HOW YOU ARE WALKING THE ENTIRE RANGE OF WHAT IS VISIBLE FROM WHERE YOU STARTED. AT THE END TAKE ONE LAST STEP AND ENTER OVER THE HORIZON, INTO DISAPPEARANCE. NOW WALK BACK.I do not profess to have spent much time researching this in the past, but I had never heard of this approximation before. The approximation is so concise that I was curious as to its error. The approximation is obviously incorrect for very tall heights since it is unbounded:
I therefore spent the last 5 minutes formalizing a bound on the error of this approximation. The results, which follow, were quite surprising.
First I had to find a more exact approximation for the distance one would have to walk to get to the horizon (making the assumption that the surface of the Earth is smooth and of uniform altitude). This turned out to be a relatively simple geometric exercise. Let’s say the point on the earth at which the person is standing is $p$ and the person’s eyes are $h$ feet above the ground. The radius of the Earth at point $p$ is $r$, therefore making his/her eyes $r+h$ feet away from the center of the Earth. Now imagine a ray emanating from the person’s eyes; that ray will be tangent to the surface of the Earth at the horizon. Let’s call that horizon point $q$. The distance from $q$ to the center of the Earth will be $r$. Since the ray from the eyes to $q$ is tangent to the Earth, it meets the radius of the Earth at a 90 degree angle. We can therefore draw a right triangle between the eyes, $q$, and the center of the Earth, with one side of length $r$ and the hypotenuse of length $r + h$. The angle between the hypotenuse and the side, $\alpha$, is therefore
$d$ can be made even more accurate, however, by taking into account the fact that the radius of the Earth, $r$, is not a constant; in reality, the Earth is not perfectly spherical. The radius at the Equator is ~6378137 meters, whereas the radius at the poles is ~6356752.3 meters. In order to take this into account, we need to define the radius as a function of the latitude of the point at which the person is standing
Substituting the new $r$ function into the original equation for $d$ gives the approximation up with which I ended. The error in the original (supposedly faulty) approximation is therefore
The error is almost zero at latitudes of ± ~60 degrees (59.33623821 to be exact), so if you want the the simple approximation to work best you’ll need to go to Stockholm.
The entrance to Östermalms Saluhall would be a delicious place to start (just remember to walk either due East or due West).
In late July of 2006, Rob Lass and I decided to attend the HOPE conference in New York City. We were both living in Philadelphia at the time, being conveniently a little over 100 miles (~160km) from NYC. Earlier that year we had successfully piloted our bicycles from Philadelphia to Reston, Virginia, averaging over 100 miles each day. Therefore, we set upon to ride up to New York in one day.
The HOPE conference is attended, in large part, by geeks, mostly of the computer variety. From our interactions with the then burgeoning bicycle subculture in Philadelphia, we had noticed a large overlap with the computer geek subculture. An idea was thus born: We were to design and print a t-shirt—de facto uniform of bike- and computer-geeks alike—that would marry the two subcultures. We would then sell the t-shirts at HOPE to help fund our expedition.
Here is the design up with which I came:
There are three “cycles” referenced in the design:
- a bicycle (obviously);
- a CPU cycle; and
- a graph cycle.
The term “cycle junkie” was coined by Bill Gosper.
Although I am almost sold out of the first printing, if there is enough interest I might organize a second printing of the shirts. Contact me if you’re interested.
where $t$ is time and $a$ is the author of a new article on Wikipedia.
In other words, as time goes on it becomes more and more certain that authors of new Wikipedia articles will either be a very specialized expert or a troll.
This evening I finally got around to doing some forensic data recovery from a broken (i.e., horribly clicking) hard drive. Most of the data I had backed up, but there are a couple non-vital files for which it would be nice to recover. That, and I've never done something like this before and it's quite fun. It's especially fun that the partition I'd like to recover was formatted in ReiserFS, for which no free and few commercial recovery tools exist.
The first step to data recovery is making an image of the faulty disk on a healthy hard drive. The disk image can then be repaired and diagnosed without having to worry about hardware failures (i.e., the dreaded clicking). The tool of choice for this is ddrescue
. For those that are familiar with the *NIX command dd
, ddrescue
works similarly except it skips over bad sectors. Once all of the good sectors are copied, it then goes back to all of the bad sectors and tries to read them again (in case the hardware malfunction is stochastic).
ddrescue
prints out a handy list of statistics, including the average transfer rate. My rate is currently at 7120 kB/s (it's so slow because I am copying the image to my network file server over 100BaseT to a Pentium-III box running software raid). The hard drive I am recovering is 76.8 GB in size. I did some quick calculations to figure out how long I'd have to wait before this thing finishes.
I’d like to begin with a simple analogy that expresses my feelings on the subject at hand:
In other words, flexitarianism makes as much sense as grooming one’s pubic hair with a rusty vegetable peeler. I fail to see how flexitarianism is any different than, oh, say, being an omnivore. “I am a vegetarian… except for when consumption of animal products is required socially, nutritionally, culturally, or pragmatically.” STFU. In other words, you’re a normal omnivore who cannot always stomach eating meat for some reason, most likely due to moral dissonance. I have no problem with vegetarianism—or any other diet, for that matter—as long as its practitioners do not proselytize. I don’t care if you deprive yourself of certain foods on moral, religious, or nutritional grounds. What does offend me is the addition of a new word to our vernacular that adds little or nothing semantically. Also, it is concerning that those in moral conflict about eating meat are given a new term to legitimize their ethical limbo, thus postponing their decision about whether or not to give up being an omnivore.
I only drink to excess when it is socially acceptable.
I only cheat on my spouse pragmatically.
Dictionary and Thesaurus Lookup in Emacs
Or, adding a feature to a piece of software that already has too many features.
Emacs is my preferred tool for editing LATEX documents. A few years ago I got tired of switching back and forth to a terminal or web browser every time I wanted to look up a word in the dictionary or thesaurus. To remedy this, I wrote a simple, 100-line Emacs Lisp plugin to look up words using the DICT protocol.
One can simply cut/paste this into their .emacs
file or make it a separate file in their elisp directory.
; -*-Emacs-Lisp-*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; File: dict.el ; Description: Dict access functions ; Author: Evan Sultanik ; Created: Sun Aug 14 15:44:57 2005 ; Modified: Thu Nov 15 08:45:48 2007 ; Language: Emacs-Lisp ; Package: N/A ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ******************************************************* ;; ***** THIS IS AN ALPHA TEST VERSION (Version 0.2) ***** ;; ******************************************************* ;; ;; dict.el ;; Copyright (C) 2005 Evan Sultanik (http://www.sultanik.com/) ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 1, or (at your option) ;; any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar dict-protocol-client "dict" "This is the name and/or path to the local copy of the DICT protocol client.") (defconst dict-scratch-buffer-name "*dict*" "This is the name of the buffer in which the dict output is displayed.") (defun dict-extract-word () "From the current buffer, extract and return the word under the cursor." (let (start word) (save-excursion (forward-char 1) (backward-word 1) (setq start (point)) (forward-char 1) (if (not (re-search-forward "\\b")) (error "Can't find end of word")) (buffer-substring start (point)) ))) (defun dict-lookup-word (word dict) "Look up the word WORD using the client, given by `dict-protocol-client'. The results will be displayed in the buffer given by `dict-scratch-buffer-name'. If DICT is nil, WORD is looked up from a thesaurus only." (interactive "sWord to lookup? \nP") (let ((dict-buffer (get-buffer-create dict-scratch-buffer-name))) (save-excursion (buffer-disable-undo (set-buffer dict-buffer)) (setq buffer-read-only nil) (setq disable-point-adjustment t) (erase-buffer) (display-buffer dict-buffer) (if (null dict) (call-process dict-protocol-client nil ;; no infile t ;; put output in the current buffer t ;; re-display as we get more output "-P" "-" "-d" "moby-thes" word) (call-process dict-protocol-client nil ;; no infile t ;; put output in the current buffer t ;; re-display as we get more output "-P" "-" word) ) (setq buffer-read-only t) (goto-char (point-min)) ) )) (defun thesaurus-lookup-word (word) (dict-lookup-word word nil)) (defun dictionary-lookup-word (word) (dict-lookup-word word t)) (defun thesaurus-lookup-word-in-text (exact) "Like `dict-lookup-word', but uses the word under the cursor." (interactive "P") (thesaurus-lookup-word (dict-extract-word))) (defun dictionary-lookup-word-in-text (exact) "Like `dict-lookup-word', but uses the word under the cursor." (interactive "P") (dictionary-lookup-word (dict-extract-word)))
This code assumes that you have the command dict
available.
You can set a keyboard shortcut as follows:
(global-set-key (quote [f7]) 'thesaurus-lookup-word-in-text) (global-set-key (quote [f8]) 'dictionary-lookup-word-in-text)
Pressing the F7 and F8 keys will then look up the word under the cursor in the thesaurus or dictionary, respectively.
Ðis is a proposal (petition?) to reinstate phonetic orþography for dental fricatives in written English. Ðe letter “t”—ðe most common consonant and second-most common letter in ðe English language—has at least six possible phones (depending on dialect). Complicating matters is ðat ðe proper phone is dependent on context; digraphs like “th” can dictate phoneme, as can ðe position of ðe letter within a word and position in relation to ðe stressed syllable (dictating aspiration, as in “tomato”). Ðe phone for “t” is sometimes even word-dependent (þree examples: “connection” vs. “time” vs. “rotting”). Special cases abound.
Ðe “th” digraph alone can represent þree different phones: ðe voiced dental fricative (e.g., “this” and “the”), ðe unvoiced dental fricative (e.g., “thing” and “with”), or sometimes even ðe voiceless alveolar plosive (e.g., “Thailand” and “lighthouse”).
By reinstating ðe letters “ð” (Eth) and “þ” (Thorn) into ðe English alphabet (for, respectively, ðe voiced and unvoiced dental fricatives) we can eliminate much ambiguity.
While recently writing an article on the AAMAS conference, I was reminded of an incident back in 2002 that, in retrospect, is quite amusing. Although I have publicly recited the story in the past, I have never done so on my website. That, and enduring my incoherent scribblings of six years back makes me want to thrust unsharpened pencils into my eyes.
The prologue is a rather boring and, I must say, embarrassing story, the only pertinent details of which are that I am left in need of a US passport, posthaste.
It’s Saturday. My flight bound for Italy leaves Monday afternoon.
Philadelphia, the city from which I was to embark, has a 24/7 passport-related toll-free telephone hotline, which conveniently plays a recorded message on a loop stating, among other things, that the only possibility of getting a passport (forget a same-day passport) is to have an appointment, and the appointments are booked at least two weeks in advance. In order to book an appointment, there is an automated system available through a separate 1-900 (non-toll-free) number. It stated that it was impossible to speak to a human without an appointment.
Thank the lords for the Internets. There is one company that guarantees same-day passports: itseasypassport.com (the website doesn’t appear to work anymore). I call their 1-800 24/7 emergency hotline. The number just plays me a recording telling me to call a different number, this time in the 212 area code (New York City). I call the second number and am greeted by woman. Mind you, she does not pick up as if she were a receptionist; she greets me as if I had called her personal residence. Which, it turns out, I had. I ask for Its Easy Passports, prompting her to yell to her husband to pick up the phone.
The proprietor of this well-oiled establishment picks up the phone and immediately asks me, “Do you have a valid driver’s license? If so I can get you anything.” I explain my situation and tell him that I need a passport. “Do you want a Visa, too?”
Here are the instructions he gave me:
- Go to a building in NYC at 07:00 on Monday morning (he gave me the address);
- Call a guy named Mr. Mint (he gave me his cell phone #);
- Mr. Mint will alert the guards at the entrance to the building to let me in;
- Go in and go directly to the 10th floor (all of the other floors are “prisoner holding cells”);
- Get out of the elevator and across the hall there will be a room with a bunch of forms and a phone;
- Fill out the forms and when you are done call Mr. Mint again;
- Mr. Mint will come in and take the forms and he will give you a ticket;
- Pay Mr. Mint $100 cash; and
- Come back at 10:30 and you will get your passport.
As you might imagine, by this point I am very skeptical, so I ask the mystery man how his company ensures same-day passports (without being so rude as to directly ask if the resulting passport will be a forgery). He claimed that his company buys slots of appointments from the passport office and sells them to his customers. I look up the address the guy (whose name turns out to be Dave) gave me and it appears to be the address of the real NYC passport office, so the story checked out.
I decide to try this, as it's my only hope. Sunday night I take the train up to NYC and stay at the Chinatown Holiday Inn. The next morning I walk to the passport office and there was already a line encircling the building. No one in the line spoke English. I enqueue and call Mr. Mint, but he does not answer. Without any other option, I walk to the front of the line and tell the guard that I am here for Its Easy Passports, and by this magic password he steps aside and lets me in. I take the elevator to the 10th floor and, sure enough, Mr. Mint is waiting. Everything went as planned and I hop on a train back down to Philly, got to the airport, and caught my flight at 17:00.
When did you get this passport‽
I just had it printed today.
Edit (10-08-2009): I'd like to clarify that, although It's Easy Passport seemed sketchy at first, it turns out to be a legitimate company that provides an excellent service. I would recommend them to anyone in a similar situation to mine.