HNHacker News
TopNewBestAskShowJobs

cduan

1,191 karma · joined December 16, 2007

I once implemented bubble sort in TeX
submissionscomments
cduan··on Blonde we like wins Downhill (Last name rhymes with "Bonn")
You're right that you can't copyright facts, and at any rate you can't copyright short phrases like names.

But this is a trademark or right of publicity question, not a copyright question. Copyright deals with rights in written works. Trademark is about rights to brand names and marks on products. Rights of publicity are about using famous people's names and likenesses without authorization.

I don't know much about right of publicity, but as far as trademark goes at least, there is this exception known as "nominative use," which basically allows you to use a trademark to refer to a product, so long as it doesn't look like you are using the name to market your own products. This is what allows you to use a trademarked product name in a review, for example.

My guess is that, in this case, the company could have pushed back a bit on the IOC's blanket warning. Nominative use (which, incidentally, is backed by the First Amendment) would at least protect the right to report newsworthy events about Olympians. But if the company's reports start to look more like product endorsements or marketing pitches, it would become a different question.

cduan··on School used student laptop webcams to spy on them at school and home
Fair enough, I should have been more precise with my language.

Section 1983 says that a violation of a constitutional right gives rise to a civil remedy for damages. A violation of the Fourth Amendment right is such a violation of a constitutional right. If the school officials, being officers of the state, did not comply with the rule in Kyllo, then they would be in violation of the Fourth Amendment, so they could be liable for damages under section 1983.

The officials could defend on the grounds of qualified immunity. However, to win on this defense, the officers must show that the law was not "clearly established." The argument I would make is that Kyllo is clearly established, so qualified immunity would not apply.

The Wikipedia article on section 1983 provides some examples of its uses:

http://en.wikipedia.org/wiki/Section_1983

cduan··on School used student laptop webcams to spy on them at school and home
There doesn't appear to be a claim in the complaint regarding any child pornography laws yet. But who knows--that may change if new photos turn up during discovery.

Here's some thoughts on the Fourth Amendment illegal search claim, at least:

There is this 2001 case, Kyllo v. United States, that held it illegal for the police to use a thermal scanner to detect heat lamps in a guy's house (the heat lamps being used to grow marijuana). The Supreme Court held, in an opinion by Justice Scalia:

"Where...the Government uses a device that is not in general public use, to explore details of the home that would previously have been unknowable without physical intrusion, the surveillance is a 'search' and is presumptively unreasonable without a warrant."

Seems to me this case falls pretty squarely within the Kyllo rule. Maybe webcams are in public use, but a spy program connected to a webcam and operated by someone other than the possessor of the computer would probably not be. The webcam photos were of the inside of a home, and those photos could not have otherwise been taken without going inside the home.

cduan··on SQL Databases Are An Overapplied Solution (And What To Use Instead)
Well, is this a complaint about relational SQL databases? The only issues the author has that actually are tied to the SQL language are #2 (queries are largely unknown up front) and possibly #1 (small records with normalized relationships). Most of the other complaints have to do with ACID data consistency and the overhead it imposes in simple implementations (e.g. no row-level locking).
cduan··on The story of "Bean," a free word processor for Mac OS X
Not to be too nitpicky, but TeX is not really an exemplar of any hierarchical document format. I think the author is thinking of LaTeX, which has the \section, \subsection, and similar headings. LaTeX is just a macro package built on top of the TeX language (similar to how Ruby on Rails is a library built on top of the Ruby language).
cduan··on ‘Obscene’ U.S. Manga Collector Jailed 6 Months
Little bit of legal background for you, hopefully it adds something to your thoughts:

The standard for "obscenity" is defined in the leading Supreme Court case Miller v. California, which held that obscene material was not protected free speech. I won't go through the whole test (Wikipedia explains it well), but it generally says that obscene material has to "appeal to the prurient interest" to an average person in the local community, and it has to have no redeeming social values.

So I wouldn't be worried that the "Ruling Party" deems something obscene or not. Instead, I would be worried about what the "average person" thinks. Isn't that a little odd--that your constitutional rights depend on what your neighbors think?

