The typo at the root of Harvard's cheating scandal - <AUTHOR> http://www.thecrimson.com/article/2012/9/12/platt-letter-reveals-scandal/

<comment><USER2> "some students said that they will sue the university if any serious punishment is meted out" [1]

These are our future business and political leaders ensuring unabated corruption continues for generations to come.

It's world-views like these students' which explains why articles like this Onion spoof are sadly funny: [http://www.theonion.com/articles/wealthy-teen- nearly-experie...](http://www.theonion.com/articles/wealthy-teen-nearly- experiences-consequence,2551/)

[1] [http://www.nytimes.com/2012/09/01/education/students-of- harv...](http://www.nytimes.com/2012/09/01/education/students-of-harvard- cheating-scandal-say-group-work-was-accepted.html?_r=1)

<comment><USER3> I can kinda see the students' point. If the exam was unreasonable as they claim (they claim it was completely unrelated to the lectures), it may be grounds for cheating rather than go through a lengthy costly path to correcting the exam or ousting the professor, perhaps unsuccessfully. Software developers (or their employers) do this all the time when they ignore frivolous patents.

<comment><USER4> Um, you're kidding, right? Of _course_ the students are going to claim the exam wasn't fair; why would you believe them? (On reading the article linked to, the few specific exam questions that were described didn't seem to me to be unrelated to the course.)

Also, even if the exam was "unrelated to the lectures", tough luck; they are paying a lot for a degree, on the understanding that the school makes the rules. If the school is being unfair, the correct response is not to cheat; it's to stop placing so much weight on a degree that really doesn't mean much.

Finally, your suggested analogy between frivolous patents and a supposedely unfair exam is nonsense. The correct analogy would be between a business that ignores a patent because it is convinced the patent is unfounded and would not stand up to a court challenge, and an employer that ignores a C in Government from Harvard (for a job applicant who took the hit on an unfair exam rather than cheat) because it knows Harvard's grades are no longer an accurate reflection of a person's job potential.

<comment><USER3> If they accept "tough luck" they're not going to go much beyond minimum wage. It's a dog-eat-dog world.

> business that ignores a patent because it is convinced the patent is > unfounded and would not stand up to a court challenge

Same thing here. The students may be convinced the cheating charge would not stand up to a court challenge, hence they threaten to sue.

> an employer that ignores a C in Government from Harvard (for a job applicant > who took the hit on an unfair exam rather than cheat)

The applicant wouldn't get that far. The resume would be filtered out by software before the interview. The applicant would lose the job to the cheater. It's a dog-eat-dog world.

<comment><USER4> So your argument is basically, it's a dog-eat-dog world, so it's OK to cheat to get ahead? I see. I don't agree, but I see.

(Also, it's laughable to suggest that Harvard students are stuck with minimum wage if they don't cheat on exams. We're talking about _Harvard_ ; most employers won't even care what the applicant's GPA was.)

<comment><USER3> It's okay to sometimes cheat on an exam in the same way it's okay for software developers to ignore the dozens of patents they infringe on, instead of paying the holders. In the same way it's okay to sometimes exceed the speed limit without asking the police for a ticket. In the same way it's okay to buy stuff online tax-free and not pay use taxes on it in your own state. Everyone cheats.

I said they won't get much past minimum wage if they take the attitude "tough luck". Successful people get used to knocking down the hurdles others endlessly throw at them, often unfairly.

<comment><USER4> > Everyone cheats.

Well, yes, if you lump all the things you named together and call them all "cheating" without differentiating between them, yes, everyone "cheats". But I don't think everyone would agree that all the things you named should be lumped together. That's a subjective judgment, which means we probably won't get anywhere arguing about it--but see further comment below.

> Successful people get used to knocking down the hurdles others endlessly > throw at them, often unfairly.

But the way you are putting it, anything I don't like or anything I don't want to comply with is just a "hurdle" that I'm justified in knocking down. By your logic, if I want my boss's job, it would be OK for me to murder him and then fill the vacant position; after all, he's just a "hurdle", right? Or if you don't think that would be OK, where do you draw the line? What principle lets me differentiate between things that are just "hurdles" that I'm allowed to knock down to be successful, and things that I'm not?

<comment><USER3> > What principle lets me differentiate between things that are just "hurdles" > that I'm allowed to knock down to be successful, and things that I'm not?

Easy: employ your own ethics system built around the Golden Rule, rather than blindly follow a system designed largely to make rich people richer.

<comment><USER4> > employ your own ethics system built around the Golden Rule

Wouldn't this system forbid you from cheating?

<comment><USER3> No, e.g. cheating can be okay when the exam is unrelated to the lectures. The system doesn't forbid you from breaking the law either, like not paying your state's use taxes on stuff you buy online.

<comment><USER4> How does this square with the Golden Rule? Last I checked, that rule didn't say "I can break rules I don't like to get gold."

<comment><USER3> You're not getting gold, you're restoring fairness where the rule or law is unfair. You get the gold by leveraging your renewed equal opportunity.

"All versions and forms of the proverbial Golden Rule have one aspect in common: they all demand that people treat others in a manner in which they themselves would like to be treated." The Golden Rule doesn't only demand that you treat others that way; it also demands that others treat you that way, which may require action on your part.

<comment><USER4> > You're not getting gold, you're restoring fairness where the rule or law is > unfair.

But how do you know what's fair? More to the point, how do you know what all the other people, whom you're supposed to treat the way they themselves would like to be treated, think is fair? You've assumed that cheating on an exam which you believe to be unrelated to the course material is "fair"; how do you know all the other people who are affected by your action would agree?

Also, I probably should have made it clearer at the outset that judging that something is "unfair" to you is highly subjective and prone to error. I do not really believe that the exams the Harvard students cheated on were "unfair"; I think the students were just too lazy to learn the material and then tried to weasel out of the consequences. But they themselves probably sincerely believe that the exam was unfair and unrelated to the course. The fact that so much was at stake makes their judgment that the exam was unfair quite different from, for example, my judgment that I know better than the people who put up speed limit signs what a "safe" speed is under the current driving conditions. See further comments below.

> You get the gold by leveraging your renewed equal opportunity.

Cheating doesn't give you "equal" opportunity; it gives you an extra opportunity that the people who don't cheat don't have. Whether that is actually "fair" is, as I said above, highly subjective, and it's very easy to judge wrongly if you have a strong personal stake in the outcome. That's why we have ethical norms that don't allow people to make such judgments unilaterally in cases where self-serving judgments are highly likely and have large consequences.

Since I asked for a principle that distinguishes when it's OK to "cheat" and when it isn't, I should offer one of my own--actually two, following on from the above comments. I see at least two key differences between, for example, the case of exceeding speed limits, and the case of cheating on exams:

(1) I can make a good case that I, driving my car on a particular road under particular conditions, can better judge what a safe speed is in that situation than lawmakers or regulators who just have very general rules for setting speed limits: I am there and they are not, and I'm the one who risks injury if I have an accident. So I have more information and am motivated to make good judgments. The case of students cheating on exams is opposite in these respects: the students do not have more information than the professor does, and they are highly motivated to make self-serving judgments about whether the exam is "fair", rather than accurate ones.

(2) I gain no significant advantage over other drivers from speeding. I get where I'm going faster than I otherwise would, but that does not hinder any other driver from getting where they're going. There's no competitive element involved. In the case of students cheating on exams, there certainly _is_ a competitive element; a student who cheats does not just gain an advantage, he takes away an advantage from others.

So I would distinguish "cheating" that should be prohibited from infractions like speeding, by these two principles: the motivation for self-serving judgments, and the competitive element where one person gaining an advantage means others lose it.

> The Golden Rule doesn't only demand that you treat others that way; it also > demands that others treat you that way, which may require action on your > part.

I'm not sure the Golden Rule includes this, but that's an argument about terminology, not ethics. Basically, you're saying that you have to let other people know how you want to be treated. I agree with that general principle, but I'm not sure cheating accomplishes that purpose. Are the students who cheated at Harvard being treated more like they wanted to be treated because they cheated?

<comment><USER3> > Are the students who cheated at Harvard being treated more like they wanted > to be treated because they cheated?

Had they gotten away with it, maybe! It depends on what the circumstances actually were. Like you say, they may have just been lazy. My point is that cheating, rule-breaking and lawbreaking can be okay under the right circumstances. If it's to unfairly gain an advantage over others, that violates the Golden Rule. In this case the students may have been justified, if indeed the exam was completely unrelated to the lectures.

> how do you know all the other people who are affected by your action would > agree?

It doesn't matter what they think; they may well disagree with you. It was illegal for Rosa Parks to sit in the front of the bus, but her interpretation of fairness trumped the law. No doubt plenty of people felt that killing her would be a fair punishment; after all, her crime had large consequences, namely it fomented a rebellion, encouraging millions of others to break (Jim Crow) laws. Had the rebellion failed, history may have recorded that she was a horrible person, instead of her bus being in a museum.

> That's why we have ethical norms that don't allow people to make such > judgments unilaterally in cases where self-serving judgments are highly > likely and have large consequences.

So when there's a draft, people should trust their leaders and submit to combat, not bothering to examine whether the war is just? Many of those ethical norms are designed to benefit the privileged few at the expense of the rest. The "large consequences" are often a lie. The norms should be used only as a guideline for your own judgement, lest you become someone's pawn.

<comment><USER4> > So when there's a draft, people should trust their leaders and submit to > combat, not bothering to examine whether the war is just?

Avoiding the draft is a good test case that we haven't considered yet. It certainly meets my second condition, that people have a strong motivation to make self-serving judgments instead of correct ones. It also may meet my first condition: citizens who judge that a war is unjust probably can't claim to have significant information that their political leaders do not. (In fact, the political leaders probably have information that the citizens do not.)

However, I can see a third principle that this example brings out: does the other party in the case, the one which is _being_ "cheated" (the government in the case of the draft, the professor in the case of the exam), _also_ have a strong motivation to make self-serving judgments? Certainly that is the case for a draft: political leaders have all kinds of motivations to claim that a draft is justified when it isn't. So in this case I would agree with you that "cheating" might be justifiable.

I'm not sure the case of cheating on exams meets this third condition, although it could be argued that professors do have motivations, if not to purposely make exams unfair, at least to not expend a lot of effort making them fair. But professors also have motivations to keep students coming to their school, for financial if no other reasons, which gives them an incentive to expend effort to make classes and exams fair.

> The norms should be used only as a guideline for your own judgement, lest > you become someone's pawn.

I don't disagree with this, but "your own judgment" is not infallible either. That's why I have been trying to find some principles that can help guide one's judgment. You appear to agree with this general idea, since you too draw a distinction between justified "cheating" and unjustified cheating. Your definition of "unjustified" is "if it's to unfairly gain an advantage over others", but that merely postpones the problem: what counts as "unfairly" gaining an advantage? That's what I've been trying to get a handle on.

<comment><USER3> I'm a bit biased. I had a professor who informed his classes, after the drop deadline, that < 85% on any test meant an F for the semester. I had no opportunity to cheat. All but a few students failed. It was $hundreds wasted for me. He was demoted to a non-teaching position when everyone complained.

In this case Harvard may go overboard on a crackdown, to shore up their reputation that's worth a lot of money to them. In that case the students may need to counter with a lawsuit, to restore fairness.

> what counts as "unfairly" gaining an advantage?

Ultimately it's best for you to decide, as fallible as your judgement may be. Anyone else may have their interests at heart, over yours. Their pet interests may be enshrined in the rules, the law, and/or the public psyche.

<comment><USER4> > I'm a bit biased. I had a professor who informed his classes, after the drop > deadline, that < 85% on any test meant an F for the semester.

Wow. In that situation I would certainly agree that the professor was being egregiously unfair. I'm glad that complaining at least got him demoted, but the school should also have corrected the grades of everyone who was affected --I'm guessing they didn't since you didn't mention it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> This is not surprising. The culture of varsity sports on campus is a relic of an institution that has optimized its admissions process for corporate job placement over academic integrity and originality of thought. This makes sense --if you can swell your endowment by letting in athletes who are a-ok with taking easy classes and then using their one-track brains to 'flip decks' at Goldman, why not? It's good for them (Goldman pays) and it's good for your own job security as a university administrator. The culture produces student- athletes who are some of the most tenacious, personable, and loyal people you can find. They make great leaders of companies that consist of giant pyramids of people doing menial tasks.

This culture, however, does not optimize for original thought.

Regarding the exam structure: (humanities + short answer questions + take- home) = increased likelihood of similar answers, given internet search.

The professor here was lazy, too--these problems could have been avoided with a comprehensive 20-page paper instead of a more-easily-graded short-answer final exam.

<comment><USER6> How does an essay cover anywhere near the full breadth of course material.

<comment><USER7> Exam room essays are a great way to measure knowledge, and difficult to cheat on. You have to know the domain thoroughly in order to be ready to write an essay response. Being able to write this demonstrates integrated understanding of the concepts. And probably breadth of knowledge. The easy solution for universities is give people take-home work during the semester and return it marked, but have 100% of the course score determined by a sit-down exam at the end of the period.

<comment><USER8> You're correct. I taught high school history for several years and used in- class essay responses as the primary testing method. Essays allowed me to understand what students actually know and how their overall knowledge on a topic has developed.

Multiple choice-style questions (or any memorization-style question) do test knowledge, but I regularly found that many of the students who could easily memorize facts had a hard time explaining them in a coherent essay describing how the events were interconnected. And students who might get a C on memorization tests often had a better grasp of the period as a whole.

Unfortunately, most teachers don't want to take the time to read essay responses because shoving scantron tests through a machine is much easier and less time consuming.

</comment></comment></comment></comment><comment><USER9> Four or five years ago Columbia threw out the final for the Western Lit class because one professor gave the last year's exam to her section and it spread through the football team.

The school found out because they changed a question and it looked suspicious when a quarter of the freshman class gave an answer about Crime and Punishment to a question about the Inferno.

</comment><comment><USER10> > series of discoveries that led him to bring the final take-home exams > submitted by his students

What? They have final TAKE HOME exams at Harvard?

<comment><USER11> Do people find that surprising?

I don't, but I went to Caltech so am used to the idea of take home exams. At Caltech, essentially all exams, including finals, are take home. If a professor wants to give an in-class exam, he has to get special permission to do so.

I think MIT now also has take home exams, but I'm not sure. Any MIT people here who can clarify?

<comment><USER4> I never took any take-home exams when I was at MIT (1983-1988). Most of the in-class exams I took there, though, were open-book, open-notes, etc., so making them take-home would not have been too much of a change. (Someone upthread commented that a good take-home exam is much more difficult because the professor can assume you have access to _all_ reference materials. That fits my experience with the open-book, open-notes MIT exams.)

<comment><USER11> No take home tests while you were there fits in with what I infer from this document: <http://web.mit.edu/faculty/reports/exam-termregs/report.html>

It's a report from their Faculty Policy Committee's Subcommittee on Examination Terms and Regulations, undertaking in 1998. Among the things the report covers is consideration of lifting the ban on take home tests. From the documents they reference, it appears that MIT tried in experiment starting in 1992 to allow take home tests, and discontinued the experiment in 1994.

In that report, they recommend allowing out-of-room exams, where the exam would be given out at 1:30 PM, the students would have until 7:30 pm to turn it in, and the students can take the test where they want. It looks like the main point of this was to make it so students could have access to computers and libraries during these tests.

Their concern with allowing take-home tests seems to be that professors might give monstrous take-home tests that would consume too much time.

Upon further Googling, it sounds like this policy or something similar was adopted and is still in place today: <http://web.mit.edu/catalog/overv.chap5.html>

</comment></comment></comment></comment><comment><USER12> > Ellison declined to comment on the letter, saying it is a confidential Ad > Board document—indeed, it is branded with a "CONFIDENTIAL" stamp.

Wow, I wonder why it is confidential. Isn't it a right to know what you're being accused of?

edit: I see, that's fair, as long as the accused get to see.

<comment><USER13> The board's procedures do give the accused the right "to review all materials considered by the Board in making a decision". The confidentiality rule forbids disclosure of that stuff to those without a "need to know", which would include reporters from the campus paper and the general public.

On procedures: [http://www.adboard.fas.harvard.edu/icb/icb.do?keyword=k62415...](http://www.adboard.fas.harvard.edu/icb/icb.do?keyword=k62415&tabgroupid=icb.tabgroup88723)

On confidentiality: [http://www.adboard.fas.harvard.edu/icb/icb.do?keyword=k62415...](http://www.adboard.fas.harvard.edu/icb/icb.do?keyword=k62415&pageid=icb.page430450)

<comment><USER14> Right, here's another. <http://www2.ed.gov/policy/gen/guid/fpco/ferpa/index.html>

</comment></comment></comment><comment><USER15> If everything is typed, it seems they might be able to run that through <http://turnitin.com>. I think it is meant for mostly essay papers, but I would think with the influence of Harvard they could get a special deal to adapt it to traditional question/answer things and be done with it.

Academic dishonesty is a no win situation. It makes the students look bad - and then it makes the school look bad for having low quality students. maybe ethics needs to be a required first quarter class.

<comment><USER16> Our computer science professors always claimed to be able to detect cheating because of similar answers, however, I never really believed them.

Change the way the program works here or there and rename all the variables, and always use the same variables for your loops (x,y,z or i,k,l for example) between assignments and it'd be hard to detect.

Of course, if you went through the effort of doing all that, I always figured it'd be faster just to do it your self.

Any ex-TA's or professors want to weigh on this?

<comment><USER17> > Change the way the program works here

Then it isn't really the same program if the changes are fundamentally different, so in essence, it isn't direct copying anymore. But changing another person's program in non-superficial ways is often as difficult as just solving the problem from scratch.

Cheating is also harder to detect in introductory classes because there are often few good ways to implement the algorithm in the first place (say, factorial, or pre-order traversal of a binary tree). Consequently, these tools tend to work better in larger projects, such as in an operating systems class.

> rename all the variables, and always use the same variables for your loops > (x,y,z or i,k,l for example) between assignments and it'd be hard to detect.

It turns out this is trivial to detect; see MOSS [1] for an example of the type of analysis that is done on programs.

However, more often than not, cheating is detected by teaching assistants simply by hand ("Hmm, this submission looks familiar"), but instructors pretend that there is some sophisticated cheat-finding system to scare off students. Usually typos are dead give-aways, especially when two students have the same typo in the same comment at the same identical spot. In my academic misconduct cases, students were most often identified through spelling and grammar errors.

I imagine that there exist many more instances of cheating than instructors catch, and that we really only get the low-hanging fruit (and frankly, my job isn't to be the cheating police, so I don't go out of my way to find it). But catching the most obvious cases and having a severe punishment as a deterrence is often enough. ("If you cheat, you likely won't get caught, but if you do, goodbye -- it's automatic failure at minimum, and possibly suspension or expulsion.")

[1] <http://theory.stanford.edu/~aiken/moss/> and the actual research paper [http://theory.stanford.edu/~aiken/publications/papers/sigmod...](http://theory.stanford.edu/~aiken/publications/papers/sigmod03.pdf)

<comment><USER16> Specifically regarding changing how the program works. I meant it in the sense of using hashes in place of arrays, and maybe even using while instead of for loops, etc. So fundamentally, it's the same input and output, but how the program stores and computes that is the same.

The variable thing makes sense though. I would use the 'changing the program' tactic to stop computers and the variables to stop teachers from detecting it. However, from another poster, using the same variables between assignments maybe unnecessary.

<comment><USER18> If the program is non-trivial (e.g. contains some classes, many functions), then usually the program structure alone will give it away (1), unless you invest _a lot_ of time into changing things.

From my experience (as a student), the people that copy programs don't even work that hard to obfuscate their plagiarism. Usually they just rename a couple of variables and reformat things a bit. A former professor of mine wrote a program to "fuzzily" compare two source codes and show how close they are, which quite nicely showed of clusters of programs where a bunch of students had copied-and-slightly-modified from one student.

(1) i.e., give the instructor a feeling of "Hm, I've seen that before...".</comment></comment></comment></comment></comment>


The Most Imaginary Number Is Real - <AUTHOR> https://divisbyzero.com/2019/03/13/the-most-imaginary-number-is-real/ <comment><USER2> There are no imaginary numbers, there are only 2x2 matrices: [https://en.wikipedia.org/wiki/Complex_number#Matrix_represen...](https://en.wikipedia.org/wiki/Complex_number#Matrix_representation_of_complex_numbers)

</comment><comment><USER3> Not only is it i^i "real", it's real many times over, as it has an infinite number of real values.

(Similar to how 1^0.5 has two values.)

</comment><comment><USER4> This is actually nice. Made me smile early in the morning. :)</comment>


WPEngine is down - <AUTHOR>

<comment><AUTHOR> DDOS attack [http://wpengine.wordpress.com/2014/04/12/intermittent- connec...](http://wpengine.wordpress.com/2014/04/12/intermittent-connectivity- for-limited-amount-of-customers-2/)

</comment><comment><AUTHOR> Looks like this is caused by Linodes connectivity issues.</comment>


Linux ASLR mmap weakness: Reducing entropy by half - <AUTHOR> http://hmarco.org/bugs/linux-ASLR-reducing-mmap-by-half.html

<comment><USER2> This, really, is not a big deal. ASLR reduces your chances of attack by making addresses hard to guess. If you get into the system, and get to execute code, you have _one_ chance to get it right, or your code crashes and takes the vulnerable app with it. So while this does have reduced randomness, it is not a huge deal.

When can it be? If you have a prod app which someone can hammer repeatedly hoping to guess ASLRed location of something. Now, with this vulnerability, they need only 64k tries on average instead of 128k tries. But if you do not notice your prod app crashing 64k times in close succession, you have other issues :)

<comment><USER3> The question one needs to ask is not whether you will notice, but whether you will notice before it is too late.

<comment><USER2> Well, if you do not notice 64k prod crashes, you will probably miss 128k as well, thus ASLR won't save you anyways. :)

<comment><USER3> Every mistake that people find that decreases entropy has a multiplicative effect, and some of this reduction can take place due to happenstance inside of the application: maybe you can leak a couple bytes off the stack somewhere, which lets you decrease the entropy further. That said, "search space is twice as large" is by itself "big": maybe you'd notice every day, but wouldn't notice every 12 hours, or you'd notice every week, but not notice every few days.

<comment><USER2> fair

</comment></comment></comment></comment></comment><comment><USER4> "Reducing entropy by half" sounds severe, but given that the actual values are being reduced from 262144 to 131072, which are either very small or very large numbers depending on the situation, what's the practical impact of this weakness?

<comment><USER5> "Reducing entropy by one bit" doesn't sound nearly a good, does it?</comment></comment>


Show HN: Solid side income from market inefficiencies - <AUTHOR> https://flippiness.com/

<comment><AUTHOR> I happen to be the creator as well, so feel free to ask me any question you may have. Tech, business, traffic or anything.

</comment><comment><USER2> How does this work for people living say in Sri Lanka (me)? What do I do with the shipping costs that would usually be astronomical? Or is this not feasible for someone living here? Or am I just not getting something?

Thanks :). Also, kudos on this. Seems like a pretty sweet idea if it takes off.

<comment><AUTHOR> It is only for US residents at the moment. We are working on opening it to people in other countries soon.

</comment></comment><comment><USER3> I like this a lot. I thought about doing something similar for used cell phones, where you could find price discrepancies between Craigslist, eBay, Amazon, and some others.

<comment><AUTHOR> Thank you for kind words.

That is where we are planning to extend this. Also, eBay and Amazon dropshipping are a good target for this.

</comment></comment><comment><USER4> What is to stop the this arbitrage being driven down to third world income levels by something like mechanical turk?

<comment><AUTHOR> I like how you think :).

You need to get the book shipped to your place first and then you need to ship it to the buying website. You will need to get involved at one point.

If you hire someone from US to do this, they will start flipping books themselves leaving you.

<comment><USER4> >You need to get the book shipped to your place first and then you need to ship it to the buying website.

Why not just have Site A ship to the end customer directly?

<comment><AUTHOR> You need to swap the labels. The buying site gives you a label to put on the box so that they can keep track of who sent what.

Also, some sites like chegg send Red Bull, Starbucks or even cosmetics in the box that you would want to keep.

</comment></comment></comment></comment><comment><USER5> why not use book scouter to get the best buyback/sell price, and bigwords.com to get the lowest buy price?

<comment><AUTHOR> Are you suggesting that Flippiness should use those services or are you saying that a person can use those services for free without paying?

If latter, yes we could use those but we don't know how frequently they update their prices. If there is a mismatch between their prices and source prices, our data will be inaccurate. We get prices continuously in a cycle for all books that we have (almost a Million). This ensures we remove stale records.

If you meant Former, the issue is a person can't manually check prices for a lot of books every day. Even if they did it will cost them more timewise than our membership dues.

</comment></comment><comment><USER6> why not just do this trade yourself and keep all the money?

<comment><AUTHOR> This is a valid point. The reason is that there is a manual process of getting the book shipped and then shipping it. This cannot scale very well. I can may be trade 50 books a day but that is the upper limit. I don't want to invest too much time into something that can't scale. By opening it up to the world with a monthly membership, I can take a vacation and still make money from this.

Does that sound good enough?

<comment><USER7> Who takes the risk of buyers not paying and sellers not delivering? What about the risk of prices changing in the middle of a flip? I'm afraid I know the answer already...

<comment><AUTHOR> Since you are buying and selling from/to businesses instead of people, there is a low chance of things going wrong.

You sell the book first and get a quote. The quote is good for at least a week and in a decent number of cases for 30 days. As long as you can get the book shipped to you within that time period and ship it to the buying website, you should be good.

I understand the skepticism and that is why we have the free plan to test it out at low level.</comment></comment></comment></comment>


Bill Joy – The Open System Imperative [Video][1987] - <AUTHOR> <comment><AUTHOR> Bill Joy predicts:

Unix rewritten in C++

Overall however its remarkably how well he saw the future.</comment>


Elixir v0.3 released: Method dispatching and charming syntax for the Erlang VM - <AUTHOR> http://blog.plataformatec.com.br/2011/06/elixir-v0-3-0-released/

<comment><USER2> A different syntax on top of Erlang VM? That sounds awesome. Syntax seems to be the number of critique of Erlang. Hope they don't drop many language features.

</comment><comment><USER3> > 2011-01-09 First commit.

Wow, that's a lot of effort in a small amount of time. Nice work!

</comment><comment><USER4> Anyone know how this compares or differs to Reia, another attempt at Ruby-like syntax on Erlang?

<comment><USER5> Somebody please correct me if I'm wrong, as I'm still reading the readme and the code, but I think Elixir is closer to Erlang (the language) intents, being immutable and 'more functional'. Reia has some object-orientation built in, with stateful objects and "types" that mix data and code.

Here's a very good blog post by Reia's author talking about the 'non-Erlang' things in Reia: [http://www.unlimitednovelty.com/2009/03/is-reia-object- orien...](http://www.unlimitednovelty.com/2009/03/is-reia-object-oriented- language-joe.html)

I personally think that they're both amazing from what I've been seeing. I gotta dive-in more and do some tests, but it will be a joy to see Erlang getting more adopters. :D

</comment></comment><comment><USER6> test cases run in parallel? neat.</comment>


Amazon will reportedly sell software that reads medical records - <AUTHOR> https://www.theverge.com/2018/11/27/18115077/amazon-electronic-health-records-software-text-analysis-medical <comment><USER2> Not the problem that needs to be addressed. But, glad to see that there is some kind of movement in the medical industry.</comment>


Is C++ context-free or context-sensitive? - <AUTHOR> http://stackoverflow.com/questions/14589346/is-c-context-free-or-context-sensitive <comment><USER2> It seems to me that the real issue is not mentioned by the original question. Yes, "a b(c);" has ambiguous semantics; its interpretation depends on whether c is a type. But such ambiguity is not a matter of syntactic correctness.

However, in a function prototype, we can name the parameters. Thus,

      a b(c x);

is syntactically correct C++ if c is a type, but _not if it isn't_. A correct grammar for C++ must deal with this issue, which cannot be settled by a CFG.

Also, a couple of notes.

(1) "Context-sensitive" does not mean "not context-free". In fact, strictly speaking, every context-free grammar is a context-sensitive grammar. And there are grammars that are neither. So the original question should really be restated.

(2) The long answer makes a very important point:

> ... the standard does not attempt to provide a complete formal grammar, and > ... it chooses to write some of the parsing rules in technical English.

> What looks like a formal grammar in the C++ standard is not the complete > formal definition of the syntax of the C++ language.

<comment><USER3> Correct me if I'm wrong here but isn't that exactly the line between syntax and semantics? I'd think that

        a b(c x);

is _syntactically_ correct C++ but still not valid C++ code (as in: a well defined line of C++). As far as I know, syntax doesn't depend on whether a type or an identifier or whatever actually exists.

<comment><USER4> No; if "c" is not a type, then there are no grammar rules which will allow you to produce that statement. So, as you parse that text, when you get to "c", you have to ask, "Is 'c' a type?" The answer you get will determine which subsequent grammar rules you apply. That context - having to know something about "c" that was described elsewhere - isn't technically semantics. It's an assertion just that "c" appeared elsewhere in the text, and when we parsed it, it was in a particular location in the grammer (which just so happens to mean it is a _type_ \- but the parser doesn't need to know what that _means_ ).

An example of syntactically correct, but semantically undefined code is:

      *(static_cast<int*>(NULL)) = 42;

The difference between here and above is that there is nothing in the grammar that can tell you "this is an error". It's only an error because of the _semantics_ that we've given to the operations.

</comment></comment></comment><comment><USER5> C++ is absolutely not context-free. It is probably in fact the worst and is "undecidable". <http://yosefk.com/c++fqa/defective.html#defect-2> Compiler writers have to use heuristics to sort out the all the ambiguities and cross their fingers they are correct.

Lua might be context-free. I forgot how to do rigorous proofs. But is one of the cleanest and most elegant languages ever made. See the complete (tiny) syntax of Lua in extended BNF at the very bottom of the manual. <http://www.lua.org/manual/5.2/manual.html>

<comment><USER6> Afaik both Lua and Python are context-free.

<comment><USER7> How would you implement Lua's long-string syntax in a context-free grammar?

        str = [==[foo]bar]=]baz]==]

Been trying to puzzle this one out.

</comment></comment></comment><comment><USER8> I don't think any commonly used language has a truly context-free grammar (including Lisp, actually, though Lisp's deviations are both minor and straightforward). That said, Lisp and Go are the two that come the closest, in my recollection.

We actually had this discussion on #go-nuts a few weeks ago - part of the confusion stems from the fact that most language compilers enforce requirements that aren't covered by the parser. In other words, a parser oftentimes accepts (fails to reject) invalid strings.

Easy examples of requirements that violate context-freedom are the requirement that variables be declared before use, or the inability to divide an integer literal by 0. (The latter is a compiler error in Go[0] - I'm not sure about C++, but I know the former is a requirement in both languages).

Finally, we should make a distinction - even if the set of valid programs _could_ be described perfectly by a context-free grammar (and therefore implemented by a pushdown automaton), chances are the actual parser for the language's compiler _doesn't_ implement the full set of rules, which again reinforces the point that most parsers are biased in their outcome (biased in favor of accepting potentially invalid strings).

> If you look up the definition of context-free languages, it will basically > tell you that all grammar rules must have left-hand sides that consist of > exactly one non-terminal symbol

That's not exactly true - one can rewrite (normalize) a context-free grammar into this form, but CFGs are often written in an "unnormalized" form which has multiple nonterminal symbols, because it tends to be clearer to read in many cases.

[0] As demonstrated here, the compiler will actually reject the division-by- zero at compile-time: <http://play.golang.org/p/3gwDeaoiM2>

<comment><USER9> I think you are conflating the grammar checking of a language with all the checks done in other compilation phases.

For example, in a context free language, if "A : B;" is a variable declaration, A is always a type and B is always a variable name. In the expression "C = C + 1", C would always be a variable name even if C has not been declared. In this case the error will be detected in the next compilation phase but not during grammar checking.

In the same ways all type checking are done after grammar checking.

For example :

        int i = "iyi";

is a valid line for C++ grammar but invalid for the type checker.

<comment><USER10> > I think you are conflating the grammar checking of a language with all the > checks done in other compilation phases.

The main ppoint is that for some languages those two kinds of checks can not be easily separated. The top answer to the linked question demonstrates that for C++. It occurs that in C++ typen<1>() can be either parsed as a template istantiation or not-parsed (i.e. producing a syntax error) as (typen < 1)>().

The syntactical correctness of this expression depends on the result of evaluation of a fine piece of template metaprogramming - there must be more than one grammar checking phase, each one dependent on the evaluation of the previous one. This gives a good hint on why C++ compile times are sometimes so huge.

</comment></comment></comment><comment><USER11> Best comment on SO was from jpalecek, who observed that the requirement that variables be declared prevents the language from being context-free. Of course that requirement is not enforced in the parser, so you might not care about it.

</comment><comment><USER12> Can I reply with another question: why does it matter? I mean, even if C++ _were_ context-free, that does not make it any better or worse of a language. It certainly does not alleviate the fact that the best-case number of passes required to compile C++ code is (if I'm not mistaken) 3 all the way up to 6 for proper optimization.

(Note: I love C++. But that doesn't take away from the fact that's one of the worst languages to parse and compile.)

</comment><comment><USER13> As pointed out in Dan's answer, the phrase "grammar of a programming language" is not well-defined. Even "syntax of a programming language" is not well- defined.

Until someone defines those terms accurately, trying to answer the question is a waste of time.

</comment><comment><USER14> "I wish more titles were that Google-friendly."

I agree that this specific case is google-friendly, but many SO and HN posts are not. In general, how does one construct a google-friendly title?

<comment><USER15> "Problem with my Python" is not google friendly.

"Why does my division produce an integer in Python" is google friendly.

Essentially, you should be able to work out the rough content of a question based on its title. I'm sure there's some irony about context and grammars hidden in this response.</comment></comment>


RIAA Wants To Shutter Torrent Sites, And More - <AUTHOR> http://torrentfreak.com/riaa-wants-to-shutter-torrent-sites-and-more-111116/

<comment><USER3> "RIAA members are excited about the potential of the internet and other communication technologies to provide an efficient means of distribution to music lovers globally. Regrettably, this potential remains largely unrealized—mired in a morass of piracy," the letter addressed to the USTR reads.

Wow, these guys are lying through their teeth. You can now legally listen to music using an ever-increasing number of services services like iTunes, Spotify, Pandora, and Amazon. The large majority of the people I know use these services, along with CDs and FM radio, to listen to music. Only my most technically adept friends care to pirate music.

<comment><USER4> The point isn't whether those services are legal or not. The RIAA fails to accept the fact that the internet has made middlemen (gatekeepers) utterly obsolete. The internet doesn't "have the potential" to be a an efficient means of distributing digital data - it's the whole point of the net in the first place.

The RIAA wants the advantages of the net without having to deal with the consequences (namely, being obsolete), which is laughable, not to mention futile. I hope they'll be out of business soon so we can look back at their stupid whining in a few decades and heartily laugh at the faint memory of copyright while we freely access the shared knowledge, culture and information of mankind.

<comment><USER5> They remind me of AOL but at a bigger scale. They are trying to do everything they can to keep their ship from sinking. The fact that they seem like they could be successful is worrying.

When AOL started to shrink/die it started doing really shady things to keep users from switching internet providers [1]. One of the most insidious ones was how they would screw with a user's computer so that they would not be able to switch internet providers [2].

The fact that RIAA is trying to cripple the internet as a whole tells me that the beast is desperate and dying. It knows that its death is near and as a last bid for survival has gone for broke. If we can just keep it at bay for a few more years it will probably finally die.

[1]<http://en.wikipedia.org/wiki/AOL#Controversies> [2]<http://www.gcginc.com/cases/pdf/AOL/AOLNotice.pdf>

</comment></comment></comment><comment><USER6> What the RIAA wants is to make the internet a transmission medium and not an exchange medium. That's all they've ever wanted (except at first, when the figured they already had a perfectly good transmission medium and wished the internet would go away).

They'll work as hard as they can for as long as they can (or exist) to make this true. Nothing else done in service to this goal should come as surprise anymore.

<comment><USER7> I agree. Now if only they'd cease to exist, that'd be glorious.

<comment><USER8> This is hard, because I think that there are few sound recordings that are out of copyright and the way things have been going, I don't expect that to change any time soon.

That said, I wonder what one could manage if they could dig up a bunch of old public domain scores and start turning them into MIDIs or something. Actually, I thought I heard about some guy who was doing that, but with an actual orchestra. I wonder how that's going?

</comment></comment></comment><comment><USER9> I feel strange when I read such posts. USA was supposed to be the poster child for freedom and liberty. It seems like that position has changed. As unfortunate as RIAA loosing millions of potential dollars is, its worse that the only country which supported all forms of freedom is now debating whether it should cut the viens of the free digital world or not.

<comment> muuh-gnu > As unfortunate as RIAA loosing millions of potential dollars is

Why should it be? Somebody else will get those dollars, nothing is lost.

<comment><USER10> I agree with your sentiment but this is really not a convincing argument. You could say the same thing about common thievery, don't worry about all those people stealing TVs from stores, that just means the people who would have bought those tvs will have more money to spend on other things!

<comment><USER4> That's a strawman. Theft involves actual loss for someone, and piracy - <USER2> the I-lost-count-after-the-first-three-hundred-and-sixty-four-thousand-times - is _not_ theft, it's an infringement against a nonsensical law. All the RIAA and their clients are claiming is lost profits, which is major bullshit.

To pick your analogy, they are complaining that nobody is buying their TVs because a competitor building better and cheaper TVs has appeared, and demand that competitor be shut down to save their business model.

<comment><USER10> I wasn't defending antipiracy law, I was pointing out that the argument as written was completely wrong and pointless. You then say "BUT NO IT'S ACTUALLY DIFFERENT BECAUSE OF X" where reason X is completely not mentioned in the original post.

I guess I should have been more explicit; I agree with your conclusion but the argument was not the right and wouldn't convince anyone. It's like someone saying that Leprechauns aren't real because they know Lucky Charms commercials are CG; sure, but that's not why Leprechauns aren't real.

> To pick your analogy

Actually if you are going to say that, the analogy is that a competitor is building cheaper tvs that are otherwise exactly the same as your tvs, and they are already breaking the law to do so, but the law isn't really effective at stopping them from doing so. If you put it that way, it actually sounds awful.

</comment></comment></comment></comment></comment><comment><USER11> RIP Internet. 1960 - 2011. Freedom had a good run. Please enter your credit card info to access this restricted webpage.

Facebook surcharge: $.33

YouTube access: $2.51

Priemium internet package: $55.99

Super delux (fewer roadblocks) internet: $99.99

Establishing ownership of the internet is quite a prize. I wonder how much it is worth? Probably wont be long until the big content makers slice and dice and monitize the internet until it has a content payment plan delimited in links clicked and actions performed and content viewed/downloaded.

<comment><USER12> I'd be surprised if you suddenly got upfront charges for everything, stuff seems to be moving away from this.

A more likely conspiracy theory is that you access everything through some giant corporate proxy that is free at the point of use (which will not allow access to anything that goes against their corporate policy) but it will track every action you take on your computer and sell this data to anyone with a few $.

</comment></comment><comment><USER13> I'm no SOPA fan to say the least but is this a surprise? Of _course_ they want to shut down torrent sites. That list was probably verbatim a list of people's "Torrent" folder in their browser's bookmarks.

The Internet should be free and there are many out there trying to limit the freedom we've come to enjoy and it really is a terrible thing. But let's get real here. These sites are total copyright infringers. There's no two ways about it. I admit I use them to get music and movies like the next guy but it's still not all kosher. They really are just trying to save their business which is looking more doomed each day. I almost feel like people who believe that the big corporations are trying to take freedom away are tinfoil hat sport conspiracy theorists. It's simple really. Online sharing is cutting hugely into profits so they want to stop it. They've found a way to do that but unfortunately that way has a lot of unintended side effects.

I'll probably be labelled an RIAA sympathizer but I'm really not. I'm like all of you. I want to keep the freedoms the Internet affords us. I'm just looking at this realistically. BitTorrent and p2p protocols have their legitimate uses but shutting down the outlets that give us access is the only way the RIAA sees they can stop piracy. It sucks.

If only the RIAA would invest as much time and energy into developing something that could make piracy obsolete or some process thats a better option for obtaining copyrighted material as they do in filing law suits and supporting SOPA we could keep the freedom. But let's not pretend that getting music and movies through torrent sites is on the up and up. It's one thing to share with your friends but this basically large scale black market distribution.

</comment><comment><USER11> Big content providers need to be cut into tiny warring factions, not given executive power over what can and cant exist on their internet. Bust those trusts like Roosevelt did. Have riaa combat itself, not the fabric of the internet itself.</comment>


Show HN: Antelope, free iOS adblocker - <AUTHOR> http://getantelope.com/ <comment><AUTHOR> Hey, project creator here -- been working on this with some friends as a side project. It's a free, open-source adblocker, and it's based on EasyList / EasyPrivacy. It doesn't have 'acceptable ads.'

Hoping to add user-controlled whitelisting soon. Would love feedback on app design / setup flow / any constructive thoughts!</comment>


Unsupervised joke generation from big data - <AUTHOR> http://www.acl2013.org/site/short/2197.html <comment><USER2> The last time automated joke generation was discussed on HN, I learned that a large, or at least vocal, amount of people consider it to the be responsibility of anybody running automatic joke generation software to supervise the software to ensure that no truly offensive jokes are inadvertently generated.

I don't agree that such a responsibility exists, but it is probably worth keeping in mind that others do if you are interested in surfacing computer generated content like this. _I_ would be wary of surfacing it without some form of auditing.

<comment><USER3> interesting ethical question - one is supposedly responsible for behavior of his automated tool/robot. If that automated tool is able to build and initiate execution of another, more complex (well big "if" of course here) automated tool ... at what level of complexity of separation the original responsibility ends, if any.

<comment><USER4> How would you even build a bot to build a joke-bot? Genetic algorithms?

<comment> peter-fogg Chances are any genetic algorithm would be impractical due to the necessity of using a human as a fitness function. Unless you could create a neural network to classify jokes as funny or not... which immediately suggests to me an AI version of that standup comedy competition. Hm; maybe I have a new side project.

<comment><USER4> I hate to say this, but South Park Did It. It resulted in a comedic Dalek.

</comment></comment></comment></comment></comment><comment><USER5> Link to actual paper: [http://homepages.inf.ed.ac.uk/s0894589/petrovic13unsupervise...](http://homepages.inf.ed.ac.uk/s0894589/petrovic13unsupervised.pdf)

<comment><USER6> I enjoyed their creative abbreviation of terms part-of-speech (POS), local log-likelihood (LOL) and Rank of likelihood (ROFL)!

<comment><USER7> POS is a standard abbreviation for part-of-speech, but I assume the others aren't ;)

</comment></comment></comment><comment><USER8> I am writing a bot to play Cards Against Humanity.

One trick to know if a sentence is funny or controversial that works quite well: Simply have the bot post it in an IRC channel or chat-room and count the number of responses it elicits (and give extra weight to words like "lol").

The more people fail the Turing-test, the funnier/controversial the statement.

<comment><USER9> Anecdotal, but I've found that if you play one player 'at random' where you simply draw and play the card unseen, that random player tends to do pretty well and even win a significant number of times.

I think what this draws on is the tendency of humans to interpret unexpected statements which shift out understanding as humorous. (Joke setup which leads me to expect punchline x, but what instead what follows is y.)

<comment><USER10> I was thinking this same thing. Hell, Family Guy is practically written on this algorithm (South Park nailed it).

</comment></comment></comment><comment><AUTHOR> Edit: The actual paper: [http://homepages.inf.ed.ac.uk/s0894589/petrovic13unsupervise...](http://homepages.inf.ed.ac.uk/s0894589/petrovic13unsupervised.pdf) (thanks to jaryd - I was certain the page on acl2013.org linked to it last time I checked...)

\---

I like my papers like I like my women - in LaTeX.

(I realise that doesn't fit the rules set down in the paper... or those here on HN to survive title-moderation ;-) )

More from the Register: [http://www.theregister.co.uk/2013/08/02/heard_the_one_about/](http://www.theregister.co.uk/2013/08/02/heard_the_one_about/)

And here's how the Scotsman covered it (around the start of the Edinburgh festival): [http://www.scotsman.com/the- scotsman-2-7475/scotland/scienti...](http://www.scotsman.com/the- scotsman-2-7475/scotland/scientists-create-computer-program-to-make- jokes-1-3028557)

</comment><comment><USER11> "I like my relationships like I like my source, open

I like my coffee like I like my war, cold

I like my boys like I like my sectors, bad"

These are the _funny_ jokes. Enthusiasm tempered.

<comment><USER12> Their joke model misses one thing: each noun has to be commonly used in the phrase "I like my <noun> <adj>". People often say "I like my coffee black" but nobody ever says "I like my source open." I think that is why they sound weird. But I like the off-kilter unexptectedness.

<comment><USER13> For jokes in this pattern, there's a somewhat more hard-coded twitter bot that I think does a better job: [https://twitter.com/ilikelikeilike](https://twitter.com/ilikelikeilike)

It does jokes of the form "I like my <noun1> like I like my <noun2>: <adj>, <adj>, [and not] <adj>".

noun1 is taken from a hand-coded list (hookups, fellas, lovers, spouses, etc.). noun2 is chosen randomly. Then the adjectives are just the top three adjectives found preceding noun2 in a corpus.

So for example,

        I like my men like I like my banking: inefficient, shadow, not shady.

'men' was chosen from the hard-coded list. 'banking' was just a random noun. "inefficient banking", "shadow banking", and "shady banking" are common phrases in the corpus, so those three adjectives were chosen.

<comment><USER14> Two plugs in the same thread, come on!

</comment></comment></comment></comment><comment><USER15> If you want a steady stream of this kind of thing, check out the following twitter bot: [https://twitter.com/ilikelikeilike](https://twitter.com/ilikelikeilike)

Darius Kazemi writes a lot of twitter bots and I find @AmIRiteBot pretty funny (if only in a it's so bad it's good way): [https://twitter.com/amiritebot](https://twitter.com/amiritebot)

For example: #YouDontKnowWhatStruggleIsIf? More like You Dont Know What Snuggle Is If, amirite?

<comment><USER16> Some of these are pretty hilarious, in a non sequitur kind of way:

> I like my hook-ups like I like my dignity: immense, quiet, and not human.

</comment></comment><comment><USER17> This type of a joke is a snowclone. See also,

[http://en.wikipedia.org/wiki/Snowclone](http://en.wikipedia.org/wiki/Snowclone)

[http://snowclones.org/](http://snowclones.org/)

</comment><comment><USER18> I considered working on this once. Especially "comeback" generation. If you look at the comments (or replies to comments) on 9GAG, most of them are pretty generic and follow some basic rules. I figure even a computer can learn to make them.

<comment><USER19> Well, you certainly set your sights high.

<comment><USER20> This provides a possible source for inspiration: Perhaps 9gag is not actually full of dumb people, but of dumb bots.

Faith in humanity restored?

If only it were so easy.

</comment></comment></comment><comment><USER21> The MT Summit's Program contains an eye-catcher as well: Modeling Hip Hop Challenge-Response Lyrics as Machine Translation ([http://www.mtsummit2013.info/programme.asp](http://www.mtsummit2013.info/programme.asp))

</comment><comment><USER22> Isn't this how the AI in The Moon is a Harsh Mistress gets started?

<comment><USER23> I'm glad someone mentioned this!

</comment></comment><comment><USER24> I heard a story on NPR about an IBM research group developing an AI system to generate new recipes. The system analyzed existing recipes and knew about the biochemistry of human taste. I can't find an online reference.

<comment><USER25> [http://spectrum.ieee.org/computing/software/creating- recipes...](http://spectrum.ieee.org/computing/software/creating-recipes-with- artificial-intelligence) (for me, that was Google's top link for 'ibm ai recipe generation')

And it comes with a joke in the comments:

      Q: So, what would I use my supercomputer for?
      A: Well . . . , you could keep your recipes on there.

[for those too young to know: putting your recipes in a database was _the_ example mentioned when people asked what they could use a home computer for. Utterly impractical, as loading your 20 recipes from cassette would take ages a d would exhaust your computer's memory. Also, nobody had a television in the kitchen, and you needed one to use that home computer]

<comment><USER24> Thanks! The "ai" keyword was the key. I had tried "ibm recipe generation" and "ibm recipe generator", but the results were just links about WSDL or PRNGs. :)

</comment></comment></comment><comment><USER26> 33% might be a bit generous for humans.

</comment><comment><USER27> I've been interested in something like this ever since I saw Monty Python's The Funniest Joke in the World [1]. Tldr, it's a joke so funny, that it literally kills you after you hear it. I wonder what to what limit a humor generation algorithm could diverge. Could it be a joke funnier than anything anybody's ever seen?

[1] [http://www.youtube.com/watch?v=8gpjk_MaCGM](http://www.youtube.com/watch?v=8gpjk_MaCGM)

</comment><comment><USER28> I like this part:

"This Rank OF Likelihood (ROFL)"

</comment><comment><USER29> Truly Ig Nobel Prize worthy.

</comment><comment><USER30> They chose not to put an example joke in the abstract?

<comment><USER31> I suppose it's hard enough to be taken seriously when your research topic is jokes.

</comment></comment><comment><USER3> i wonder did anybody try the same for HN comments? what would be the karma?

<comment><USER28> I wrote a Markov Chain HN comment generator a few months ago. I'd say a solid 70% of them were pretty funny.

<comment><USER3> there seems to be a market coming soon for such software - on one side government and politicians need to push their propaganda domestically and internationally through web2.0 and social media channels, on the other side ordinary people may soon want to have artificial realistic chatter generation tools as a way to increase chances of preserving privacy of their communications.

</comment></comment></comment><comment><USER32> Content like this is what makes HN great. Very interesting read.

</comment><comment><USER33> In Soviet Russia, unsupervised jokes generate big data !

</comment><comment><USER34> This just in! Computers have no sense of humor! ;)

</comment><comment><USER35> I would love to look at the code behind this work.

</comment><comment><USER36> Can't we just study @Horse_ebooks?

<comment><USER37> Most twitter bots use Markov chains

<comment><USER38> @scuzzlebot uses them... by the fact that he is an implementation of MegaHAL ([http://megahal.alioth.debian.org/](http://megahal.alioth.debian.org/)).

He's out of order right now. I plan to fix him when I've got time. For a while he ended up tweeting tons of nonsense with no spaces between words... my fault. Anyway I will fix him up again soon, but hope to (in my copious free time HAHAHAHAH) redo him in a more exciting way.

</comment></comment></comment><comment><USER39> I fail to see the humor in this.

</comment><comment><USER40> "Humor generation is a very hard problem"

That was funny! see its not that hard.

</comment><comment><USER41> we must apply these to memes IMMEDIATELY!

</comment><comment><USER42> Funnybot online...AWKWARD!!

On a more serious note, it's a nice, albeit kind of low on benefit/cost, application for Big Data.</comment>


Stories I share with my nephews, so they take risks and follow their curiosity - <AUTHOR> https://stopa.io/post/228 <comment><USER2> I liked the post overall, but story # 1, taken to an extreme is basically lottery tickets.

I understand that this was for the OP's nephews, but to actually apply it in practice, you need at least a rough sense of expected value, whether the "games" are iterated or one-shot, and opportunity costs.

<comment><USER3> I also disliked it. Both of them actually.

For story 1, the expected value of game 2 is like $100,000. A kid might not be able to calculate it, but it's obviously a good deal. So obvious that, when the bad part of the story is that other people think you're dumb, it just comes across that your detractors are then dumb ones because it's obviously a good decision. It's awkwardly trying to mix a lesson about shrugging off irrelevant social consequences with a lesson about expected outcome being different than the most likely outcome.

Story 2... I just don't think the premise is all that interesting. As a former high school track captain who didn't work all that hard to get there, I'd think it was vastly more impressive to give a speech at the United Nations. The lesson is fine, but the reasoning feels weak.

</comment></comment><comment><USER4> You are teaching your nephews to be greedy and to value individual ambition over everything else. In other words, encouraging them to internalize the values of the society in which they live.

This is not very bold or novel, but rather ordinary.

Given all the problems that are coming to light in societies that have have taken individualism to absurd and self-defeating extremes, this is exactly the opposite of what is required if these places are to avoid collapsing into failed states, technocratic dictatorships or banana republics run by and for delusional oligarchs.

<comment><USER5> That's a very ungenerous take on that blog post.

</comment></comment><comment><USER6> I'll definitely re-read this in the future. Thank you.</comment>


Cost of Motorola - <AUTHOR> http://www.bonkersworld.net/cost-of-motorola/

<comment><USER2> Nice comic, but, to be fair, the headline cost of Google's Motorola acquisition is misleading. Between Motorola's cash-on-hand and "tax assets" (losses Google can deduct, IIRC) Google should be able to shave several billion off of the headline price (I've seen varying estimates of exactly how much, but it is substantial).

The effective cost of the acquisition is still a lot of money, just not quite as much as most people think.</comment>


'Artificial leaf' concept inspires research into solar-powered fuel production - <AUTHOR> https://phys.org/news/2020-05-water-splitting-module-source-perpetual-energy.html <comment><USER2> What's the efficiency of using actual plants to produce fuel? Either through refining e.g. corn oil directly or using plants to feed bacteria that produce a fuel. That's a carbon neutral way to convert sunlight to fuel.

<comment><USER3> Algae and Cyanobacteria tend to be substantially more efficient than whole plants (6-8% [1]). There are some caveats though. Generally the industry has found it hard to grow algae at commercial scale cost-effectively for several reasons including (but not limited to):

\- Contamination by outside organism kills your algal culture

\- If you create a closed system, the algae will stick to the glass, fouling the surface and reducing light transmission

\- Extraction of materials from the algae is hard, you end up with a lot of water weight you need to get rid of somehow

There are also some counterintuitive aspects in that apparently dropping the efficiency of the antennae (light collection) actually makes the overall culture more productive because excess light makes it past the initial cell layer and therefore other cells can benefit from the light. Otherwise the initial cells grab all the light they can, and waste whatever light energy they don't need.

I think it's an interesting field, but so far it's been a hard road to make it actually work at scale cost effectively.

[1] [https://www.sciencedirect.com/topics/chemistry/photosyntheti...](https://www.sciencedirect.com/topics/chemistry/photosynthetic- efficiency)

<comment><USER4> I worked on phycology for an algae biofuels startup for the better part of a year.

Just chiming in to say that this is a good post, and I don't even have much to add to it.

I quit once I realized that paving over desert ecosystems with huge raceway ponds filled with glyphosate, wasn't solving any problem I wanted solved.

<comment><USER5> If we don't switch fuels, there will soon be no shortage of desert ecosystems no matter how many we pave over...

<comment><USER6> I don't want to speak for anyone else, but the point might have been that there may be other ways to get energy which accomplish the goal without requiring that sacrifice.

<comment><USER4> Correct, and while I work on developer tools these days, I had a satisfying stint at a battery-analytics company after transitioning to software development.

</comment></comment></comment></comment></comment></comment><comment><USER7> _" Rice University researchers have created an efficient, low-cost device that splits water to produce hydrogen fuel."_

We've heard that one before.

 _" The platform developed by the Brown School of Engineering lab of Rice materials scientist Jun Lou integrates catalytic electrodes and perovskite solar cells that, when triggered by sunlight, produce electricity. The current flows to the catalysts that turn water into hydrogen and oxygen, with a sunlight-to-hydrogen efficiency as high as 6.7%."_

OK. things like that have been built before. The usual problems:

\- Costs too much.

\- System only works for a while before filling up with crud from the water. (This is also a big problem with fuel cells.)

\- Sunlight to hydrogen to fuel cells to electricity is _far_ less efficient than solar cells.

<comment><USER8> There _are_ a lot of industrial processes that need hydrogen as an input, fertilizer production as possibly the most important. But yes, hydrogen to electricity is silly and I'm pretty skeptical of its use for vehicles too.

<comment><USER9> At these efficiencies (6%) it would be better to use PVC panels and use that electricity to make hydrogen.

</comment></comment></comment><comment><USER10> Just last week I was thinking we need solar cells wired up in a tree structure with batteries integrated into the tree so that we don't need to combine series and parallel or have the drawbacks of either. Is anybody doing that? I presume they would need to be connected with fluids, electrolyte in channels instead of with wires. Or have I just reinvented the tree?

<comment><USER11> What problem are you trying to solve?

<comment><USER10> That is always the most important question, isn't it?

I am looking at RV applications, thinking series would be ideal to reduce wiring cost, but just learned that a small patch on one panel of shade lowers current in the whole series, when wired that way. If there's some way they could be wired as a tree, with the high amperage portion of the circuit fairly short, that seems more efficient. But then I guess I have just reinvented the power grid... I'm talking about residential scale, though, or smaller.

<comment><USER11> So you're trying to connect an array of solar panels in series, such that shading one doesn't limit the current of the others. Isn't that normally solved using bypass diodes?

<comment><USER10> I guess you just solved my problem. This is a topic I'm just beginning to look into. Thank you.

But now I'm wondering why are panels made this way? I mean internally they're wired in series or at least substantially so. and I've read that shading a small portion of one panel will drastically reduce the output of that one panel. Is it possible to create a panel (e.g. nominally 12 volt system) with bypass diodes inside it? If so then why wouldn't they have been doing this all along?

</comment></comment></comment></comment></comment><comment><USER12> Interesting. It's a hydrogen generator.

As an alternative idea, is it possible to use a laser to break the bond between hydrogen and oxygen, in a water molecule, to release the hydrogen?

Kind of how a laser was used to cool atoms, by knocking off energetic electrons from the molecule. But this time, in reverse.

Asking for a laser physicist.

<comment><USER13> Interesting suggestion.

Lasers themselves would likely be inefficient. An LED emitting at a speficic frequency tuned to the H-O bond strength ... might ... work. First question is: what is that frequency, if it exists at all?</comment></comment>


Lockeed Martin network suffers security breach - <AUTHOR> http://www.nytimes.com/2011/05/28/business/28hack.html

<comment><USER2> Quick anecdote: About ten years ago I ran a prominent AOL hacking website called AOL-Files.com. AOL employees had admin rights tied to their screen names and the ones with the highest levels of access had to enter a SecurID token after they entered their normal account password. Since we were always trying to outdo each other, these high-level employees became a popular hacking targets.

Getting an employee's password and SecurID token was very difficult, as you can imagine. Most phishing attempts failed, but every now and then we found an employee who would enter their password and SecureID pin into a bogus website, which we then had forwarded to us so we could immediately log onto their screen name before the pin changed.

The most notable hack was when BMB, my co-founder, gained access to an account with keyword admin privileges. What this meant is that he could direct any keyword to any destination. He chose to redirect keyword "Welcome", which every AOL member is sent to when they sign on, to our website, aol-files.com. For a period of about half an hour, every single person who signed onto AOL was redirected to our AOL hacking website. We received over 100K hits in 30 minutes.

I've got an archive of AOL-Files up on my blog [1], which has lots more information about this hack and many others. Ah, memories...

[1] <http://www.mattmazur.com/archive/aol-files.html>

<comment><USER3> What's the betting the next knock on your door is the feds.

Don't you feel in the slightest bit worried by publicly talking about your antics?

<comment><USER4> Well, it was ten years ago.

</comment></comment></comment><comment><USER5> The RSA hack was used to clone the Lockheed VPN tokens (which means SecurID was junk crypto to begin with).

[http://www.reuters.com/article/2011/05/28/usa-defense- hacker...](http://www.reuters.com/article/2011/05/28/usa-defense-hackers- idUSN2717936920110528)

<comment><USER6> OK, it's clearly junk crypto, but do you know enough to explain exactly what went wrong?

I heard something about being able to generate private keys from the serial numbers of the tokens, but even if that's the case, you'd need to know what token/serial number you acutally care about. Not all users are going to have access to anything interesting.

<comment><USER7> FTA lawnchair_larry linked to:

He said the initial RSA attack was followed by malware and phishing campaigns seeking specific data that would link tokens to end-users, which meant the current attacks may have been carried out by the same hackers.

</comment></comment></comment><comment><USER8> Hmm. A couple days after the reports of Lockheed Martin becoming the first buyer of a commercial quantum computer:

[http://blogs.forbes.com/alexknapp/2011/05/25/d-wave-sells- qu...](http://blogs.forbes.com/alexknapp/2011/05/25/d-wave-sells-quantum- computer-to-lockheed-martin/)

Perhaps coincidence. Still, interesting.

<comment><USER9> Very likely a coincidence. D-Wave is a bit of a joke.

      Do you think the method is scaleable up to the 128 qubits that D-Wave is claiming?

      Well, there's no reason of principle why you couldn't scale to a larger
      number of qubits!  But given the history here, I'd be skeptical of
      claims by D-Wave to have done so already, and would want to see the
      evidence.  (As usual, the burden is on D-Wave to prove that they've done
      something, not on everyone else to prove that they haven't!)

      http://blogs.forbes.com/alexknapp/2011/05/24/q-and-a-with-prof-scott-aaronson-on-d-waves-quantum-computer/

<comment><USER10> Many times, the success of a project in a company large enough to buy and operate a D-Wave computer has more to do with the amount written in the check than with attaining measurable results. Success will be defined according to what was achieved and the worst possible outcome is the person responsible for the project accepting a position on the vendor.</comment></comment></comment>


Ask HN: What's the best way in 2018 to distribute a self-host web application? - <AUTHOR> If I was to launch a SAAS product with a self-host option, what would be the best way to distribute it to customers?<p>Examples of things I'm concerned about are ease of installation, ease of deploying updates, ease of scaling for customers... <comment><USER2> If your web app is not too complex.

I really like to build self contained binary in Go.

All the code compile to a single binary file without any external dependencies. I put all my static files (html, css, js, imgs) inside this binary file using "bindata". If I really need a database, I'll use sqlite as a default (this could be configured to something else).

For updates, if you do not compress the binary file (upx), you can make a binary patch with "bsdiff"/"bspatch" ([http://www.daemonology.net/bsdiff/](http://www.daemonology.net/bsdiff/)). There is a Go library to do it dynamically [https://github.com/kr/binarydist](https://github.com/kr/binarydist). So your app could be 50Mb, but updating it would be as simple as downloading a 400Kb patch and applying it (software can do it).

For schema migration, I like [https://github.com/rubenv/sql- migrate](https://github.com/rubenv/sql-migrate) which can be used as a library. Therefore, the migration can be part of the binary patch in an update.

So in the end, you only distribute a native executable file for whatever platform your customer is using.

</comment><comment> open-source-ux I asked a similar question on two occasions:

[https://news.ycombinator.com/item?id=16250959](https://news.ycombinator.com/item?id=16250959)

[https://news.ycombinator.com/item?id=14781420](https://news.ycombinator.com/item?id=14781420)

The short answer is that no, there is no simple way to get users to self-host your software. Perhaps developers prefer it that way? It certainly helps keep the SaaS model going.

Remember that what a developer deems 'simple' matches no known definition of the word amongst ordinary users.

</comment><comment><USER3> Take a look at how Koken handles their install routine. I found it very clean. You place a file in the root of your server, then load this in a browser. It checks permissions and technical requirements, then proceeds with the full download and installation if everything checks-out.

[http://koken.me/](http://koken.me/)

Updates are handled similarly -- the software alerts the admin to an available update within the admin console, and you can choose when to download and apply the patch.

</comment><comment><USER4> [https://www.packer.io/](https://www.packer.io/) \- allows you to create images for a lot of platforms.

</comment><comment><USER5> [https://devcenter.heroku.com/articles/heroku- button](https://devcenter.heroku.com/articles/heroku-button) is pretty good if you can "Heroku-ize" the product. Easy installation, updates, scaling for sure.

</comment><comment><USER6> Perhaps build Docker images??

<comment><USER6> I am assuming anyone who is going to self-host will be able to use Docker. Perhaps will need to look up some documentation. But maybe I am missing something, why would it not be good way to distribute SaaS app?

<comment><USER7> Your suggestion makes sense, and docker images + docker compose config maybe simplest way to provide self-hosted option for web app that is already exist as cloud service. We used this approach to enable self-hosted option for our BI tool (SeekTable), and it works perfect for us.

</comment></comment></comment><comment><USER8> use Amazon's AWS, Google Cloud, Microsoft Azure or DigitalOcean you can run one or more instance and pay per use. it is easy to scale if you need.

other option is some cheep VPS hosting (~50$/y) but later you maybe need to migrate everything.

<comment><AUTHOR> Sorry if I wasn't clear - I want to know how best to give software to others, so they can install it on their own machines.</comment></comment>


Farewell to the last EU country with no mosque - <AUTHOR> http://www.west-info.eu/farewell-to-the-last-eu-country-with-no-mosque/

<comment><USER2> That's great. I'm more surprised that there was an European country without a mosque!

I don't like the undertone of "farewell" and scare-quoted "conquered", which is implies we're losing something and muslims are taking over.

We have freedom of religion, and European citizens who believe in Islam, so there should be absolutely no problem in having mosques.

</comment><comment><USER3> AFAIK Greece has no mosque either (as in place of worship, not Ottoman relic)</comment>


3 JavaScript Performance Mistakes You Should Stop Doing - <AUTHOR> https://hackernoon.com/3-javascript-performance-mistakes-you-should-stop-doing-ebf84b9de951 <comment><USER2> I think that almost everybody knows that barebones loops are faster than their functional alternatives, but that doesn't mean that they're typically the right choice.

On client side code, for the vast majority of web applications, performance issues are going to come from asynchronous remote requests or inefficient change detection/recompute/redraw calls. If there really is some computation that is performance critical and the 5-10x performance gain is actually noticeable (it doesn't matter if it's 1000x performance gain if it takes 50ms), then this might be a good place to start.

With nodejs, similarly, almost all performance issues are typically going to be related to the management of asynchronous calls, i.e. not doing things concurrently where possible, poorly optimized database calls, etc.

Suggesting that writing code using functional syntax is a "mistake that you should stop doing" fails to recognize that the code is far more concise and self-documenting, and 99.9% of the time is being executed in a span of time in which a 10x performance gain is beyond imperceptible.

</comment><comment><USER3> A better/more honest title would be 'for loops faster than forEach'.</comment>


Ask HN: How does GoogleBot index content behind Paywalls? - <AUTHOR> <comment><USER2> There are exceptions implemented for refers or user agent (Google Bot) or Google IP range

How to check correctness of paywall implementation? [https://support.google.com/webmasters/thread/6647304?hl=en](https://support.google.com/webmasters/thread/6647304?hl=en)</comment>


Even Poor Countries Can Excel in Education | Co.Design - <AUTHOR> http://www.fastcodesign.com/1662376/infographic-of-the-day-even-poor-countries-can-excel-in-education <comment><USER2> Next question - does excelling in education make them less poor?

Everyone assumes this to be true, but I've seen very little hard evidence that this is the case.

</comment><comment><USER3> While there would seem to be some lower bound under which it would not be possible for a country to have any education at all, it would seem there is some upper bound beyond which it can afford a bureaucracy - and as such, poor countries actually have an advantage which makes up for the lower budgets.

<comment><USER4> Great point---Though there's also a way in which education gets tougher as your economy evolves. Educating kids to love computer science and engineering is obvs a lot harder than getting kids in school to learn basic literacy.

The productivity jumps that result from the latter are huge--but wondering if it's larger than the former? Might be there there's no increasing returns to scale as costs rise--even if the end benefits are vast.</comment></comment>


Android Isn't a Phone OS Because in the Future There Will Be No Phones - <AUTHOR> http://www.readwriteweb.com/archives/android_isnt_a_phone_os_because_in_the_future.php <comment><USER2> Voice will still be the main function of most of these devices. Sure there are geeks who use it as an Internet device first, phone second (or third) but the majority of 'regular' people still need and rely heavily on the phone.

I liken this "phones will die" debate to the TV/Internet debate. People love their TV, they love being slowly fed this passive style of entertainment and no matter what cool stuff we invent for the web, there will (for the foreseeable future) always be a audience for one-way TV programming.</comment>


NoSpoiler (Chrome extension) – Remove unwanted content using keywords - <AUTHOR> https://github.com/hieunc229/chrome-ext-nospoiler <comment><AUTHOR> Hey guys, in case you feel annoyed by spoilers or things you don't want to see. Try this extension (Chrome only)</comment>


Anonymous has chosen a new target - <AUTHOR> http://politics.slashdot.org/story/11/02/18/2336216/Anonymous-Goes-After-GodHatesFagscom#comments

<comment><USER2> What WBC does isn't so much the honest expression of a political viewpoint or even an ideology, as it is a refined business model - get in as many faces as possible over the most emotional possible issues (I mean, protesting at funerals?), and sue everybody for physical harassment if they so much as touch your sleeve.

They make good money at what they do.

<comment><USER3> I don't know if the goal is to make money or what, but it seems very obvious to me that they are coming up with the most vile things they can think of for the sake of getting a rise out of people.

I don't know why anyone would waste time arguing with them when they are clearly just looking for attention and may not even believe everything they're saying.

</comment></comment><comment><USER4> Ehh, I remember that site (godhatesfags.com) getting hacked on a weekly basis back in '99 - even recall someone stole ownership of the domain itself... That site deserved it every time and Westboro Baptist Church still deserve it for the despicable methods they use... believe in whatever you want, but be tactful in some way or another...

<comment><USER5> I remember him spamming my paintball newsgroup in 97. Even then it was considered newbish to acknowledge him.

</comment></comment><comment><USER6> Ironic that a supposed defender of free speech is doing this. Although I find Phelps abhorring, I still support his right to spout his ideology.

<comment><USER7> There's free speech, and there's hate speech.

<comment><USER8> What's always concerned me is that I don't know how to draw that line. Where do you put it?

<comment><USER9> Not knowing where to put the line, is a poor excuse for not drawing one.

Any boundary will be imperfect, but that does not mean we don't set boundaries.

Who decides what's too much? I do. And you do too. And we keep trying to get better at setting intelligent and fair boundaries.

</comment></comment></comment></comment><comment><USER3> Don't feed the trolls.

<comment><USER10> Phelps or Anonymous? :)

</comment></comment><comment><USER11> Westboro is obnoxious and vile, but they work within the law. Anonymous has declared war on free speech.

<comment><USER12> No, if anything they have declared war on a very specific _tactic_ : protesting at funerals.

There are well established limits on free speech, such as yelling "Fire!" in a crowded theater (Schenck v. US, 1919).

Pretend for a moment that we live in a world where the Schenck case never happened. A group (call them the "Eastboro Baptist Church") has started using the _tactic_ of running into movie theaters and yelling "FIRE!". After all the commotion, they spread their anti-gay message.

This "fire" ruse is starting to get on some people's nerves, so an online group (call them "NAMED") says that they are going to protest the Eastboro Baptist Church.

That's not a "declaration of war on free speech", it's an argument that shouting fire in a crowded theater does not deserve protection under the First Amendment.

Also, for anyone who isn't aware, the Supreme Court has already heard oral arguments (Snyder v Phelps) about whether these funeral protests are protected speech, and will issue an opinion at end of term in a few months.

<http://en.wikipedia.org/wiki/Schenck_v._United_States>

<http://en.wikipedia.org/wiki/Snyder_v._Phelps>

<comment><USER11> Schenck is an abomination of a case and clearly was decided on the side of fascism and repression of utterly harmless free speech.

The problem is that no one shouts fire in a crowded theatre, and anyone who did would rightly be indicted on a number of charges not pertaining to speech. The Schenck case had nothing whatsoever to do with theatres or people wrongly alerting theatre goers to a fire.

The metaphor was used by Oliver Wendell Holmes, Jr., who was an embarrassment to the country, to stop people from criticizing US involvement in WWI, claiming that criticism of US imperialism was identical to shouting fire, and was a clear and present danger, which is obvious bunk to everyone as it is not the same thing at all.

And here we are again. Someone is saying unpopular things and the reaction is to claim censorship is justified because there is a theatre that is not on fire somewhere.

Let me be very clear. There is no theatre. There is no fire. There is no one shouting fire in a theatre. And if there was someone shouting fire in a fireless theatre the result would be that the other patrons would tell the person yelling to shut up and sit down.

It is time to stop defending the abomination that is the Schenck decision and the lunatic that was Oliver Wendell Holmes Jr.

"It is better for all the world, if instead of waiting to execute degenerate offspring for crime or to let them starve for their imbecility, society can prevent those who are manifestly unfit from continuing their kind. The principle that sustains compulsory vaccination is broad enough to cover cutting the Fallopian tubes." - Oliver Wendell Holmes Jr., in Buck vs Bell, ruling that the government has a right to sterilize women against their will for the same reason the government has a right to vaccinate people against their will. The decision upheld Laughlin's Model Law, which was then used as a model document for the Law for Protection Against Genetically Defective Offspring, passed in 1933 in the German Republic, allowing forced sterilizations of those thought defective there as well.

</comment></comment></comment><comment><USER13> Is Anonymous teasing around the edges of the technological singularity?

[https://secure.wikimedia.org/wikipedia/en/wiki/Technological...](https://secure.wikimedia.org/wikipedia/en/wiki/Technological_singularity)

A suitable glitch soundtrack for such questions: <http://soundcloud.com/heyoka-1/heyoka-marklar-promo-mix>

<comment><USER14> I don't understand what the original site has to do with members of Anonymous uploading themselves into robots.

</comment></comment><comment><USER15> Wait, what? hackernews is linking to slashdot?

I'm having a Cobb moment...

<comment> mkr-hn Soon we'll have reddit linking to HN linking to slashdot linking to reddit and we can find out what happens when reality falls apart.

</comment></comment><comment><USER16> Trolls trolling trolls.</comment>


Disneyflix Is Coming - <AUTHOR> https://www.theatlantic.com/magazine/archive/2018/05/disneyflix-netflix/556895/?single_page=true <comment><USER2> I would think this would be less of a problem for Netflix and Amazon Video-- this is why they've been investing in native content--as it might be for cable companies, as more streaming choices for viewers means it becomes ever easier to cut cable tv services.</comment>


The Case for SSH over UDP - <AUTHOR> https://denisbider.blogspot.com/2019/06/the-case-for-ssh-over-udp.html <comment><USER2> How does this compare to MOSH? It's SSH over UDP. (Http://MOSH.org)</comment>


DRAM and flash prices have bottomed, starting to skyrocket - <AUTHOR> http://www.digitimes.com/news/a20090109PR201.html

<comment><AUTHOR> From the article:

 _An advent of a price rebound in both DRAM and NAND flash contract markets is finally unfolding, signifying that capacity cuts are proving to be the sole solution to reverse pricing, according to memory research firm inSpectrum. DRAM contract prices remained static and NAND flash contract prices posted a significant surge in the first half of January._

.

From the table at the bottom of the article:

      Spot price for mainstream DRAM and NAND flash chips, 2009 (US$)

      Date          NAND flash      1Gb DDR2-667/800

                    8Gb  16Gb       Branded  White box

      2008/12/08    1.11 1.78        0.60      0.59

      2009/01/08    1.88 2.51        0.85      0.98</comment>