Ruby adds experimental support for rightward assignments - <AUTHOR> https://blog.saeloun.com/2020/08/31/ruby-adds-experimental-rightward-assignment <comment><USER2> Ruby's parser is notoriously complex; if I remember correctly, only a few members of the core team even know how to maintain it without introducing regressions.

The craziest part of this is that Ruby does not provide a full featured Ruby parser, so its entire static and dynamic analysis ecosystem depends on a (actually very high quality) 3rd party parser, begrudgingly maintained by someone who (AFAIK) doesn't even write Ruby anymore: [https://github.com/whitequark/parser](https://github.com/whitequark/parser)

When I see new language features like this, I think of how Ruby's entire tooling ecosystem depends on the dramatically underfunded (and therefore primarily goodwill) efforts of high output maintainers like whitequark and a few others. Ruby's highly dynamic and untyped nature means these tools are all the non-runtime guarantees you can get, basically. Epitome of digital infrastructure.

Consider asking your company to fund some of these people:

* [https://github.com/whitequark](https://github.com/whitequark) (maintains parser)

* [https://github.com/sponsors/bbatsov](https://github.com/sponsors/bbatsov) (maintains RuboCop)

* [https://github.com/sponsors/mbj](https://github.com/sponsors/mbj) (maintains unparser and mutant)

\---

As context, I know this stuff intimately because I used to contribute heavily to most static and dynamic analysis tools in the Ruby ecosystem ([https://github.com/backus?tab=overview&from=2017-12-01&to=20...](https://github.com/backus?tab=overview&from=2017-12-01&to=2017-12-31)) and used to track new ruby changes really closely: [https://cognitohq.com/new- features-in-ruby-2-4/](https://cognitohq.com/new-features-in-ruby-2-4/)

<comment><USER3> I helped out with parser as well for a while, though it was mostly documentation, triaging issues, that sort of thing. I think I still have push access to the Gem, as at the time the project had a bus factor of 1 (= whitequark).

Anyway, I remember just how frustrated whitequark would get every time CRuby decided to make some random syntax change. I have a lot of respect for the current maintainer(s) for putting up with the ever growing complexity of the Ruby syntax. I hope Ruby stops changing the syntax on a regular basis, but I doubt this will happen any time soon.

<comment><USER2> Yeah, I don't remember any of the Ruby tooling ecosystem maintainers having nice things to say about the various syntax changes they've added over the years. I don't blame them.

These changes are always justified with a hand wave and a reference to "developer happiness" and ergonomics. I think that justification is seen as insulting when all the static/dynamic analysis tools obviously _actually_ deliver a lot of value to Ruby devs, and yet the basic tooling to support this ecosystem (robustly parsing, traversing, annotating, rewriting, and unparsing an AST) is not provided by the language.

</comment></comment></comment><comment><USER4> This hurts readability of code with lengthy expressions. Knowing the target of the assignment is usually more important than the particulars of the expression when you're skimming unfamiliar code. Having the variable pushed out to random locations on a ragged right side isn't helpful.

<comment><USER5> One of Ruby's philosophies is to provide multiple ways to express the same fundamental operation so that it can conform to your thoughts instead of forcing your thoughts to conform to it. You can still do it the old way where it makes sense. Whether this philosophy is helpful or harmful is another debate.

<comment><USER6> Until youre working on a team and your thoughts aren't the same as everyone else's thoughts.

<comment><USER7> That's rubocop's raison d'etre. I like that you can be completely free exploring with code in the style you like, and "button up" when it needs to become shipping/shared code.

</comment></comment></comment></comment><comment><USER8> To counter some of the complaints regarding readability, a major use case for this is simply hacking stuff together in the REPL. Sometimes you notice you want to have your result as a variable when you've just typed a line, and other solutions for this problem (Ctrl+A or ENTER plus foo = _) are not universal.

Disclaimer: I'm not a core dev but saw a discussion amongst them about such use cases.

<comment><USER9> This is the exact reason I've wanted this, for a long time. I even asked Matz about it a conference once, probably 10-ish years ago.

<comment><USER10> This is a completely unnecessary feature. `_` is always assigned to the value of the previous expression.

        >> 4 + 2
        => 6
        >> _
        => 6
        >> "abc" + "def"
        => "abcdef"
        >> _
        => "abcdef

Adding this kind of syntax for something that's already trivial to do is honestly kind of distressing for me as a Ruby developer who's been around since early 1.8.

I still strongly believe that the `key: value` hash syntax was a massive mistake. That's a lost battle, but this is getting ridiculous.

<comment><USER11> `_` being assigned the result of the last statement evaluated is an IRB feature [1], not a ruby feature - hence the note that it is not a universal solution.

[1]: [https://github.com/ruby/irb/blob/master/lib/irb/context.rb#L...](https://github.com/ruby/irb/blob/master/lib/irb/context.rb#L344)

<comment><USER10> So?

Why does this need to be in the language when both major REPLs already support it? Why must this be yet another alternative way to accomplish the same thing as the way that's existed since the first days of the language?

There is no argument in favor of this addition. It doesn't allow anything new, it provides a pointless alternative to the current way of doing things, and the _one_ situation where it's useful—REPLs—there's already a feature that renders it completely unnecessary.

<comment><USER11> For better or worse, providing multiple ways to do the same thing is part of ruby's philosophy. [1]

[1]: [https://www.artima.com/intv/ruby.html](https://www.artima.com/intv/ruby.html)

</comment></comment></comment></comment></comment></comment><comment><USER12> > While the above pattern has become standardized, it feels somewhat unnatural > as we read most of the spoken languages from left to right.

Is this true (the 'unnatural' part)? Reading left to right, `age = 42` can be read as "age is 42" which feels perfectly natural in English. `42 => age` would be read as "assign 42 to age"? This feels more awkward to me. I'm not sure I understand why anyone would want Rightward assignment.

<comment><USER13> A math tutor of mine was actually pretty angry at computer science for writing things like `a=1; a=2; //so 1=2 ?` I guess he'd rather have the "assign 42 to age"... Except he'd probably read `42 => age` as "42 implies age", which would probably cause him more sleepless nights ;)

<comment><USER14> He'd probably like a := 42 which is in a lot of languages actually! Also Erlang and other fp's do consider = equivalence.

<comment><USER15> I noticed a year or two ago when I'm pseudocoding I seem to default to "age <\- 42" which I kinda like more...

</comment></comment></comment></comment><comment><USER16> I love Ruby. I've been working with it as my primary language for 15+ years.

Its sad to see how they keep adding new, arcane syntax for fairly obscure use cases, seemingly without any real clear justification. I wish Matz would raise the bar on these changes - Ruby is mature and already has a very powerful, complicated syntax that gets tricky for corner cases. I appreciate "more than one way to do it", but not everything needs to have ten ways to do it when the first three ways work fine.

</comment><comment><USER17> Well, this is a nice coincidence, Nim also added support for rightward assignments today!

[https://play.nim-lang.org/#ix=2x7r](https://play.nim-lang.org/#ix=2x7r)

<comment><USER18> Funny you should mention it, raku just got the same feature!

[https://tio.run/##K0gtyjH7/7@4NEkhMy8ts8Lq0Gpbu0O7NVQSdRRUgG...](https://tio.run/##K0gtyjH7/7@4NEkhMy8ts8Lq0Gpbu0O7NVQSdRRUgGLFCkXlmgrVILatgkqiQi0XV26lgmdeCZCTnmrNxWVipGBrB@MUJ1ZCmP//AwA)

<comment><USER19> Doesn't Raku essentially already have this with feed operator? [1]

1: [https://raku.guide/#_feed_operator](https://raku.guide/#_feed_operator)

<comment><USER18> Not quite. For example:

      > my $x
      (Any)
      > 1 ==> $x
      (1)
      > 2 ==> $x
      (2)
      > 3 ==> $x
      (3)
      > $x
      [1 2 3]

If ==> were simply assignment, we would expect x's value to be 3.

</comment></comment></comment></comment><comment><USER20> Here is a feature ticket. The usage in a data transformation pipeline feels right and appropriate as in comment #20 [https://bugs.ruby- lang.org/issues/15921](https://bugs.ruby-lang.org/issues/15921)

<comment><USER6> I don't find that reason any more compelling than any other reason I've read. I still don't get why it's better than what already exists.

<comment><USER21> The example given in comment #20 provides a practical reason for it, in that in some cases it makes things more consistent visually. But mostly these reasons are subjective and some people will be more or less sensitive to them. A lot of programming language design and tool design in general is not completely rational or about functionality only.

</comment></comment></comment><comment><USER22> This is just feature bloat. Why is this needed?

<comment><USER23> Because after a few thousand hours of ruby, when you can - most of the time - tell a variable form a function, or if a function is receiving a list of argument or a hash, you now need another challenge.

</comment></comment><comment><USER24> Can you mix left assignments, right assignments, and assignments in expressions all in one statement? That will be great for obfuscating code.

<comment><USER25> It'll probably be implementation-defined...

</comment></comment><comment><USER26> The right way to do this is the way Prolog does it. It doesn't matter if you say VAR = 12 or 12 = VAR or 1,2,10 = A, B, C It does whatever it takes to make the left and the right sides equivalent to each other.

<comment><USER27> That is interesting. How does it work when a variable is on each side?

foo = 1

bar = 2

foo = bar

<comment><USER28> It will share with you its wisdom (the last line is printed by the interpreter):

      ?- FOO = 1,
      BAR = 2,
      FOO = BAR.
      false.

<comment><USER27> That's neat. Is there a separate syntax for var to var assignment or are variables immutable in Prolog?

<comment><USER28> Variables are immutable, but note that it's the contradiction that leads to the "false" response, there's no issue with the assignment itself:

      ?- FOO = 1,
      BAR = 1,
      FOO = BAR.
      FOO = BAR, BAR = 1.

</comment></comment></comment></comment></comment><comment><USER29> Rightward assignment is pretty strongly discouraged in the R community, due to the effect it has of burying the lede. That said, I always felt the same about Ruby's inline if/unless (`puts "still working" unless done`) so maybe it will have a better reception in this community.

<comment><USER14> Interesting, that it became discouraged. Probably won't make it into Ruby proper then. I don't fault them for experiment.

<comment><USER29> Actually, this is a pretty good reason, and it's straight from the source (creator of S, the predecessor of R): [https://stackoverflow.com/a/51548423/139922](https://stackoverflow.com/a/51548423/139922)

> When you type a long expression only to remember at the end that it would be > a good idea to save the result, a right-hand arrow allows you to perform an > assignment without retyping the line.

(I don't do this personally, though. I just run the expression and then my next command is `x <\- .Last.value`)

<comment><USER30> I use right assignment in this way all the time, you should try it Joe :)

</comment></comment></comment></comment><comment><USER31> I'm also not a fan of spending this syntax card on this feature. The ... => ... syntax might be needed for something more useful in the future.

</comment><comment><USER32> More HN discussion on this topic from 6 days ago: [https://news.ycombinator.com/item?id=24369892](https://news.ycombinator.com/item?id=24369892)

</comment><comment><USER33> [question]: Is the main benefit of "Rightward assignments" readability and does this provide more benefits?

<comment><USER34> Ruby currently supports "Rightward conditionals":

        user.delete() if deleteUser

It is probably thought that this feature would result in similar readability improvements.

<comment><USER6> I don't find that more readable at all. I prefer:

        if deleteUser
          user.delete()
        end

It's easier for me to read. It doesn't try to hide away logic. And if the line gets longer if the conditional gets more complex or I want to add an else I can without reformatting.

<comment><USER35> It works well for some cases. You end up with

return if a.nil? return if attempts < max_attempts

In this case "return if" becomes like a keyword and you can ignore it and focus on the rest of the expression. It also seems very readable for other simple values like `return false if ...`. But I agree, as soon as the code to the left of the `if` gets non-trivial it is harder to read.

</comment></comment></comment></comment><comment><USER36> Uh.. I'm not sure I like this, in a language that already has a similar boolean operator (although I suppose that goes for all uses of such "arrow" operators). But still:

      a = 2
      b = 1
      b >= a # false
      b >= a => a # assign false to a?
      b => a # assign 1 to a?

<comment><USER37> It already has at least two different uses for the exact sigil "=>" (hash construction, identifying capture variable in a rescue clauses), which is probably more significant than that it has a kinda similar sigil used as a comparison operator.

Like natural language (but unlike programming languages constructed with thought toward ease of automated parsing), Ruby syntax is quite context sensitive.

</comment></comment><comment><USER38> Is this really just syntactic sugar? None of the examples in the article seemed to show why code would be more readable (array assignment maybe, but the leftward seems just as readable).

</comment><comment><USER39> I'm sorry but this "feature" is yet another design a hacker living in a bubble came up with. Most people think and program in English, or languages very close to English. In English I can read let x be 4ys and some change. I don't know how to read the arrow. 4ys and some change implies x? If this is a feature designed purely for speakers of SOV or OSV order languages like Japanese, that's fine, but the dominant language in technical discourse isn't one of those.

<comment><USER37> > I don't know how to read the arrow.

As a description (which is an easier translation of this idiom into English than an imperative) "is assigned to".

Imperatively, English tends to prefer verb-object with implicit subject, so we ought to be using a Lisp family language (setq "foo" 42) maps better to English imperative structure than most popular languages that do imperative assignment.

<comment><USER39> Complete English sentences in present tense are infix, with the subject and object clearly stated. Implicit subjects only follow after the first sentence in a paragraph or a phrase. Case in point is the words you've read so far. "are", "follow" and "is" are verbs. This is why most programming languages are in infix notation. Lisp syntax stayed is a historical accident. [1] Arabic is a prefix languages, and people don't program in Arabic.

"is assigned to" is passive voice. I think we've all learned in writing classes we should avoid it as much as possible because stating the active voice is clearer.

[1]: [http://www.paulgraham.com/icad.html](http://www.paulgraham.com/icad.html)

<comment><USER37> > Complete English sentences in present tense are infix. . Implicit subjects > only follow after the first sentence in a paragraph or a phrase.

This is true of the indicative mood, but not the imperative.

Giving commands in the indicative mood is not typical.

<comment><USER39> Yes that's true. That's why most languages have infix operators and prefix function calls.

</comment></comment></comment></comment></comment><comment><USER40> So, a = b becomes equivalent to b => a.

However, you already construct hashes like hash = {:a => b}.

Perhaps we can also add reverse hash construction like hash = {b = a} for consistency (and additional madness)

</comment><comment><USER41> This is true to Ruby's Perl heritage. There is more than one way to do everything, even the most basic of operations.

Quiz: what does the following Ruby code do?

      a = b => c = d

<comment><USER42> Makes me reject the PR for lack of clarifying parentheses.

<comment><USER43> Do you really punish everybody else because you can't remember precedence rules?

<comment><USER42> Do you allow code into your codebase that isn't obvious on a first read?

</comment></comment></comment></comment><comment><USER44> This would be nice for situations where you have a lot of method calls daisy chained together. Like builders or Java Streams.

       DoThing()
       .withSomeOtherThing()
       .onSundays()
       .withCharset(Blah.BLAH)
       .betterAddThis(x -> { ret stuff() })
       .build()
       => turducken

The whole assembly of the variable 'turducken' is drifting rightward. By the end we want to get to the point rather than backtrack.

<comment><USER45> It's possible to have a language design like this:

       DoThing()
       .withSomeOtherThing()
       .onSundays()
       .withCharset(Blah.BLAH)
       .betterAddThis(x -> { ret stuff() })
       .build()
       .into(turducken)

Where a.into(b) is really (into a b), which is a macro sugar for (set b a) and not a function.

</comment></comment><comment><USER37> Ruby, it should be noted, already has experimental support for rightward assignments by way of pattern matching, so this is _really_ TMTOWTDI.

<comment><USER46> (There's more than one way to do it)

</comment></comment><comment><USER47> I expected this new feature to use the -> token but they went with => instead.

Is there any reason why they overloaded the hash rocket? Even the simple examples in the article look like somewhat malformed hashes to me!

      3 => box_height
      [170, 65] => height, weight
      traits => height, weight

How does the parser tell them apart?

<comment><USER37> > Is there any reason why they overloaded the hash rocket?

The fact that it's used for a kinda similar purpose in rescue clauses is a factor.

> How does the parser tell them apart?

Unbraced hashes can only occur in last-argument-of-function position, so unless it's naked (not a parenthesized subexpression) in that position, it can't be an unbraced hash.

</comment></comment><comment><USER48> Why? Why does ruby have an infinite amount of ways to do the same thing?

<comment><USER49> As someone else said in these comments, Ruby offers multiple ways to express things, so you have more options to "write how you think" as opposed to being pushed to "think how the language wants you to write".

I'm not saying it's good or bad, I'm just saying that appears to be one of the reasons for it.

<comment><USER50> It seems the opinionated, directive "there's only one way to do it" approach is winning over the hacking around, "wrapping around your mind" approach. Lisp and Perl have had their times under the sun, now it's all about Python and Go. Perhaps these things are cyclical.

<comment><USER49> I'm using both Ruby and Go a lot (also Elixir, PHP, Bash and others).

I wouldn't even say that they solve different problems for me, it's more a matter of _how_ I need the problem solved. If I need something that runs on other OSes than my Linux box preferably with as few dependencies as possible, Go. However, I can probably code it faster in Ruby, so if it only needs to run on my machine or if I know Ruby's available where it needs to be run, then I'll probably go with Ruby.

I think, instead of arguing which is better, the argument should be about whether they're useful. And for both Go and Ruby that's an "absolutely!" from me.

</comment></comment></comment></comment><comment><USER51> When can we start writing ruby bottom up?

</comment><comment><USER52> Ugh! I love that Ruby is expressive but this will just add confusion when a developer moves to Ruby for the first time. It adds a mental burden to be aware about all these rules.

</comment><comment><USER53> I love Ruby and its 10th ways of writing code to achieve same thing...

Eh, there is a reason why Golang has such a huge popularity.

<comment><USER49> It's not like Ruby has an insignificant amount of users either...

</comment></comment><comment><USER54> I like it. The next step is piping result forward.

       1.2 + 2 | double | abs => result

</comment><comment><USER55> i was kinda shocked to see all the negativity in this thread. i looked at this post and thought 'beautiful' and kinda mind-blown at the simple elegance of it. ruby is one of those languages that was cutting edge in 1995 and is apparently cutting edge today. it writes and reads like nothing else. it can be made very, very, or too terse, but it can be made to read simply and concisely and clearly with an economy of characters spent. i also am not a huge fan of the metaprogramming madness. but ruby is a beautiful language and i definitely

      'think highly' => sentiment

this post.

</comment><comment><USER56> I wish they pay more attention to real issues and potentials. e.g. The Refinement design is half-baked -- Can't refine module methods, can't DRYly reuse monkey patch code as refinements...

</comment><comment><USER57> Left is right, bottom is up, and the world is upside down.

</comment><comment><USER50> >R language also has a similar way of doing this 42 -> age.

Ah yes, the R language, a model of clarity, beauty and lightness in the world of programming languages. Truly an example to follow.

(And it's not like anyone ever uses that "feature" in the R world either.)

<comment><USER27> I don't understand what point you are trying to make here. Do you not like the feature simply because R has a similar feature? Why not look at examples given here and by others and decide/comment on whether it adds clarity or expressiveness or not?

<comment><USER50> I am making two points:

-Arguing that adding a feature is ok because "R does it" is comically wrong when one is acquainted with all of R's warts and superfluous stuff

-Not even the R world uses _that_ feature either, so we have actual empirical evidence that it's not that helpful to developers.

<comment><USER27> I wouldn't say an additional notes section at the end of article showing that is syntax is not unprecedented is an argument that the feature is ok because R does it. The author is simply giving additional context to allow readers to form their own opinion.

It's fine to not like the feature–I don't know enough about its usecase to feel one way of another–but your comment felt unnecessarily negative without adding much to the discussion.

Knowing that R users have access to these syntax and choose not to use it is interesting to consider, but that was overshadowed by your first statement.

</comment></comment></comment></comment><comment><USER45> Awk rightward assignment:

       $ awk 'BEGIN { "echo foo" | getline var; print var }'
       foo

</comment><comment><USER58> I love ruby, but this is awful. Hope it goes away.

</comment><comment><USER59> Ummm. Feel like I'm being trolled.

</comment><comment><USER60> But... why?</comment>


Ask HN: Anyone use Prolog? - <AUTHOR>

I'm working through "Seven Languages in Seven Weeks" (http://www.pragprog.com/titles/btlang/seven-languages-in-seven-weeks). The inclusion of Prolog seems strange to me and I've heard very few examples of Prolog being used in the real world. Has anyone here used Prolog in production, and if so:
1. What did you use it for?
2. What are your thoughts about the language? Why did you choose Prolog, and were you happy with it?
3. How does performance, development time, etc. compare to other languages? <comment><USER2> I'm somewhat ashamed to admit that once in a former life I was tasked with writing a program for a coworker who I absolutely hated as I was leaving. He was going to have to maintain the program, and he wasn't really a programmer (contrary to what he said on his resume).

In a fit of juvenile rage, I wrote it in Prolog, even though it really wasn't particularly well-suited to being expressed that way. Apparently rather than tell anyone that he didn't understand how it worked (in spite of my fairly good documentation), he just pretended to be updating it for a couple years after I left.

Eventually the ruse was discovered, and they got rid of him.

I've been carrying that load around for the past twelve years, it feels nice to share it.

</comment><comment><USER3> I used it a few years ago to write a reference implementation for a language feature whose real implementation was greatly complicated by the fact that it had to work in real time. I used Prolog to generate many thousands of test cases along with the correct result for each, then ran these through the real implementation to see how the results compared.

Prolog is not really a general-purpose language, so asking how it compares in "performance, development time, etc." is rather missing the point. If you have a problem for which Prolog is suitable, it will be easily the fastest way to solve the problem. But I wouldn't build a Web app in Prolog.

I'm afraid the only way to really get a feel for what it's good for is to write some programs in it. But it's a good tool to have in your toolkit.

</comment><comment><USER4> We've used an Java-embeddable Prolog engine called tuProlog to provide the reasoning capability in several applications.

It's a very nice little language for rule processing, and it has served our needs well. It is unlike most other programming languages in that it's declarative as opposed to procedural, and that can take some getting used to. Our primary motivations for choosing it at the time were that (1) it was a "rules" language with which we were already familiar and (2) its license permitted its use in commercial software (unlike Jess, which was another contender).

As ScottBurson has already noted elsewhere in this thread, it's not exactly a general purpose programming language. We for example used it as just one component of larger Java-based applications. Its performance, at least for the implementation that we chose, is not great, but there's a performance- flexibility tradeoff: if the alternative is to write-up a bunch of nested if- then statements in Java, and to have to recompile that every time the rules change, I believe that Prolog comes out ahead in terms of development time.

</comment><comment><USER5> Prolog is not a general purpose language, it's more like a database query language. Many common tasks would be painful in Prolog (it's really awkward for procedural code), but for rule-based systems, parsing, constraint satisfaction problems, prototyping interpreters, etc., it's an outstanding tool.

</comment><comment><USER6> I used it a while back, to add some functionality that would have otherwise required a lot more code and work.

Story (and a little video) here:

<http://kylecordes.com/2010/the-prolog-story>

</comment><comment><USER7> Used it at the university, liked the idea of the language, but implementation was sadly lacking. Not an easy language to debug.

I haven't read that particular book, but I imagine Prolog was included because it being a declarative language fits a paradigm of its own.

</comment><comment><USER8> College. Lecturer said that in US they teach LISP and in europe Prolog. Edit: AI lecture.

</comment><comment><USER9> Never used in production, just cannot see how it would work.

Use it for random puzzles like <http://chris-lamb.co.uk/2010/07/24/four-men- mine/> though</comment>


There's Trouble Inside Nairobi's Biggest Tech Startup - <AUTHOR> https://www.buzzfeed.com/tamerragriffin/kenyas-biggest-tech-start-up-is-dealing-with-a-sexual?utm_term=.dxDJq7j2VJ#.eckQpwe2bQ <comment><AUTHOR> "A Woman Told Her Boss To "Fuck Off" When He Allegedly Harassed Her. They Both Got Accused Of Misconduct."</comment>


Tales of a stressed kernel (2013) - <AUTHOR> http://tomerfiliba.com/blog/mmapcp

<comment><USER2> > better yet - cp could determine it's copying from a tmpfs filesystem and do > that automatically. but we're not going to patch binutils for that, when a > simple, 30 line utility does the trick.

Why not? I think it's a perfect reasonable use case and should be made into a patch.

Why not give something back?

<comment><USER3> I'm guessing that figuring out whether it's a tmpfs filesystem is a tricky thing in a cross-platform way (i.e. acceptable for acceptance into the upstream tool sources). It might actually be more appropriate to keep this special use case as a separate tool, rather than add extra branches and special cases to the main cp tool.</comment></comment>


Burger King advert sabotaged on Wikipedia - <AUTHOR> http://www.bbc.com/news/technology-39589013 <comment><AUTHOR> BK edits Wiki entry on the Whopper to say is "America's favorite burger", then launches ad that reads from Wikipedia on Home Smart devices. What could go wrong? Wiki entry is edited to read "worst hamburger product" and ad campaign happily reads the new description...</comment>


Namebench - An Open-source DNS Benchmark Utility - <AUTHOR> http://code.google.com/p/namebench/

<comment><USER2> Cool that it considers automatic domain redirection an error:

 _www.google.com. hijacked (google.navigation.opendns.com.) NXDOMAIN Hijacking_

</comment><comment><USER3> I ran this against my ISP's DNS as cached by my router, Google's new 184.108.40.206, Level3's 126.96.36.199 and 22.214.171.124, and OpenDNS.

It performed 200 tests in 1 run, using my 100,000 Firefox bookmarks as its data source in 'weighted' mode.

My results were as follows: "In this test, Your current primary DNS server [my router's cache of Comcast's DNS] is 29% Faster than Google Public DNS".

I am in Boston. In ranked order of performance: My router's cache of Comcast (48.28ms), Google's 22.214.171.124 (62.49ms), OpenDNS (68.14ms), Level3's 126.96.36.199 (94.37ms), Level3's 18.104.22.168 (113.51ms)

*Update - I clarified that I tested my router's cache of Comcast's DNS, not Comcast's DNS servers themselves.

<comment><USER4> 200 tests, 1 run. ~33K Firefox items. Weighted.

I was surprised to find my ISP (Cox, San Diego) performed pretty favorably.

Cox (92.73 ms), UltraDNS (100.95 ms), OpenDNS (117.07 ms), Google Public DNS (197.01 ms)

<comment><AUTHOR> I was also surprised to see that my IPS's DNS servers performed so well against all other services.

<comment><USER5> It shouldn't be surprising. Your ISP's server serves enough customers that most popular sites will be cached most of the time, and you're likely to have a shorter ping time to your ISP's server than to any other.

</comment></comment></comment></comment><comment><USER6> Slightly off-topic but when I first got my MacBook about two years ago the networking was awfully slow compared to my Windows or Linux boxes.

I suspected a DNS problem and after installing a local DNS cache server it improved dramatically, so a local cache-only/forwarder DNS server is another solution for a faster networking experience.

</comment><comment><USER7> I'm getting very different results when I run these tests. At prime time 7 pm to 9 pm pacific time on weekdays is different than sundays at noon.</comment>


White House wants to know if you've been censored or silenced by social media - <AUTHOR> https://techcrunch.com/2019/05/15/the-white-house-wants-to-know-if-youve-been-censored-or-silenced-by-social-media/ <comment><AUTHOR> Over 500 comments on Arstechnica about this topic, but can't make it to the front page on HN? Hmmmm .....

</comment><comment><AUTHOR> This should get interesting.</comment>


How To Go Viral By Using Fake Reddit Likes - <AUTHOR> http://www.hack-pr.com/library/how-we-hacked-reddit-to-generate-5-million-media-impressions-in-3-days <comment><USER2> The entire stunt appeals to people's sense of moral outrage over businesses buying influence in the form of political donations. The reason people find it morally outrageous is because it corrupts the political process: politicians are supposed to represent their constituents, not the whims of the highest corporate bidder. Politicians who engage in this kind of quid pro quo behavior put selfish gain ahead of the good of the community.

Which is why I found it particularly galling that the PR firm relied on people's moral outrage about paying for influence to peddle their message ("tell them you like our initiative and are TIRED of politicians taking legal bribes") -- while doing exactly the same thing: paying for influence, in the form of purchased Reddit upvotes, which corrupts the upvote process and puts selfish gain ahead of the good of the Reddit community.

Normally, when PR firms use "hacking" to describe their techniques, they're talking about novel approaches to getting coverage, sort of like how "life hacks" are novel solutions to life's problems. But in this case, the firm is using "hacking" very literally -- infiltrating and taking control of a system by illicit means. They are black hats, and we should view them not only as morally bankrupt but also very dangerous.

I'm expecting that any day now they'll run a follow-up post, "How we hacked the U.S. media to help an anonymous powerful Russian client sway the presidential election."

<comment><USER3> Almost _every_ modern campaign takes advantage of our hairpin tendency to get outraged. Hell, this entire thread is people getting outraged about "cheating" using millenia-old social tendencies.

The solution isn't getting outraged about outrage. It's designing systems that compensate for this tendency. Unfortunately, that often means slowing down sensitive discourse.

<comment><USER4> I think a good solution would be to get up early in the morning, assess what you'd like to influence or draw attention away from, and then craft a message that takes advantage of this tendency.

Build windmills, not windbreaks.

</comment></comment></comment><comment><USER5> People get extremely defensive on Reddit if you insinuate that this is common. But it really doesn't take a whole lot of skepticism to see though the more blatant ones.

Reddit is still a really great site when you unsubscribe from all default subs and any sub that has gone "critical shill" at about 100k or more subs.

<comment><USER6> Some subjects touched anywhere on Reddit are huge instant bot/PR magnet. On top of my head I can think of: Fracking, Glyphosate (or anything related to Monsanto/Endocrine Disruptor), Turkish Politics.

<comment><USER7> Definitely fracking and Monsanto. I've also noticed some software and hardware products seem to have a shill presence.

I think we all remember that 6 month period where Microsoft decided to shove VSCode down every ones throat. It was impossible to get away from. New vim released? "Yeah vim is good but now I use VSCode TM". New sublime? New Atom? Same thing. They were aggressive with that one.

<comment><USER8> I once implied that Microsoft was targeting HN as part of that astroturfing campaign, and was threatened with banination.

<comment><USER9> On Reddit?

</comment></comment></comment></comment></comment><comment><USER10> Didn't they just massively throw their client under the bus? Not hard to find the guy's name, and now everyone knows:

\- his big political stunt wasn't even his own idea, and

\- he paid people a ton of money to fraudulently promote it.

What a way to burn your clients...

<comment><USER11> The PR firm isn't at all ashamed of what they've done, in fact they are publishing this as an example of what a great PR firm they are. After all, it shows their "hustle". It's odd, but not at all surprising, that someone in the PR/marketing world can fail to even see how something might be morally wrong with their scummy methods.

<comment><USER12> Is that hustle? His last ditch effort was to use Reddit and was lucky it worked. No experience or expertise, and now potential clients know how little it cost.

<comment><USER13> have you read the article? @hn_throwaway_99 was referring to the wording in the article: "This gave the campaign the boost we needed and it was all the direct result of one thing: _hustle_ "

</comment></comment></comment></comment><comment><USER14> Is this article for real?

On a topic where one would expect citizens chasing for public good, we find marketers and advertisers working for a wealthy businessman paying a convictionless campaign to become famous!

And the advertisers are so proud of it, they give all the details of their Reddit cheating, and worse, all the details of the absence of political conviction of their wanna-be-politician client.

Maybe the story is real, but I cannot believe the advertisers are dummy enough to be the ones writing this article.

I would better think of someone related to Fiverr.com behind... [edit: or an enemy/competitor of the politician]

<comment><USER15> My thoughts exactly. Otherwise what's the point of mentioning fiverr.com specifically.

</comment></comment><comment><USER16> Look, I give them credit for coming clean to the public. And a lot of people use Reddit to promote their business, band or other brand (though they do it honestly, not by purchasing a boost). But the more well-known the technique of buying upvotes becomes, the worse the site will be for myself and other users.

Early paid upvotes are the seed for later organic upvotes. You don't even need to spend $200 to get them.

<comment><USER17> The onus is on Reddit to detect and punish voting manipulation.

When someone proposed a similar voting manipulation trick on Hacker News ([https://news.ycombinator.com/item?id=13676362](https://news.ycombinator.com/item?id=13676362)), dang explicitly notes that such techniques are a good data point for voting manipulation detection algorithms.

<comment><USER18> While Reddit seems less than competent to prevent this kind of manipulation, it does apparently violate Reddit's terms of service.

"You agree not to interrupt the serving of reddit, introduce malicious code onto reddit, make it difficult for anyone else to use reddit due to your actions, attempt to manipulate votes or reddit's systems, or assist anyone in misusing reddit in any way. It takes a lot of work to maintain reddit. Be cool."

<comment><USER19> I am not sure it is even a question of competency. I think it is a question of motivation. It is the same reason why Twitter doesn't crack down on their bots. Both sites have an inherit interest in appearing popular. Having 50k upvotes or 50m followers looks more impressive than 25k and 25m. It is possible that those companies feel the value of those increased numbers is greater than the potential damage bots do to the community. HN doesn't have the same motivation since HN is more of a vanity project with a bigger focus on the good of the community.

<comment><USER18> Good point. I would insert "short-term" here... because I doubt it's any these corps long-term interests.

</comment></comment></comment></comment></comment><comment><USER20> This was an interesting read. I'm not sure it's the best idea as a blog post because I'm sure Reddit staff will get onto it then keep a much closer eye on this firm. I feel like journalists will be the same too. If I received 10 emails about these guys I'd be a bit skeptical that there is any actual interest.

As an aside, I wonder if they're using the same tactics here.

<comment><USER21> The amount of spam, manipulation of news and opinion, and fake accounts on reddit is insane, and reddit's staff (actual paid staff, not moderators) do almost nothing about it. This story is only the tip of the iceberg.

Look at the recent US presidential election, look at the ongoing, long running censorship on r/bitcoin, among many other examples. I moderate a small subreddit related to a niche sport and deal with a massive amount of spam and fake accounts, and reddit's spam policing tool (Automoderator) is somewhat difficult to setup, only partially effective and could be a lot easier to use (e.g. one click bans for accounts and domains) if reddit's staff were serious about the problem.

</comment></comment><comment><USER17> > This gave the campaign the boost we needed and it was all the direct result > of one thing: hustle .

Deliberately breaking the rules that exist for a good reason isn't "hustle." It's just cheating.

<comment><USER22> Isn't hustling by definition doing things that are ethically and legally shady?

<comment><USER23> Not at all. Hustle means going out and making things happen by talking to people and promoting yourself. It does not imply shady behavior at all. All entrepreneurs hustle.

<comment><USER24> One of the Original definitions is illegal or unethical activities.

[http://www.dictionary.com/browse/hustle](http://www.dictionary.com/browse/hustle)

</comment></comment></comment></comment><comment><USER25> > these are the types of things we do several times a day now

And this type of marketing posing as news, pushed to the front page by bots and fake accounts is precisely why /r/politics is now a shitbed.

Thanks Hack-PR.

<comment><USER19> Why would you consider this isolated to /r/politics? This happens on every subreddit that is big enough to have value in reaching the targeted audience. That is one of the many reasons why the best subreddits are usually the ones with the smallest communities.

<comment><USER25> > Why would you consider this isolated to /r/politics?

That was the one mentioned in the article and that is a subreddit that has been particularly awful since basically the entire last US election campaign.

</comment></comment></comment><comment><USER26> Speaking of fake Reddit stuff...

Reddit has a SERIOUS political astro-turfing problem.

Some would argue it swayed the US election. Some would argue Reddit is bought and sold.

The popular or all experience is completely different. Commenting you don't even know if it's a real person or not.

Does anyone know a forum similar to this or Reddit where it's ALL verified accounts?

<comment><USER27> Metafilter maybe.

There's a one time $5 fee at signup and a 1 week waiting period after to post/comment. Seems to do a good job preventing this type of thing because the costs quickly get prohibitive if your dummy accounts keep getting deactivated.

It's still an ugly echo chamber on politics though, it is extremely far US- left on everything.

<comment><USER15> Nominal fees don't work because someone will just lay the $5 per account knowing they can sell them later for more. Even Reddit accounts aren't free when you factor in the cost/time to set them up and build a bit of karma.

<comment><USER27> It all depends on how aggressive the site is on cracking down and banning dummy accounts and the cost of the "upvote packages" (which I can't seem to find). On Metafilter they seem quite aggressive so the accounts have very limited value/lifespans.

A dummy account on reddit may be allowed to vote hundreds of times before being banned so the price per vote becomes minimal.

</comment></comment></comment></comment><comment><USER28> Dear Reddit, Maybe this idea would help slow down this type of abuse:

It seems like it would be easy enough and cheap enough to build a honeypot to identify accounts used for the purchased Reddit upvotes.

For example, Reddit could set up some honeypot posts to track paid upvote accounts.

They then go and pay these upvoters to upvote the honeypot post and identify the accounts used. (It would be helpful if the post was hidden so other people don't find it accidentally. In fact, it is possible to just use a tracking redirect page given only to the paid upvoters and use any post as the upvote "job" so it would be hard to identify by the upvoters.)

Then Reddit could ghost those identified accounts. Simply ignore their votes in the system, but don't tell the account owners, so the owners continue using the accounts without realizing the problem.

This would make it very difficult for the account owners to know which of their accounts were compromised.

Then on any new posts where these upvoter accounts are being used in majority, other accounts can be found. The other accounts that also similarly upvoted on this article could represent other paid upvote accounts.

Track those other accounts and how often they appear beside the ghosted paid accounts, and voila, you have found more paid upvoters.

Keep doing this and it makes the paid upvoters ineffective because although they can work the system, their work is only being used to find other paid upvote accounts and also clients who are paying for paid upvotes.

After a time period, the clients could be sent a warning:

It has been detected that you are using paid upvote services which are against Reddit TOS. Please contact customer service so we can work together to remedy the problem. Failure to do so may cause your account to be banned and all your posts removed from Reddit. Have a good day.

Of course Reddit doesn't have to do this, and really anyone could do the same process to build a list of paid upvoter accounts and a list of articles and clients that use those services...

So what do you think, would this put a dent in the upvoters effectiveness?

<comment><USER29> They have been doing this since the start of Reddit. They are called shadowbans.

The problem is that many of these accounts are only used once or twice before being retired or sold off. So if you pay the "upvoters" to honeypot the accounts, all you'll do is put a very small dent in their accounts and next week they'll be back up to 100%. And if you pay them every week you'll just become their main source of income.

And the accounts are much more "crafty" than you think. often copying high- karma comments in reposts, or posting semi-nonsensical markov-chain style comments for years before being used as "paid" upvotes.

It's really weird, I follwed one a few months ago. I saw it was posting those markov-chain style comments, and I watched it until it's karma hit like 500 then it deleted all it's previous comments and only had one comment talking about how great some app was on /r/android.

<comment><USER9> Was it possibly /r/android_* with some other word? I saw a profile that fit the latte part of that (only talking about 1 app)

<comment><USER29> I don't remember, but looking at the thread there were like 30 comments and like 80% of them were positive. It was a really weird experience.

Like a week after that the account was deleted. I'm not sure if it was done by the admins or by them, but the comment remained posted by [deleted].

This was all a year or 2 ago, so I don't remember the exact situation any more.

</comment></comment></comment></comment><comment><USER30> The OP is using techniques that used to work on the wild wild web 10-15 years ago. I thought by now everything is being normalized, or at least serious people don't use spamming techniques to launch a business.

If all these bought upvotes come from new accounts, or from the same few IP ranges, or have a lesser ratio of comments to upvotes, or are interacting only between themselves and not with the larger community -> reddit can detect them and turn them into ghost accounts.

Reddit needs to open up a Kaggle challenge for detecting rented upvotes and other abuses, use the data it has already shared with the AI community (the reddit dataset) to detect such attempts as they happen.

</comment><comment><USER31> Maybe this is all just another 'viral' advertisement for a guy selling upvotes on Fiverr?

</comment><comment><USER32> [https://www.fiverr.com/gigs/reddit](https://www.fiverr.com/gigs/reddit)

cough cough

<comment><USER33> I feel like reddit could spend the $10,000 to just buy all their services and then ban the accounts/IPs that they see.

<comment><USER34> Good vote spamming business will be completely automated. They'll have accounts in reserve pool, with ability to spin up thousands more in a couple minutes. Most likely they make a couple hundred accounts a day and prime them with VA's with real content & votes with the intention of burning them with fake votes once aged appropriately.

If you run a website and you're getting spammed, the worst thing you can do it also ban the accounts as this give spammers feedback that the account is no longer valid to use and they'll rotate it out. Best thing you can do is /dev/null the account. To the user it will look like account is working as expected, but on the back end anything they do doesn't actually do anything. Harder for spammer to know when that account is burned. This way they'll continue to use it, and you can use this data to find related accounts and /dev/null them as well.

</comment></comment></comment><comment><USER35> Comments here are missing one crucial thing -- it's a shame that success in Reddit depends so much on initial upvotes.

<comment><USER36> I thought the success depends mainly on luck.

</comment></comment><comment><USER37> The title of the article is "How we hacked reddit...", this submission currently says "How to go viral by using fake reddit likes", and is more accurate. They didn't hack reddit, they bought upvotes.

</comment><comment><USER38> Post was deleted, heres a cached link. mirror

[http://webcache.googleusercontent.com/search?q=cache:rGmQFEr...](http://webcache.googleusercontent.com/search?q=cache:rGmQFErEWB8J:www.hack- pr.com/library/how-we-hacked-reddit-to-generate-5-million-media-impressions- in-3-days+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER39> Fake likes only explain part of this initiative's success. This would never have worked with an idea that doesn't appeal to redditors.

</comment><comment><USER40> VERIFY and TRUST;

"Media does not spread free opinion; It generates opinion" \--Oswald,1918 [https://en.wikipedia.org/wiki/Decline_of_the_West](https://en.wikipedia.org/wiki/Decline_of_the_West)

</comment><comment><USER41> Everyone does this, including the reddit founders themselves in the early days of the site ([https://motherboard.vice.com/en_us/article/z4444w/how- reddit...](https://motherboard.vice.com/en_us/article/z4444w/how-reddit-got- huge-tons-of-fake-accounts--2)).

<comment><USER42> Doesn't make it right though.

</comment></comment><comment><USER43> I don't get the impression that there's _any_ substantial vote monitoring, and so it surprises me that it even cost money to do this kind of astroturfing. How hard would it be to setup and maintain a dozen Reddit accounts and spread them over a VPN service? 10 min initial startup, and not more than a minute a day of doing innocuous activity on those accounts, occasionally. When a campaign rolls out, then have the accounts work in concert.

Sure, it might not be as 100% successful as Fiverr (though I imagine it's fairly easy for Reddit to ad-hoc identify voting blocs if something was known to be bought). But you could employ additional optimization techniques, such as the one used by most high-karma users (e.g. Gallowboob): if a post fails to hit critical upvote mass, then delete and resubmit later in the day.

To give you an idea of how things seem to be relatively unmonitored until users flag it, there's the story of Unidan:

[https://www.reddit.com/r/MuseumOfReddit/comments/2m5q11/a_fe...](https://www.reddit.com/r/MuseumOfReddit/comments/2m5q11/a_feast_for_crows_the_fall_of_uunidan/)

And as a more recent, obscure example, there was the mystery of why the mod of r/evilbuildings had something like 499 of the 500 most upvoted posts in his own subreddit. The math was so laughably in favor of manipulation but a Reddit admin, using whatever shit tools they have to investigate this, acquitted the mod:

[https://www.reddit.com/r/SubredditDrama/comments/67r1ht/the_...](https://www.reddit.com/r/SubredditDrama/comments/67r1ht/the_ceo_of_revilbuildings_gets_inconsistently/)

Follow up:

[https://www.reddit.com/r/SubredditDrama/comments/6ao8cv/dram...](https://www.reddit.com/r/SubredditDrama/comments/6ao8cv/drama_in_revilbuildings_escalates_as_the_mod_gets/)

The details of how this mod was able to boost his own posts without being called out for vote manipulation is too banal to explain in detail (basically, he would shadowdelete other popular posts so that his would get picked up by the Reddit front page, and then undelete the popular posts before anyone noticed). But the fact that a Reddit admin (I.e. a paid employee) thought that the evilbuildings mod always having the top post in his own forum for 6 months straight was just a coincidence, and/or because that mod was just apparently an amazing content submitter, spoke hugely about how uncreative the Reddit admins might be in detecting fraud.

Edit: if you are interested in subreddit drama details, here's a thread that combines the evilbuildings drama and Gallowboob: [https://www.reddit.com/r/SubredditDrama/comments/6d3syc/evil...](https://www.reddit.com/r/SubredditDrama/comments/6d3syc/evilbuildings_mod_malgoya_calls_out_gallowboob/)

If this is the kind of effort users put toward imaginary points (though arguably raising karma is part of Gallowboob's professional work), I'm nervous to think about the schemes that PR firms will construct when they realize the easy return on investment offered by Reddit popularity.

</comment><comment><USER44> If you're into this kind of thing, I enjoyed reading "Trust Me I'm Lying" by Ryan Holiday.

<comment><USER45> Also, if you're into this kind of thing, don't be. It degrades the environment where you do it.

<comment><USER44> You can be into understanding the media around you without actually wanting to produce it yourself. However, if you are interested in adopting some of the takeaways, the strategies can be used tastefully and ethically.

If you don't like the harmful ways that media manipulation is used, you might actually like that the book explicitly warns the industry how vulnerable it is to this practice, which can be used by anybody for any purpose. This warning came four years before the 2016 U.S. presidential election.

</comment></comment></comment><comment><USER46> It seems that everyone is aware that likes, follows, upvotes, etc can all be bought, and therefore these numbers are manipulated regularly. But does anyone care to see the problem solved?

<comment><USER47> You would have to solve the human being's innate attachment to number or as René Guénon terms the current state of affairs "The Reign of Quantity."

</comment></comment><comment><USER48> Reddit should really try to proxy / VPN / Bot detection because I'm willing to bet the people on fiverr are using large proxy networks to achieve this.

</comment><comment><USER49> Looks like they've been shamed into submission and have pulled the article. It was getting hammered with comments earlier. Well deserved ones.

</comment><comment><USER50> What would be the proper way of gaining traction on reddit? Is that even possible anymore? I mean if the game is already rigged what chance do honest businesses stand in this environment? I dont have an account on reddit (been there for what? 7 years now?) and I always wondered how somebody go viral and get traction now this stuff makes me think everything is basically done and paid for.

</comment><comment><USER51> I don't know if this is a hack, per se. I work in media and PR, and this is just one of those things you do. Pump up the issue, get eyeballs on the campaign, find a way to jazz the reporters, and off to the races. What may have made this fly is that the idea was already in the minds of the public, and the media. It's a LOT easier when that happens.

</comment><comment><USER52> So I'm working on a side project that basically has an HN/Reddit interface. One monetization idea I had for down the road is basically a legitimate means to boost certain posts for certain periods of time, giving them prominence on the site in a clearly labeled area for such purposes.

Is this something people would be interested in?

<comment><USER53> ...you mean like Reddit's "Promoted Posts" that appear at the top of the page?

</comment></comment><comment><USER54> Anybody have a copy of this? link is 404 now

<comment><USER55> Looks like it's archived: [https://web.archive.org/web/20170710232311/http://www.hack-p...](https://web.archive.org/web/20170710232311/http://www.hack- pr.com/library/how-we-hacked-reddit-to-generate-5-million-media-impressions- in-3-days)

<comment><USER54> Thanks! wonder why they took it down though

</comment></comment></comment><comment><USER56> While I understand people finding this distasteful, it's exactly the kind of rule-breaking that they should be doing. Cheating? Airbnb broke Craigslist's rules to good effect, among others.

It's naughty without being outright evil. When did that become a bad thing on HN?

</comment><comment><USER57> A lot of people don't seem to realize that being the top link on r/politics is a public good that's available to _everyone_. Just because someone pays $200 to make some politician's publicity stunt that nobody cares about be the top link there (I mean really, nobody cared - the idea of a law forcing politicians to walk around wearing the logos of their top ten donors is beyond silly), doesn't mean that everyone else can't also be the top link there at the same time, with other publicity stunts nobody cares about!

The great thing about being a top link is everyone can do it at the same time. It doesn't corrupt the process at all or waste anyone's time. Everyone can benefit from it and it doesn't make things worse for anyone.

For example imagine if all the top links on hacker news were just corporate advertisements disguised as stories. Would it be a worse place or cause any of us harm? Of course not.

<comment><AUTHOR> > imagine if all the top links on hacker news were just corporate > advertisements disguised as stories. Would it be a worse place or cause any > of us harm? Of course not.

Did you leave out the </sarcasm> tag by accident?

How can the front page being topped with "publicity stunts nobody cares about" not make it a worse place?

<comment><USER57> of course, here: /s. Yes it was sarcastic.

(I must say I'm a bit blown away that you think I require a sarcasm tag, though - I wrote that "everyone can be the top link", an obvious absurdity since how can everyone be the top link, and that hacker news wouldn't be any worse if every single link were a paid story. I didn't think I came even close to having to mark my comment as sarcastic, which I sometimes do.)

<comment><USER58> You underestimate the levels of straight-faced absurdity of the last 6 months.

</comment></comment></comment></comment><comment><USER30> What I'm worrying about is that the reddit database is used by AI for learning dialogue and this kind of spamming actions just pollute the dataset.

<comment><USER59> Even without the spam the learning set would be cancerous.

</comment></comment><comment><USER60> This story brought to you by Fiverr.com

<comment><USER61> Seriously, right? Can totally see another article like this one with the title, "How I created a viral thread on hackernews and made X dollars on Fiverr."

</comment></comment><comment><USER62> >How we hacked Reddit

Really? Hacked?

<comment><USER63> To be fair, this is probably the only time I've seen the term hacked used correctly. I no longer know whether I should use it in this sense or the "incorrect but used by almost everyone" sense.

<comment><USER64> I don't think it's used correctly here. They didn't hack together any code, they didn't hack on some multipart kludge. All they did was break rules by buying votes.

<comment><USER8> "Gamed" should be the word.

</comment></comment></comment></comment><comment><USER65> How about all the times this failed

</comment><comment><USER66> That is the least hacky and also least efficient way to do that, and also make yourself look like a total goober.</comment>


Ask HN: Anyone hiring not-software hackers? (nanotech, biotech, etc.) - <AUTHOR>

There have been a few threads geared toward software developers (http://news.ycombinator.com/item?id=1215633).
Anyone here know a nanotech/biotech/cleantech/semiconductor startup that's hiring?
I'm a materials engineering undergrad looking to break into one of those industries soon, and I'm sure there are others here who are passionate about startups, but don't necessarily want to code.
Thanks, folks! <comment><USER2> Have you looked at companies like Pacific Biosciences or some of the companies into microfluidics or microarrays?</comment>


Ask HN: What's wrong with me? Ideal idea, my co-founders can't skip summer - <AUTHOR> Assuming we will fail, (as I had been failing in the last 7 years), we are doing something really fun in a niche market. We need to get it soon and fast.
Though excited, my co-founders can't seem to be able to skip their holidays. They give up some nights, but no where near what I do.
This is something that has been happening to me 10s of times.
Is it my country or what?
Why can't I find people who are willing to give up their free time to invest in something they really want? (assume they really want it).
I can delay instant gratification. Is that the biggest problem? (my communication skills my not be the best)
or could it be the social temptation outside SV to be too much to resist? Yeah, most of people in my country are lazy. <comment><USER2> If you have the assumption that you will fail, it is more than likely to happen.

I will assume your post is serious. But honestly, when you look back on your life and you skipped out on the holidays, are you going to be happy that you were working and not spending time with whatever family or friends you have? Even if you don't, when you look back on your life, do you think that skipping the 6 or 7 days for a "holiday" are really going to have had a huge effect on your life?

If you are the founder, you are much more invested in the business and are willing to skip the holidays.

For sure, your co-founders may have family that is more important. As much as you might think it is okay that people should work everyday without a day off, it is better to have a little time off. Do you really think that things will "succeed or fail" if they don't have that time off?

You should read or watch the Charles' Dickens' _A Christmas Carol_.

Enjoy your life. Not everything has to be about work and making money all of the time. I mean... it's nice to do and a lot of people have accomplished that dream, but it's also okay to enjoy the holidays off from work.

<comment><AUTHOR> > Failure

I assume this just to not have great expectatives, otherwise I could not start another startup in my life. I will always try and always try to be better. That is the first motto I tell my friends/co-founders. The first talk with me is a 100% transparency on where I fall short and my biggest mistakes. And beg them to help me not to repeat them. No ego whatsoever. And I haven't started a startup in 2 years with another person. I had made the decision to go alone/indie for ever, but this idea is social and needs a team of two, and lots of feedback. I can't do it alone, in real life.

> I will assume your post is serious...

It is. Thanks for assuming it.

I am a remote tech worker, so I have great flexibility. I understand not everyone has the same. It is difficult to write how I live my life, but I don't mean "skip" in a totally. In fact I am in a great place with lots of people around me and other friends living together. It is summer now and I have a beach all around me. My holidays I will spend with my family.

I mean instead of playing playstation 3 days in a row, Why can't I convince this people to code? I know they want it, but they have pressure from they family and friends.

I want to know if this happens in SV as well or is it because I am not in SV. People here are not trained to invest time in what they love. There is not entrepreneurial spirit.

> If you are the founder, you are much more invested in the business and are > willing to skip the holidays.

I wrote a click bait title. I don't mean "code for 2 weeks and skip all holidays until we have the MVP" though I would love it. I just wonder why this can't happen in my country or at least to/near me.

> Enjoy your life.

I really do :)

> Not everything has to be about work and making money all of the time.

I couldn't agree more. Life has taught me the hard way that with money it is way easier. (if you are smart and know how to use money). Though this is not a topic to talk about money.

> I mean... it's nice to do and a lot of people have accomplished that dream, > THIS!

> but it's also okay to enjoy the holidays off from work. 100% agree

Merry Xmass <3

<comment><USER3> I'm not the person you're replying to, but I read these two paragraphs and wanted to reply.

> I mean instead of playing playstation 3 days in a row, Why can't I convince > this people to code? I know they want it, but they have pressure from they > family and friends.

> I want to know if this happens in SV as well or is it because I am not in > SV. People here are not trained to invest time in what they love. There is > not entrepreneurial spirit.

In my experience (and I'm a sample of one, so this isn't scientific), about 1% of the people who say they're entrepreneurial are actually willing to put in the time it takes.

I don't think this is so much geography or culture as it is human nature. Entrepreneurship is hard and entrepreneurs are cut from a different cloth. Some might even say we're a little off...

Have a wonderful holiday season and best of luck!! I'll be hoping for big things for you in the year ahead.

<comment><AUTHOR> Thank you. Same wishes to you.

</comment></comment></comment></comment><comment><USER4> This exact same thing has been happening to me for 3-4 years.

I've realized it is because I am not a good enough leader (yet). That and my friends/cofounders are full of shit - you can't change anyone but yourself.

I realized that I could do a better job of breaking up work into direct, clear deliverables, setting deadlines, and getting them onboard.

One guy who I really needed (the marketing genius) was just too swept up in another project. I met him for coffee, and when we started talking about the company, I pulled out $1k cash and handed it to him. No strings attached, "just know I truly believe in you." He hasn't stopped working since.

</comment><comment><USER5> It sounds like a motivation problem. Are they getting enough equity? Are the rewards big enough? Do they trust that it can be successful with the time they need to put into it?

Something that is large and intimidating, but potentially life changing, is exactly what would make people procrastinate forever.

I would say you should aim lower. Make a subset of the big idea. Hack it as fast as possible just to see if it would work rather than trying to build it right. Assume the MVP is there just to gather information and not the actual product.

Once you get to the point of "I can finish this next week, no problem", it becomes a lot more motivating to do.

</comment><comment><USER6> I mean tbh like you said yourself, they don't want what you want.

You want to start a business, and maybe they see it as a side project.

It's completely fine to prioritize non work over work. Find teammates who share your set of particular values if your current arrangement isn't working.

I'm guessing you're down under since you're describing the current season as "summer"?

</comment><comment><USER7> Which country?</comment>


Startups that TechCrunch missed out on - <AUTHOR> http://www.startupplays.com/blog/top-35-startups-in-tech-that-techcrunch-missed-out-on-june-2012/

<comment><USER2> I've recently have started using Balanced Payments. It is by far the best marketplace payments processor ever however it is never covered by anyone in the tech media.

There are lots of gems out there, I wish TC and others would stop the bullshit and just write about the best start ups not just the ones funded or founded by rock stars.

<comment><USER3> As a counterpoint, my company was featured on TC this morning and we're boot- strapped and neither of us are even close to being rock stars. I realize we may be an exception to the rule, but it is possible for a young company (We started March 29th) to get noticed and picked up. It did take a lot of persistence and effort, but was definitely worth it.

If you're interested, here's the article: [http://techcrunch.com/2012/07/03/appthwack-takes-on- android-...](http://techcrunch.com/2012/07/03/appthwack-takes-on-android- fragmentation-with-new-automated-testing-service/)

<comment><USER2> Awesome. Yeah there are exceptions. For example if you reach the top of HN and there is lots of feedback u will get featured on some tech blog somewhere.

</comment></comment></comment><comment><USER4> No wonder TechCrunch didn't cover these. Most of them only have a landing page up.

<comment><USER5> I'm actually curious whether all these startups are linked, like through the same incubator or something.

If so, clever strategy for getting press, esp. on HN.

</comment></comment><comment><USER6> Travtar: way too beta to be featured

\- no popup to choose a date, none of the date format variations I entered (US and ISO) were accepted, got an opaque 'your search parameters are not valid'

\- search for 'San Sebastian', get 'did you mean San Sebastian, Spain' which is unclickable

\- forgets form fields between http requests

<comment><USER7> <http://approve.io/> seems the same way. One page. No real details. No legal details.

These all look good, however most of them look like they are still trying to get to MVP.

<comment><USER8> Hey, I'm with Approve.io and yes unfortunately our site is a little bare at the moment. We have a full site which we will be releasing shortly. We're funded and past the MVP stage and will be launching August.

<comment><USER9> Are you us only or will you be available in the uk?

<comment><USER8> We will be launching US only, however Canada will be following shortly after (1-2 months) and then the UK is next on the list (3-4 months).

</comment></comment></comment></comment></comment><comment><USER10> Is it just me, or looking at that list does one get the feeling that the golden age of web 2.0 is behind us? I'll grant you that there were quite a few weak companies back in the day, but there was always something exciting that you'd run across in the pages of TechCrunch: And looking at that list not only don't I see the next Facebook, I'm not even sure that I see the next bit.ly. Am I just jaded or am I missing something?

<comment><USER11> I agree. Reading through this list, all I saw was a bunch of sites trying to solve problems that someone else had either already solved, or targeting a market that was too niche to gain much traction.

</comment></comment><comment><USER12> Loved the Arden-Reed mock, although frankly I think providing style for pasty guys with excess mass is probably a more interesting angle that no one seems to go after. I means Kim Dotcom used to have serious money, you could liberate some of that with something targeting that space. Too many folks trying to capture the hipster chic it seems.

</comment><comment><USER13> OpenEra.net looks like it could be a killer service, especially if they can integrate with more services (Google Drive, Skydrive, UbuntuOne, etc.)

<comment><USER14> GDrive integration is in the works, along with an API for connecting to other services! If you signed up for an account,leave a comment using the Feedback button re: services integration and we'll let you know as soon as we roll out Google Drive.

</comment></comment><comment><USER15> Loving Openera.net!</comment>


Americans prefer bigger vehicles and are willing to pay more for them - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-03-21/ford-gm-place-bigger-bets-on-bigger-cars <comment><USER2> I see this in action at the parking lot where I work. A bunch of IT guys driving trucks that look like they should be used to work on a farm. I don't get it.</comment>


Roam Debuts a Robotic Exoskeleton for Skiers - <AUTHOR> https://techcrunch.com/2018/03/29/roam-debuts-a-robotic-exoskeleton-for-skiers/ <comment><USER2> Roam has put together a great team that has developed some very cool technology. I hope they are able to bring it to market effectively. Best of luck to them!</comment>


Nokia ditching Symbian for Maemo, German FT reports - <AUTHOR> http://uk.techcrunch.com/2009/08/11/nokia-ditching-symbian-for-maemo-german-ft-reports/ <comment><AUTHOR> Sounds like they've got, at the very least, some internal confusion.</comment>


Ask HN: What happens to your passwords when you die? - <AUTHOR> I've been looking into setting up a will and a way to pass down accounts and passwords, but I'm not sure what the best way to handle that is.<p>Has anyone set up anything like this before? <comment><USER2> LastPass has a very nice solution.. You invite your next of kins with a emergency access token email. Then when something bad happens to you they can request to gain access to your passwords. You then have something like 7 days to respond and deny the requests in an event where you need to block it, if the period lapses LastPass will share the password vault with your assigned next of kin. Been using LastPass for years now and its great!

<comment><USER3> That does sound good. The only risk I guess is if you go on an off-the-grid vacation or end up in a coma or get kidnapped, now an attacker (who might also be the hypothetical kidnapper) just needs to get their hands on an emergency token from one of the relatives you sent it to.

It might be a good case for requiring consensus among multiple trusted people.

<comment><USER4> That's just too complicated to do. If they want passwords, it's probably easier for them to just torture you or threaten to kill your kids or something. I'm sure they will think of these tactics before thinking about 1password tokens.

</comment></comment></comment><comment><USER5> 1Password emergency kits are a way of achieving this.

They allow you to provide a third party with all the details they need to access your passwords. It's therefore highly recommended to keep these kits at a safe location only trusted parties can access in case of an emergency.

You can also opt to keep your master password in a separate location or with a separate party, which precludes a single party from gaining access outright.

One could even envision combining it with something like Google's Inactive Account Manager ([https://support.google.com/accounts/answer/3036546?hl=en](https://support.google.com/accounts/answer/3036546?hl=en) ) to implement a dead man's switch by having an email sent on your behalf after a set period of inactivity.

I wouldn't want to trust them with my master password in plain text, though, which would defeat the purpose.

</comment><comment><USER6> Google has a google specific "Inactive Account Manager":

[https://support.google.com/accounts/answer/3036546?hl=en](https://support.google.com/accounts/answer/3036546?hl=en)

It allows you to setup access to your account if you've been in active for a while, presumably that could eventually happens ... sometime after you die.

I started setting it up but when faced with writing an email that probably only gets sent when I'm dead to my wife / kids ... I kinda didn't want to keep going.

There is also a delete option.

</comment><comment><USER7> A former colleague of mind is building a solution to this:

[https://onceivegone.com/](https://onceivegone.com/)

</comment><comment><USER8> This line of thinking is exactly what got me down the path of building out Passbox fwiw.

[https://passbox.co](https://passbox.co)

</comment><comment><USER9> IANAL. What kind of accounts? If you're talking about accounts that contain any assets (e.g. bank, brokerage, e-commerce, ...), there shouldn't be a need to have a password for your estate to access them. Other than that, did you mean accounts that contain non-public information, or did you want to pass down the control of -say- your social media accounts to your folks?

<comment><AUTHOR> Sure, so here are some examples: \- Password to laptop + encrypted drive \- Email passwords \- Domain registry + live sites care instructions \- Recurring charitable donations I would like to continue \- iCloud account and phone passcode

There's plenty more, but as I dig deeper there's a lot that I'd like to make sure my wife has access to.

</comment></comment><comment> Maha-pudma Keepass vault on computer and copy on usb which wife is aware of. Master password with lawyer with instructions on where to find key file and how to use.

No third party to deal with.

</comment><comment><USER10> I Keep a last will and testament, and all legacy credentials on an Arcanus 55 keypad encrypted USB device. My Family and lawyer have the PIN.</comment>


Startup struggle, Crashing a party to get into 500 Startups - <AUTHOR> http://blog.safeshepherd.com/post/19975988812/startup-chaos-and-crashing-our-way-into-500-startups

<comment><USER2> I seriously hate being this guy, but this is taking short-sightedness to a ridiculous level. You guys drifted from one idea to another to another like a windsock. Then you suggested that you decided to pitch an investor about the idea you were "passionate about" that you got from a thread on Reddit, seemingly days before. See the problem here?

The other question I have is why you were so adamant about getting funding. If the idea is so good and people want it so badly, why seek investment? I don't mean this as a dig. I just don't understand why so many people wanting to start businesses work from the assumption that they need to make obtaining funding the end goal, and if they get into an incubator or get some investor money, they win. Nowadays, it seems like building a successful company is a process that is tightly guarded like entrance to an elite university, and if you don't get in, you can't succeed. In reality, there has never been a time as favorable for starting a purely tech-based company than right now. You can do in a few hours of work per week what used to take a team of full-time engineers several months. You don't need to invest in equipment or inventory. And yet, ironically, it seems that the companies that most desperately seek funding (and most often get it) are the companies that least need it.

That said, having advisers is another matter, and I know that having connections in high places is never a bad thing. My point is that I think the process described here, (and in so many articles on Mashable and TechCrunch) unnecessarily discourages people, and prioritizes the unimportant aspects of building a business.

<comment><USER3> This was an entertaining and interesting story but at the end of it I couldn't help but feel a bit discouraged: "great so this means I have to go find somebody to mentor me? To fund me? Should I be talking to more potential users about my idea? What if zero of them cream their pants? What if they all do and someone steals the idea... I'm just one guy, two people are guaranteed to finish this faster. And I thought the OTHER guys said the other day not to talk about your idea until you had something visible, and that's been working well for me. What if I waste my time on this and nobody likes it. Etc."

I think it's important to remember there are many ways to start a product and a business around that product. If the approach in the post appeals and works for some guys - great, go for it. Worst case all you lose is some money and time, but for most of us that's NOT the end of the world.

I'm not comfortable going their route because I really believe I have solid ideas that will generate revenue without needing more funding than my savings can provide, and these are _my_ ideas that I don't want to share ownership with anybody else. A mentor would be nice but these ideas are also about my personality, and I've been through too many situations where people with more charisma and experience try to tell me what to do and I give in to their greater wisdom at the cost of feeling somehow cheated... I want to burn my own fingers, for some reason, and that's the route I'm going to take. (I suspect that what will happen, though, is that in the process of burning my fingers I will meet a great medic.)

</comment></comment><comment><USER4> Glad to finally know the story!

Are you guys the reason why they locked the 500 offices permanently (so you can only get in with a iPhone app)? Did Dave finally tire of all the ramdom dudes pitching him?

</comment><comment><USER5> Eh... so, they just basically just wanted to get some VC money at any cost. Ok.

</comment><comment><USER6> Please hyperlink any mention of Meloncard or any other product that remains live, you're on the front page of Hacker News make the most of it! I had to _search_ for your product, that's so backwards!

<comment><AUTHOR> We changed the name of our product, same thing as safeshepherd the blog it was written on :) that happened much later

</comment></comment><comment><USER7> Rob, I hope in a year or so you will write an update and this will be as exciting as current one!

<comment><USER4> Just wait till he talks about A/B testing the name from MelonCard to PrivacyPlum to SafeSheperd. How many hours did you spend on that domain name suggestion website?

<comment><USER8> PrivacyPig would have been SO much more awesome.

(and i still have it btw)

</comment></comment></comment><comment><USER9> The funniest part of this for me is that my friends' company is halfbaked.com.au...

</comment><comment><USER10> old school hustle meets lean startup management. love it!

</comment><comment><USER11> Is this a good place for feedback? Please emphasize that you're only currently offering service for people in the US.

<comment><USER12> Appreciate the feedback. We're always working to better incorporate international users, but the good news is that most people lookup websites are very US-focused. We're working on asking for city/state/country/postal code if you don't have a US zip code. -Geoff

</comment></comment><comment><USER13> It's great to see you reaping a reward for going out on a limb - congratulations!

How do you think your pitch would have been received had this been in a more traditional forum? Do you think you would have achieved the same results, or would you have pitched a completely different angle?

</comment><comment><AUTHOR> All of it true. The good, the bad, the ugly of learning how to build a company, take risk, and make things happen.</comment>


DM48 Digital Chromatic Harmonica - <AUTHOR> https://www.lekholminstruments.com/ <comment><USER2> I noticed a Yamaha vl-70m in the first video. That's a very interesting synthesizer that (if I remember correctly) was in continuous production for about twenty years. It does physical modeling of various acoustic instruments. They're fairly rare, but they're popular with those who play midi wind controllers because they allow for more realistic expression control than a more typical "play pre-recorded sample when someone hits a note" digital rompler synth.

<comment><USER3> Yeah if this thing does MPE its going to be easier to use with an ipad or running a DAW that has MPE compatible plugins like bitwig, logix prox or cubase. Those hardware were hard to find in the 90s when they were new, compared to the dx7 this module only ever say small production runs.

</comment></comment><comment><USER4> Cool project! But, as with other electric instruments, not quite the same as the traditional equivalent:

"Compared to an acoustic harmonica, the DM48 is less expressive in many ways, as mouth geometry, hands, and classical bending/overblows cannot be used to modulate the sound. [...] the DM48 cannot in any way replace or convincingly emulate an acoustic harmonica."

<comment><USER5> Also,not sure you'd overblow or bend a chromatic harmonica (I only have diatonics, so, not sure if it's done for colour)

<comment><USER6> I play both (badly) and while it is possible, I find it a lot harder and often miss the specific pitch I'm trying to bend too (with quite unpleasant results!). I am not sure why this is, but I suspect the slide mechanism and the larger volume make it harder to load the reed just right..

<comment><USER5> That was my assumption, although I have never been close enough to a chromatic to try (also, I can barely bend on the diatonic yet, I haven't been playing for long). I just looked up more information on bending on chromatics (the harmonica.com forums) and indeed, doable, but not supposed to sound as good as the chromatic on its own. Interesting to know, and thanks for your answer :)

</comment></comment></comment></comment><comment><USER7> A nice idea, but it sounds as if they're not quite able to get the input latency low enough. It needs to be around 3-4ms or less. Here it seems as if it's more in the 10-20ms range, judging from the demonstration videos. It's enough to throw a performance off, and to make everything sound just slightly behind.

It could be that it's not the input latency itself, but rather the tapered nature of the wind instrument attack curve. If a tapered attack curve is used to set of the playback of a sample, that could in itself also introduce extra input latency. It's not entirely clear what's happening here.

</comment><comment><USER8> Its a pity that its tethered like that. Bluetooth LE (Low Energy) is low latency and perfect for this use case.

<comment><USER9> "Low latency" is still like 10-20ms, which is very noticeable for a professional musician.

<comment><USER6> Then again, mechanical instruments can have quite a bit of latency themselves, for instance: It takes a while for the reed in a harmonica to settle into a specific vibration when activated, especially when bending notes. Same for a string in a bowed string instrument. I find it interesting to see that that mechanical latency is something that a good musician learns to use and becomes part of an instruments "character" and "expressiveness" while digital latency is almost universally considered a bad thing.

<comment><USER10> oof, not comparable at all. The increased mechanical latency from a cello, compared to a violin, is an incredible source of tonal and musical complexity. First of all, the latency can be felt by the musician, so I don't lose control of the feedback loop. Second, the latency isn't a hard start/stop, but you can feel and hear the string first displacing under the bow and then starting to move. There is zero latency in terms of the physical universe... there is just some more latency between when you start an action and when the note reaches its full steady state.

The comparison is like the difference between driving a truck and a car compared to driving a car with a 500ms delay on its inputs.</comment></comment></comment></comment>