(That was an argument that one of my law professors made, and I think it's pretty compelling.)

cduan··on Copyright and the World's Most Popular Song
Ignorance of the law is never an excuse, but ignorance of the facts is frequently an excuse. "Innocent" copyright infringement can occur when you think it is legal to copy something (e.g. the copyright has expired, it is fair use, etc.), but it turns out that you are mistaken.

However, for copyright to apply, you actually have to copy something. If you coincidentally come up with the exact same song that someone else wrote already, but you never heard about the other person's song, you would not infringe copyright in the other person's song.

In contrast, patents infringement is "strict liability," meaning that you can infringe a patent without even knowing that the patent exists.

cduan··on An end to frivolous patents may finally be in sight
Not to be nitpicky with the article, but it's a little misleading when it says (right above this quoted section):

"What is clear is that the “non-obviousness” part of the test for patentability has not been applied anywhere near rigorously enough to internet and business-process patents. Because they lack a history of “prior art” to refer to, examiners and judges have granted a lot of shoddy patents for software and business processes."

Bilski has nothing to do with obviousness. Bilski is about the subject matter requirement, which is that patents can only be granted on certain types of inventions. For example, physical machines can be patented, but electronic signals cannot.

This is another reason (in addition to Grellas's below) that I doubt Bilski will have a big effect on software patents. Regardless of the outcome of the case, it will be most likely easy to work around, simply by tying the software to some sort of machine, be it a computer, mobile phone, embedded circuit, or anything else.

cduan··on Ask HN: Suggest an attorney? (Google is after us)
Have you considered contacting the Electronic Frontier Foundation? They might take interest in this case (I know they did some work in these sorts of domain name disputes before), and they are near enough to Google HQ that they might have some contacts there.
cduan··on Nature publishes 17 parameter fits to 20 plus data points
Why yes indeed. Although it's more an issue of the ratio of parameters to data points. Consider, for example: if you had 20 data points and used 20 parameters to fit them, you would generate a model that fits all 20 parameters perfectly! But the model would probably be useless for any new data points, because it takes into account all the irrelevant aspects of the 20 data points (their "randomness").

Have a look at: http://en.wikipedia.org/wiki/Overfitting

cduan··on No reply is better than no-reply
I'm all for cutting out the no-reply addresses, but this doesn't seem like the best example. The email is an automated response saying that the sender's address could not be verified, so the message was ignored. If the sender replied to it, then the email would just come from the same sender address, which would still be unverifiable, and then what?

I suppose they could set the reply address to some generic support location. But in that case, the best solution would have been to forward the initial (and unverifiable) email to the support location in the first place.

cduan··on Git Magic - Preface
This is exactly why I wrote my tutorial:

http://news.ycombinator.com/item?id=531517

It's pretty sad that this one not only assumes that knowledge of the internals is unnecessary, it in fact praises such ignorance ("newbies can ignore its inner workings and view Git as a gizmo that can amaze friends and infuriate enemies with its wondrous abilities"). This is particularly true considering that the relevant parts of the Git internals are actually quite simple.

cduan··on Did You Mean: Google Maps?
If I had to guess, Google probably gets so many hits for bad URL's (from hackers and such) that it's not worth the processing power to return custom 404 pages. (Notice how it also has no images?)
cduan··on Http://www.google.com/web is highly confusing.
Please note RFC 2396, which defines URI's, and in particular section 1.5, which details the importance of a URI scheme that can be written on a paper napkin by hand.
cduan··on Why I prefer no tabs in source code
1. Interesting that both this and the opposing article were submitted by the same person (which suggests to me that the "I" in the article titles does not refer to the submitter).

2. Sometimes I use tabs. Sometimes I don't. I can never really remember, because Vim is set to :expandtab for me on some of my machines. What I do know is that I never really care.

I use the ^T, ^D, <<, >>, and = commands to shift my left margin around in Vim. I haven't typed a space or a tab at the beginning of a line in years. After all, why use low-level functions when you have high-level ones?

cduan··on How The EFF Lost Its Way By Defending Hate Mongers And Tunnel Rats
> Kurt would not respond to the substance of what I asked. The jist of his response: “A court order should not shut down any website unless the entirety was not protected speech. While a ‘true threat’ is not protected speech, there are many views which are protected, even if repugnant”.

Forgive me if I misunderstood, but Kurt's response was perfectly apt. The article's author tried to compare a blog with a single unprotected post to a website entirely filled with direct calls to violence.

Kurt's response distinguishes these two cases. Shutting down an entire blog due to one post is different from shutting down a website filled entirely with unprotected material.

cduan··on Combine all your store loyalty cards
Note that this site also links you to another site that makes plastic cards. I like that site less because of its privacy policy.
cduan··on Why I don’t have a girlfriend: An application of the Drake Equation
When this guy goes out at night, he meets a perfectly random sample of people from London, totally uncorrelated to any of his variables? Where is this stochastic heaven? The statisticians want to know!

(Put another way, maybe he should frequent more singles bars in educated neighborhoods, where the clientele is of about his age and attractive to him.)

cduan··on Tex Source Code
It would probably be not too difficult to find the macros that generate the index and add in the appropriate PdfTeX instructions to make hyperlinks.

Although, as a veteran Knuth code reader, I would say that his code is intended to be read linearly, like a book, rather than in bits and pieces. (Think of it like dynamic programming: it's more efficient to start from the little functions and work your way up, than to start from the big functions and recurse your way down.)

cduan··on No single algorithm can compress all possible files
Technically, this proof is slightly flawed. Why?

Take the set of all files of 10 bits. There are 1024 possibilities.

You can compress these files to 9 bits. But you could also compress them to 8, 7, 6, 5, 4, 3, 2, 1, or even 0 bits. In total, that gives you: 1024 possibilities!

Of course, the issue is the initial assumption that the files all contain exactly 10 bits. If we had started with the problem of compressing files between 0 and 10 bits to files with at most 9 bits, the proof is trivial.

cduan··on How Doug Engelbart taught kids to ride a bike (without training wheels)
Apparently a much simpler way is to just take the pedals off the bike:

http://www.sandcanyoncyclery.com/index.php?option=com_conten...

cduan··on Poll: Operator Precedence
Interestingly, this reminds me of two programming languages you probably never thought about: TeX and Metafont.

TeX is an entirely macro-driven language. It processes an input file by reading a token (usually a single letter or a backslashed \command), and then either executing the token if it is a builtin operator or replacing the token with its macro definition. Since it is always processing the first token on the list, it has no operator precedence concerns (in essence, everything is in prefix notation).

Metafont (the programming language Knuth created for drawing fonts) is also a macro language, but it allows for infix notation as well as prefix. When you define an infix operator macro, you can choose a precedence level (primary, secondary, tertiary). For example (I'm not sure if this is exactly right), addition might be a tertiary operator, multiplication a secondary operator, and exponentiation a primary.

Having used both of these languages fairly extensively in the past, I would say that the easiest way to avoid the issue of operator precedence is to disallow infix operators. However, if you do think that infix operators are worth keeping in your language, you might look to the Metafont parser implementation for ideas--if there is anyone who has something to say on parsing, it is Donald Knuth.

cduan··on Wondrous Oddities: R's function call semantics [2006]
It is great for drawing vector graphics. It also has capabilities for working with large data sets, as long as you don't do it the naive way (by reading a huge array into memory).
cduan··on /var/tmp/xmas.txt, each unix cmd could only be used once
In some shells (such as tcsh) it is a built-in command like "if" or "cd".
cduan··on TSA redaction fail: hidden text easily readable via copy & paste
It's helpful to understand a little bit of how a PDF file works.

A PDF file stores a sequence of instructions for what do draw on a page. The instructions are commands, such as "write this text here" or "draw a circle there." When you draw black redaction boxes, you are just appending an instruction to the end of the list ("draw a box here"), but most of the time the previous instructions are all still there.

Really, the only way to redact a PDF with certainty, short of manually reading the file itself (yes, PDF files are text-readable; you just have to decompress them) is to rasterize the file to a large image. Otherwise, the instructions for writing the text are all still in the file, and there are any number of ways to extract them (for example, simply by deleting the instruction to draw the redaction box).

cduan··on Card shuffling, mathematical modeling, and Markov chains
You should next make a bet with him that for any deterministic shuffling algorithm that does not consider the value of the cards, the cards will return to their original state eventually.

1. The number of permutations of the cards is finite (52!).

2. Therefore, by the pigeonhole principle, if you shuffle the cards 52! + 1 times, at least two of the card orders will be the same. Let those two decks be A and B.

3. Take a blue deck of cards and place them in the order of A. Take a red deck of cards and tape them to the blue deck, so the red ace of spades is taped to the first blue card, the red two of spades to the second blue card, and so on.

4. Shuffle this deck however many times it took to get from A to B.

5. Since A and B are identical, the blue cards at the end of this shuffling are in the same positions as they were when the shuffling started. And since the red cards started out in order and traveled identically with the blue cards, the resulting deck is in order.

6. Since, by hypothesis, the shuffling algorithm does not consider the value of the cards, we can just throw out the blue cards and shuffle the red cards alone however many times it took to get from A to B, and if they started in order, the cards will return to their original order.

cduan··on Why MBAs should not sign the Harvard Business School oath
So directors and officers have a fiduciary duty to maximize shareholder value, and therefore any obligation that conflicts with this duty is improper?

I wonder whether the author would apply this to lawyers. They, after all, have fiduciary duties to their clients, such as that of zealous advocacy. Is he advocating that no ethical obligations should trump the lawyer's duty of zealous advocacy?

If not, what is the distinguishing principle?

cduan··on [dead]
Disagree. He practiced his invention at least once.
cduan··on [dead]
The joke isn't that Linux is complicated or Macs are cheap. The joke is that she (Microsoft) makes you THINK (keeps you "by convincing you") that Linux is complicated (e.g., rumors about hardware incompatibilities) and Macs are expensive (e.g., those "I'm a PC" ads).

When you think about it that way, it makes the analogy so much worse (or better, I suppose).

cduan··on Ask HN: why are domain names reversely ordered?
This seems pretty much right based on the historical data.

It doesn't seem like ordering of domain name parts was given much thought. RFC 882, which first defined the domain name space, said only this:

By convention, the labels that compose a domain name are read left to right, from the most specific (lowest) to the least specific (highest).

Additionally, it seems that when the first TLD was defined, .arpa, some people were hacking to support it by just concatenating .arpa to the end of all the domain names. Concatenation, of course, is much easier than prepending when you are programming in C. Note the following from RFC 881, which described the transition to using domain names, at a time when the domain name mapping was all stored in HOSTS.TXT files:

So far, no new domains have been introduced. Only a table with all the entries having official names in the ARPA domain has been provided. This should allow programs to be constructed to deal with domain style names in a general way without any special hacks to add or delete the string ".ARPA" to or from host names.

← PreviousPage 3 of 6Next →