skysight-inc/HackerNews huggingface dataset:
Ask HN: Legal barriers to starting an anonymous ISP?
Anybody know of any case where there was an ISP that was by design not capable of identifying its' customers? Are there any laws specifically against charging for anonymous wireless access?
If you have through test coverage, you can cut out a sloppy-but-functional prototype and replace it with a cleaner (or carefully optimized, etc.) version, and be reasonably confident that your code will still work. It gives you more freedom to replace parts of a project, rather than getting stuck maintaining horrible legacy code.

Of course, there are a few big ifs there. Writing very thorough test coverage is not a trivial undertaking, and may not be the best use of your time. Also, this says nothing whatsover about when you write the tests.

This matches my experience (legacy code, ugh), and I watched a Google tech talk in which the main SQLite author, Dr. D. Richard Hipp, spoke at length about how SQLite's extensive automated tests (http://sqlite.org/testing.html) have given them room to change the implementation of major internal systems several times.
That's a good idea. I think the central issue with the voting system is that it's supposed to be a mechanism for determining quality, but it's being used for determining popularity of viewpoints. And popularity does not correlate with validity. So some way to clearly define and separate mechanisms for these purposes would resolve the issue.
Other folks have tried to solve the problem of cleanly creating HTML from within Python itself, which I think is what you are alluding to. It's not a goal for me. To the extent that my markup is pretty static, but the content is dynamic, I try to use a templating language beneath SHPAML. If the structure of the page itself needs to be dynamic, then I probably want to serve up JSON to the browser, not HTML, and then let Javascript manipulate the DOM, taking HTML (and SHPAML) mostly or completely out of the equation. I think there are some cases when you want the power of the server-side programming language to help you build documents, but that is often a smell that your documents are overly complex, or that your templating language is weak, or that your UI is too complicated for browsers, or that your client-side code isn't pulling its weight, etc.
Looking at the script source, screenshots of the script in use and screenshots of MW itself, it looks like the script embeds a number of MW icons as data urls. These icons are the IP of Zynga and likely the basis of their copyright claim. I bet the C&D they sent didn't actually say that - they just used it to scare off the script writers and it worked.
The only issue I see right now with this is that it doesn't promote interesting but (strictly speaking) off-topic discussions.
If the stuff was economically viable ... it wouldn't require legislation

I think you're missing the point if what I said. Lots of things are economically viable to a corporation if it can externalise the downsides (either by dumping the wastes or getting a bailout when it make mistakes) or simply get the legislation that favours it (google "oil industry tax breaks" for an example).

You can't get away from legislation. Bailouts are legislation. But making polluters pay requires legislation. There is no mythical free, unlegislated market that will magically do the right thing. There's only good legislation and bad legislation.
My life is improved so much due to technology. Remember only your computer and the internet in 1999.....

The same counts for almost every other product you're using.

Maybe financially there wasn't much progress, but the silent and steady motor of improving daily life is still running.
I try to not down vote for disagreeing, because most of my opinions are wrong. I have changed almost all my positions more than once and it will happen again. If people disagree without trolling it is valuable, even if they are more wrong than me. It helps me be less wrong.

I have started to down vote when people wastes my time: Trolls and sometimes for boring flame wars that show up in every discussion on a subject (like Perl 5 trolls that obviously don't know the language, but has Googled a reference to the operators of Perl 6!).
A decade of unfreedom
The issue is that in equilibrium, it is not used correctly. It's better to design the system to model natural behavior than theoretical behavior.
Flags would be wonderful. There are many times where I've seen a wonderfully reasoned argument that I _completely_ disagree with (usually because of the premises of the argument). I am always conflicted - do I

A) Downvote the comment because the I think the conclusions are grossly wrong.

B) Upvote the comment because I'm so enamored of the elegance of the argument, it's contribution to the conversation, and how it made me think more carefully about my own argument.

C) Ignore it - and unjustly not provide my reasoned critique on what clearly took a great deal of effort by the author.

If I could only Flag it as "DISAGREE WITH CONCLUSION" and "ADDS TO CONVERSATION" then everything would be good.

The four flags that I think would be useful would be:

FLUFF vs CONTRIBUTES
AGREE vs DISAGREE
SPAM
INCIVIL

That way, I can now simultaneously rank an article as both contributing, as well as disagreeing with the conclusion.

An author may then write an unpopular, but carefully reasoned discourse, and still enjoy the positive feedback of his peers on his contribution, even if he is challenging their perspectives.
I disagree, particularly on the point where you suggest that scanning through ten or twenty comments and being able to recognize and vote on those comments which are cogent/useful/correct and those which are not takes an equivalent amount of time to hitting the reply button, setting focus on the reply entry form, composing a well thought-out and cogent response, and then hitting the reply button. Perhaps if we limit ourselves to snarky two-sentence replies it might be possible, but it seems that the parent was requesting more thoughtful responses than you have afforded me in this case.
There is a generic problem with mechanisms of this nature: it is difficult for a crowd to learn. I saw an excellent example of this at the Festival of Lights in Lyon earlier this month:

During one exhibit, there was a giant game of 'breakout' (http://en.wikipedia.org/wiki/Breakout_%28video_game%29) projected onto a large ferris wheel. The crowd was supposed to play it by all waving orange lights. If you remember breakout, you know that there is a limit on the speed at which the bat is allowed to move, so if you let the bat get too far from where the ball is going to be, there will not be enough time to fix it before the ball hits the floor. It was impossible for the crowd to learn this, however, because an individual in the crowd gets no noticeable feedback from their actions once they have been averaged with those of the rest of the crowd.
Personally, I'd prefer if you'd write a comment and explain why the argument is totally wrong. (And preferably starting with praising what you approve of; that would give the right tone to any answers you get.)

Edit: On consideration, I should have followed my own advice and started this with: "A well reasoned, well written and interesting argument. But why aren't you adding the alternative of ANSWERING the argument instead of just moderating?!"
I read what you proposed in your comment here: http://news.ycombinator.com/item?id=1013330

I agree with it wholeheartedly. The reason why I downvoted this particular comment here is because I really don't think that it adds any value -- you're beating a dead horse.
How to do A/B Testing with WordPress and Google Web Optimizer
I'd like to suggest another experiment for a feature. If the comment author's name is hidden unless you click on the link to the comment, so that by default it isn't shown, it might be able to reduce bias on the initial read or comment. It would reduce the tendencies of people to, at the very least, unwillingly be affected by the commenter's name.

Personally I never even notice the person's name unless I'm going back and forth, so I'm not even sure how much effect this has.
I couldn't be able to pass the first steps of applying Scrum where I work for years, while web was flooded with positive experiences. Than, I met with a person with firsthand experience and found the flaw in my thinking, I was trying to follow everything in the book.

Some people combines Scrum with their existing process, some set 4 months iterations while others insists on not more than a month. Some can't live with a Scrum Master who is a part time developer. By the book, they all wrong. Yet, they're successful Scrum implementers.

So here's my account of TDD, regardless of what Mr. Beck said in the book (I am actually an Alt.Net follower):

Unit tests and TDD, for me, are totally different things. TDD is a way of construction, while unit tests are for inspection. Unit tests' re-validation power is great, but less and less needed if you have a good design overall.

Hence,

- TDD should not care to emphasize good test cases.
It shouldn't even emphasize a complete test suite against a method. If someone want to test every possible way a function can be called, there are even automated software for doing it. It's a QA thing, not design.

- Worst case scenarios should be left to your test framework.
Same as above. Row attribute in MbUnit. Range, Random, Combinatorial etc. attribute in NUnit (I'm from .Net world).

- No approach should give someone confidence that his code works all the time.
Even the best QA can't catch all. But "When the bar is green, you know where you stand." means you are safe on what you test. If you test only for the correct input, you're safe for it. You'll know that missing inputs are untested. (Just a couple of unit tests, though)

- There's no 100% coverage.
Since 100% coverage might also mean a <div>'s positioning. Screw it and all the UI breaks loose. Critical paths should be covered as much as possible (some 80/20 rule applies here. %20 of tests cover %80 of critical path etc.).

- When you want to change your api, do so.
Write new tests, then a new api. The tests you have written are not part of your code real estate. Either feel totally ok for throwing them away, or don't use them. You will break your mental model of the old api when writing the new one without tests (we all write unit tests in our heads when coding), so what's wrong with breaking the digital representation?

- SOLID is nice, don't overuse OOD.
But, what's wrong with having OCP everywhere all the time? Need OAuth? Extend your account service. Want to also publish to twitter from your app's main feed? Extend feed service.

Unit tests can be written good or bad. It depends on one's ability, testing framework in use, even the mocking framework. But in my experience TDD only improves your code, makes it more modular, more open to extension, more open to change.
I've also found that once a person has attained a certain amount of knowledge, sharing it with others becomes an awful lot like telling them that they're wrong. People don't like to hear that they are wrong about things. Sometimes people just don't want to know what they don't know. Its just easier that way.

Sharing can be hard, socially risky work. It often requires a great deal of tact, even when the knowledge is asked for.
Awesome! I hope Apple will enjoy their own medicine.

Hey, wait a second, where are all these guys who talk endlessly about the superiority of the US legal system compared to "countries farther from the civilization center"?

I hope that Swedish Nokia will show Apple that this uncivilized stealing they're doing isn't profitable.
I prefer a normal chair + couch/bed, instead of wasting my money on this.
Much discussion already here:
http://news.ycombinator.com/item?id=1016016
This is a major point in legal philosophy (and presumably elsewhere).

I don't think I agree with you (for example) that an adversarial system (http://en.wikipedia.org/wiki/Adversarial_system) is inherently worse than an inquisitorial one (http://en.wikipedia.org/wiki/Inquisitorial_system).
This has been discussed before, and if my memory serves me correctly it wasn't that well received.
How a theoretician decides where to spend is time is irrelevant. If, however, anyone were to criticize the proof by saying "it is written by an unknown", that would be an ad hominem criticism of the proof, and hence, invalid.
I'm sure that as soon as something bad or illegal starts occurring on that isp like say child pornography or even something like anonymous bomb threats someone is going to have to be held accountable and if you can't point people in the right direction it might end up on you.
If I am expert in subject A and know nothing about B, and someone else knows B and needs A, then we're in business. Even if they know C (heh), maybe I will need that in the future, we're still equals.

I've never encountered someone who had the right attitude and not had something to trade.
Personal Profiles In Dating Website
Many of us when we go to dating websites to find the right lesbian dating partner or gay dating partners, we do not put in enough efforts to come up with impressive personal profiles. At the same time we wonder why some are more successful than the others in the online lesbian dating scene . One of the main reasons why some are more successful than the others in the dating sites is the fact that those who are successful pay close attention to their personal profiles.
I've always wondered why Apple has been so focused for years on good product-development driven design in notebooks, software, keyboards, routers, MP3 players, phones, and a few other peripherals yet consistently built mice that every single living human despised.

I even went out of my way to check that thing out. While the shape is not sufficiently ergonomic for me to use on a long-term basis (it forces your hand into an uncomfortable shape rather than conforming to it like most modern mice) it's overall pretty nifty. Definitely a step in the right direction.
Ask HN: Do you list startup experience on your resume for a `normal' job search?
I'm out of cash and looking for a programming job, but I'm finding that listing my startup experience is serving mostly to confuse recruiters. How do you list your less-traditional experience when looking for `normal' work?
If you're thinking of operating in the USA, you should read up on Communications Assistance for Law Enforcement (CALEA). CALEA pretty much requires that you be able to associate a name with any IP on your network, so you're going to have a hard time operating as an ISP without any personally-identifying information about your customers.

Regardless, if you can figure out a way to anonymously collect payment for services online without either getting ripped off by your own customers or leaving a paper trail for law enforcement to subpoena, then you have a far more valuable commodity than simple bandwidth to offer. In fact, you would have invented "digital cash", and any number of folks (afore-mentioned law enforcement and tax agencies amongst them) will race each other to control or use it.
Peter Norvig points out elsewhere that some apparent "declines" can be explained away by a growing population of non-technical web searchers.
For many years after the explosion of the TWA plane over Long Island (a disaster that was later found to have nothing at all to do with international religious nihilism), you could not board an aircraft without being asked whether you had packed your own bags and had them under your control at all times.

Is this true? TWA Flight 800 crashed in 1996. Weren't screeners asking passengers if they packed their own luggage before this?

I believe Hitchens is also wrong on the second point here:

These two questions are the very ones to which a would-be hijacker or bomber would honestly and logically have to answer "yes." But answering "yes" to both was a condition of being allowed on the plane! Eventually, that heroic piece of stupidity was dropped as well.

My understanding was always that this question was designed to weed out any cases where a second party might have covertly sneaked explosives into your luggage without your knowledge.
The way I interpret the article is that he is riffing on the fact that Hacker News members are generally interested in startups and likely believe in the constant release and iterate cycles that are used to determine a viable concept or product.

He might be pointing out the fact that those kind of people are stuck on the "random music" idea he used initially and not giving him valuable feedback on his evolving idea. But I'm just guessing.
The back button is my method of disagreement
There are many comments claiming that it's somehow bad, rude, or inconsiderate to downvote comments you disagree with. I totally disagree. There is nothing uncivil about downvoting. It simply means that someone took issue with something about your comment: its tone, its logic, whatever. There's no reason to take offense at this; you could just as easily find it intriguing.

Voting up or down is a nice, efficient mechanism for participating in a discussion when you do have a response, but it falls below the threshold of having enough time, enough interest, and enough worth saying to justify an explicit post. There's nothing illegitimate about responses that happen to fall below that threshold. In aggregate, they add great value to the site. To try to force people to make explicit comments that aren't naturally above the threshold would spread tedium, not civility.

People sometimes allege that opinions are being downvoted to oblivion on HN merely because they're unpopular. In my observation, this is rare. There's almost always some obvious reason (rudeness, irrelevance, etc.). But it's more self-flattering to think that your brave independent thinking was run over by a mob.

Egregious arbitrary downvoting does occur, of course, but it tends to get corrected. When I run across a comment at 0 or -1 that I see nothing objectionable about, I upvote it. Lots of other users do that too, so controversial comments tend to stay roughly at par. Lightweight self-correcting systems are hard to come by, so I think it's worth recognizing when you have one. That doesn't mean that experimentation is a bad idea, of course, but it will be hard IMO to come up with a better voting system. (The flagging system is a different matter.)
The reason I made SHPAML a one-way preprocessor is that my use cases haven't yet given me a compelling reason to write a round tripper, and preprocessing is simple to automate.

I do not know what your criteria are for judging a "first-class" DSL in Python, so I cannot comment on the feasibility. My goal was to create a simple markup language that maps well to HTML and plays nice with templates. SHPAML does that.
I bet the creators were scratching their own itch.
What was the problem?
Well, what is your startup experience? Why not put your resume online and point us at it so we can offer suggestions.

Most recruiters are simple folk and just have a check-list of things they're looking for. Think about the job you want, then list the things you need for that job. Now conflate it through recruiter-think, say you have it all, and see how your experience can be distorted to sound right.

But we need to know what you're looking for, what skills you think you have, and what evidence you can provide before we can really offer serious advice.

And here's something to think about:

http://www.solipsys.co.uk/new/AnneLearnsToRecruit.html?HN
Personally, I'd prefer if you'd write a comment and explain why the argument is totally wrong.

I sometimes invite people to write such comments if they disagree with me. Often, when a comment makes a factual assertion for which I know of no evidence, I will reply to ask for the evidence. I will say things such as "Citations, please?" or "What are some examples of this?" or in some other way ask for the participant to back up the statement to which I reply.

But there are cases when a comment is totally wrong, and not a good contribution to the thread besides (which has always been a generally supported basis for downvoting), and it's just too much bother to post a countering reply or to ask follow-up questions. In such cases, I don't feel embarrassed at all in downvoting the wrong comment. The site founder pg, who announced news of changes he is considering in flagging options on HN in this thread, wrote 681 days ago,

I think it's ok to use the up and down arrows to express agreement. Obviously the uparrows aren't only for applauding politeness, so it seems reasonable that the downarrows aren't only for booing rudeness.

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

Voting and flagging options today are still much as they were then, and so for the moment I don't think it's a bad idea to downvote for disagreement, particularly if a comment has other undesirable characteristics. I will happily adapt to a new system if the site management implements a new system. And I invite participants who disagree with this reply of mine to write a comment and explain why my argument is totally wrong, if that is not too much trouble to you.
At least to me, he doesn't come off as angry at anyone other than himself for forgetting to fix his About page. In fact, he says several positive things about HN readers:

"the value of a natural feedback system is greater than any promotional value I would get out of submitting things myself."

"...an excellent positive result of the HN barometer"

"I think of HN as a barometer of what people think."

"Thank you Hacker News"

On the whole, the post is about how Hacker News enabled him to get a read on community sentiment about Fret Wars. This is absolutely a positive thing. He's not blaming HN for continuing to think the site is about randomly generated music, he's blaming himself, and praising HN for helping him discover his mistake.

Now if I was a guitar player, I might be offended... :)
Irrelevance can simply be ignored, or if necessary, flagged. It can then sink to the bottom of the page with little consequence.

But a down-vote has negative social consequences. It affects the types of comment that show up and shapes and refines the tone here so that eventually only the popular types show up.
Take a look at the script. Like I said in my other comment, it seems to contain Zynga IP.
I don't share my knowledge by answering to questions.

I use my knowledge to support the other guy to find the same answers if he is willing to do work. I just give him more momentum -- provided he already has some -- and guide gently to the right direction.
Given the AdSense/AdWords scandals, I doubt that the financial incentive would be so strong.
I disagree. I think they are the exact opposite. Why waste time on something that hinders your work.
I hope that you'll be cautious with the amounts of possible flags? More choices makes the decision to vote harder, possibly reducing the number of votes, which is not what you want.
The Bubble Decade : CNBC Originals
Rapid Iteration and the Effect of Network Effects
Try this example:

http://www.google.com/insights/search/#cat=31&q=ruby%2Cr...

There's still a strong correlation among the three queries.
Fair Point with regards to answering the argument, but, with tens of articles a day, and hundreds of comments per article, sometimes all you can afford to do is take 5 seconds to flag your feedback. Also note that flagging/ranking an article also has an impact on how many people see the article, as it rises to the top.

There is also the (strong) possibility that I really have nothing to add to the conversation other than a DH3 "Disagree" - which perhaps suggests that I have no right to be moderating that particular comment in the first place.