Chopping the Numeric Keypad off a Microsoft Natural Keyboard - <AUTHOR> http://www.tlb.org/keyboardchop.html <comment><USER2> > I'm now trying to retrain my hands to keep the mouse closer. I find that I > naturally end up keeping the mouse in about the same place as always, far to > the right of the keyboard.

Ha ha. Irony of ironies. Keeping your hand farther away from your body is actually good because it guards against cubital tunnel syndrome: <http://www.eatonhand.com/hw/hw007.htm>

<comment><USER3> You misunderstand. The cubital tunnel article suggests you increase the space between your body and your work (move further away from the desk). This is to decrease the amount of bend in the elbow joint. Moving the mouse closer to the keyboard decreases the distance between your elbow and your body, which helps relieve your trapezius and deltoid muscles, but does not affect elbow angle.

Hope that helps.

<comment><USER2> It could be that my estimation of other people's elbow angles are incorrect. When I place my hand above the numeric keypad, my elbow angle is about 100 degrees. When I move it about 10 inches to the right, it increases to about 120 degrees.

This might be because of my typical seated posture - I lean quite far back in my chair.

If, however, I slouch forward towards my monitor, with my shoulders off the back of the chair, the increase in elbow angle when moving my hand 10 inches to the right is much smaller.

</comment></comment></comment><comment><USER3> I've performed this particular piece of surgery. It was easy, took about 60 minutes total and worked just fine.

</comment><comment><USER4> Hasn't this been added before in HN ?

<comment><USER4> Hey because I was downmoded and my ego was hurt I looked into the matter further and the OP link was not actually posted before in HN, but I saw it as part of a discussion in HN some time ago - <http://news.ycombinator.com/item?id=185883>

Good to know that my memory is kinda ok !

</comment></comment><comment><USER5> "As a special bonus, the manufacturer's logo goes with it."</comment>


Show HN: Regex Cheatsheet - <AUTHOR> https://ihateregex.io/ <comment><USER2> OK, these kinds of regex tools get posted quite often. I get it, regex is very confusing at first. And some of these use-cases result in rather complex expressions nobody should be forced to write from scratch (you are still remembering to write unit tests for them though, right?)

But as someone who actually knows [some flavours of] regex fairly well, what I would _really_ like, is a reference that covers all the subtle differences between the various regex engines, along with community-managed documentation (perhaps wiki pages) of which applications & API versions use which flavour of regex.

For example, the other day I wanted to run a find on my NAS. I needed to use a regex, but the Busybox version of find doesn't support the iregex option, so all expressions are case-sensitive. With some googling, I was able to find out that the default regex type is Emacs, but I wasn't able to find either a good reference for exactly what Emacs regex does and doesn't support, nor any information about how to set the "i" flag. In the end I had to manually convert every character into a class (like [aA] for "a") which was tedious, but quicker than trying to find a better solution or resorting to grep.

A related, annoyingly common pattern is that the documentation for `find` states that `--regex` specifies a regex, but it does not state _which_ flavour of regex. The documentation for certain versions of `find`, which support alternative engines, note that the default is Emacs. From this I was able to infer (perhaps wrongly) that the Busybox `find` uses Emacs-flavoured regex, but ultimate I still had to resort to some trial-and-error. This problem is all too common in API documentation.

<comment><USER3> Honestly, as a noob, this is one of the biggest reasons I have such a hard time deciding to learn regex.

Python flavor would probably be different than PCRE, which is probably different than JS flavor.

Even worse is that it might be too late to standardize all the regex flavors because there is already _so much_ written in different regex flavors that it just costs too much for them to become obsolete in the future.

This is really demotivating.

<comment><USER4> > Honestly, as a noob, this is one of the biggest reasons I have such a hard > time deciding to learn regex.

Clear your afternoon, and just learn it. Seriously, it takes a couple of hours at best and then - BOOM - you're done for the rest of your life.

<comment><USER5> > you're done for the rest of your life.

If that were so easy then I don't think much of these cheatsheets would exist.

<comment><USER6> The cheat sheets exist because people aren't learning regex. You don't need to learn every flavor of regex, just the one or small number you need to know. And once you know the basics, the differences are very minor.

</comment></comment></comment></comment></comment><comment><USER7> I use regex a lot but deliberately keep it simple.

One thing that confounded me often was positive and negative look-arounds. I always got the expressions mixed up, until I just put the expressions into a table like this...

                  look-behind  |  look-ahead
        </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
        positive    (?<=a)b    |    a(?=b)
        </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
        negative    (?<!a)b    |    a(?!b)

It's not hard, but for whatever reason my brain had trouble remembering the usage because every time I looked it up, each of those expressions was nested in a paragraph of explanation, and I could not see the simple intuitive pattern.

Putting it into a simple visualization helps a lot.

Now, if I can find a similar mnemonic for backreferences !?

<comment><USER8> Maybe it's easier to remember that lookbehinds are evil from an implementation standpoint, and even in Perl have arbitrary limitations. If you see lookbehinds, look away! If you see lookaheads, go ahead.

<comment><USER9> Oddly, lookbehinds are evil only in a specific backtracking world. We never got around to implementing arbitrary lookarounds in Hyperscan ([https://github.com/intel/hyperscan](https://github.com/intel/hyperscan)) but if we had done something in the automata world to handle lookaround, lookbehinds are _way_ easier than lookaheads.

To handle a lookbehind, you really only need to occasionally 'AND' together some states (not an operation you would normally do in a standard NFA whether Glushkov or Thompson). To handle lookaheads... well, it gets ugly.

<comment><USER8> Even for non-fixed length expressions?

<comment><USER9> Variable-length backward asserts are _fine_ in automata-land, which is a bit peculiar.

</comment></comment></comment></comment></comment><comment><USER10> Nobody pointed it out, but there's also [https://regexr.com/](https://regexr.com/)

It's how I learned regex years ago, and I still use it today to test/build more complex patterns.

<comment><USER11> My go-to is [https://regex101.com/](https://regex101.com/)

<comment><USER10> Didn't know about this. Thanks!

<comment><USER12> We use it on slack and irc for debugging people's regular expressions all the time. Being able to have 30 revisions to a base regex to troubleshoot is fantastic.

Plus the quiz is awesome.

</comment></comment></comment></comment><comment><USER13> I'm loving the graphs which for the first time in years are giving me an idea of what an expression is actually doing. Just because the visualization is kept in a form that is easy to understand with a programming background but can also be translated to the expression itself in a straightforward manner.

<comment><USER14> Graphs for these really hammer home the point that regular expressions aren't magic. Parsers have so many abilities that when starting out, my expressions were horribly inefficient and missed many corner cases. Learning to graph them just like automata immediately made things easier.

When green devs are having trouble with regular expressions (and don't have a formal computer science background), I like to give them a crash course in DFAs.

</comment></comment><comment><AUTHOR> I used to spend hours trying to craft the perfect expression for my scraping projects not realizing that I don't really know regex.

This tool is a cheat sheet that also explains the commonly used expressions so that you understand it.

\- There is a visual representation of the regular expression (thanks to regexpr)

\- The application shows matching strings which you can play around

\- Expressions can be edited and these are instantly validated

</comment><comment><USER15> I love regex and have no trouble reading them, but still love this tool, great job. I especially like the railroad diagrams, for those cases where I brainfarted on a regex and it's doing something other than what I intended. Thanks for this.

<comment><AUTHOR> I'm glad you like the tool <3 It will have a lot more content soon :)

<comment><USER12> If you want some help swing by #regex on efnet, happy to help.

</comment></comment></comment><comment><USER16> I used to use this site [http://txt2re.com](http://txt2re.com) which is now off the grid, at the least since yesterday. :(

Unlike most regex helpers, in this one you would start with the text you want to filter/parse and then it would suggest you possible extractions.

Do you know any alternatives?

<comment><USER17> same, looking for an alternative to txt2re.

</comment></comment><comment><USER18> Nice work on this!

Something subtle, but I quite loved the email regex is, IMHO, close to perfect: \S+@\S+\\.\S+

Because the "perfect" one is just absurd, and no one realizes it's going to be so fucking absurd until they start getting support cases and then go read something like this: [https://stackoverflow.com/a/201378/931209](https://stackoverflow.com/a/201378/931209)

> If you want to get fancy and pedantic, implement a complete state engine. A > regular expression can only act as a rudimentary filter. The problem with > regular expressions is that telling someone that their perfectly valid > e-mail address is invalid (a false positive) because your regular expression > can't handle it is just rude and impolite from the user's perspective.

<comment><USER19> Even this regexp has false positives.

The `ai` ccTLD ran their own mail server at the root, so an address like `a@ai` was a valid email address.

They serve a website at the tld root: [http://ai./](http://ai./)

</comment></comment><comment><USER20> I have a secret hobby of answering python + regex questions on stackoverflow with pure python.

<comment><USER21> Examples?

<comment><USER20> _secret_

</comment></comment></comment><comment><USER22> Very cool! The site that worked best for me to learn regex was [https://regexcrossword.com/](https://regexcrossword.com/) \- after solving my way through all of them (I got really hooked when I discovered the site) I found I was alright at regex.

<comment><AUTHOR> Thank you for sharing that. looks good

</comment></comment><comment><USER23> >/h.llo/ the '.' matches any one character other than a new line character... matches 'hello', 'hallo' but not 'h llo'

in the cheatsheet is false. ([https://regexr.com/4tc48](https://regexr.com/4tc48))

`.` can match any character except linebreaks (including whitespace)

<comment><USER24> `.` "can" match any character including linebreaks if the regex engine is in re.DOTALL mode (Python) or SingleLine Mode (.Net).

</comment></comment><comment><USER25> One thing i've always missed from the Perl programming language is the regex operators.

You could do:

      my $var='foo foo bar and more bar foo!!!';

      if($var=~/(foo|bar)/g){  # does the variable contain foo or bar?

        print "foo! $1 removing foo..\n";

        # remove our value..

        $var=~s/$1//g;

      }

<comment><USER26> So did I: [https://github.com/radiac/python- perl/](https://github.com/radiac/python-perl/)

<comment><USER25> Awesome job, i did a hack bootstrapping the tokenizer to do the same thing in php, didn't release it though.

</comment></comment></comment><comment><USER27> neat site! clicking an example opens up a playground with live update and explanation and railroad diagrams, similar to sites like regex101[1] and regulex[2]

one suggestion would be to mention clearly which tool/language is being used, regex has no unified standard.. based on "Cheatsheet adapted" message at the bottom, I think it is for JavaScript. I wrote a book on js regexp last year, and I have post for cheatsheet too [3]

[1] [https://regex101.com/](https://regex101.com/)

[2] [https://jex.im/regulex](https://jex.im/regulex)

[3] [https://learnbyexample.github.io/cheatsheet/javascript/javas...](https://learnbyexample.github.io/cheatsheet/javascript/javascript- regexp-cheatsheet/)

<comment><AUTHOR> Totally agreed! Right now I only support javascript. But for everything shown there, it's pretty much the same for most flavors

</comment></comment><comment><USER28> Plug for Verbal Expressions (no affiliation), which has an alternate way of compiling more human-readable regexes for a dozen languages: [http://verbalexpressions.github.io/](http://verbalexpressions.github.io/)

<comment><USER29> I remember that library. A year after I made regexpbuilder [https://www.npmjs.com/package/regexpbuilder](https://www.npmjs.com/package/regexpbuilder) that library suddenly appeared, and was basically a rip-off of the concept I appear to have created (there was no such other library before regexpbuilder), but is also fairly useless because it doesn't look like it could represent more than about 10% of the possible regular expressions. Yet there was no mention of my library at all in the readme of verbal expressions.

</comment></comment><comment><USER30> This is awesome! Thank you! I hate regex, too, but I love your inline railroad diagramming tool.

<comment><AUTHOR> Haha thank you <3

</comment></comment><comment><USER31> Regex are quite simple and useful but my only issue is with those recursive things. Like how do you match balanced brackets? I have a regex (pcre) copy- pasted for it but for the life of me I don't get it or maybe nod my head but instantly ununderstand it. I wish there was a simple to understand doc that teaches to me how I can match something like:

        "(this is inside a bracket (and this is nested or (double nested)))

P.S. I know token parsing is better for these things but still I just want to learn the other thing too.

<comment><USER32> Balanced paranthesis are not a regular language, so it s theoretically imposdible to match them with regular expressions.

In practice, most regexp implemenations you see are more powerful then regular expressions. For instance, .net has a balancing groups feature [0] for exactly this usecase.

[0] [https://regular-expressions.mobi/balancing.html?wlr=1](https://regular- expressions.mobi/balancing.html?wlr=1)

<comment><USER31> The regex I've copy-pasted is this:

        $str = "(this is inside a bracket (and this is nested or (double nested)))";
        do {
            preg_match_all('~\(((?:[^\(\)]++|(?R))*)\)~', $str, $matches);
            echo $str = $matches[1][0] ?? '', "\n";
        } while($str);

Outputs this [1]:

        > this is inside a bracket (and this is nested or (double nested))
        > and this is nested or (double nested)
        > double nested

You're right that there is more processing involved (e.g. while loop) but I still don't understand this part

        '~\(((?:[^\(\)]++|(?R))*)\)~'

[1] [https://rextester.com/MEH86820](https://rextester.com/MEH86820)

<comment><USER32> A couple of things going on here.

First, the "~" characters aren't really part of the regular expression. As far as I can tell, they are delimeters to mark the start/stop of this. Often you will see "/" used for this purpose.

Next is:

      \( ... \)

This matches a pattern that starts with the literal character '(' and ends with ')', where what comes between them matches the elided portion. Since parantheses have special meaning in regex, we need to espace these characters.

Continueing are way inward, we see:

        ( ... )

Which is non-escaped parentheses. This is a pattern group, and is used to treat the pattern within it as a single unit. For example the pattern "ab _" would match abbb, but not ababab, because the "_" (repeat) modifier only applies to "b". However "(ab) _" matches "ababab", but not "abbbb". In this case, there is no modifier, so these parantheses have no effect on what string matches the overall expression. However, many implementations also use paranthesis to define matching groups, which means they will return whatever is captured within the parantheses as a match. Essentially, the pattern of:

      \(( ... )\)

means, find a string that starts with '(' and ends with ')', and pull out everything in the middle.

Next comes a simmilar construct:

      (?:...)

There are 2 things going on here. This matches whatever is being elided by ..., however the library does not return it a separate result. This is used when you need to group things together within a regular expression, but do not want that specific grouping returned as part of the result. The "_" here means that the entire pattern can be matched any number (including 0) of times, and should be matched as many times as possible.

Next is

       [^\(\)]

The square brackets indicate that you should match any character within a particular set. The "^" in the beggining of square brackets means that you are inverting the selection, so you will match any character except those specified. The remaining characters, are paranthesis literals.

The first "+" indicates that the pattern should match 1 or more of the previus entity. In the case of [^\\(\\)]+, this would mean that it can match one or more non paranthesise characters.

The second "+" is different. Since quantifiers are not allowed to follow other quantifiers, the above meaning does not apply, and the langauge was allowed to overload the symbol. This modifies the previous quantifier to be greedy, meaning it will consume as many characters as possible (e.g. all characters until it hits a parenthesis). I don't think this is technically needed in this case, but probably improves efficiency.

The next component is "|", which means to match either the pattern on the left, or the right.

The next step is not a regular expression, but one of those "more powerful" additions I mentioned. (?R) is a recursive match, and matches whatever the overall expression matches. Eg, when your expression runs into a nested paranthesis, it recurses and parses the substring as a balanced paranthesis string.

Putting this all together (and ignoring whitespace while adding comments; as most major regex engines have an option to allow you to do):

        \( #Start with an open parathesis
        (  #This is the beginning of the region I want to extract
          (?: #Group the following pattern together, but don't save the matching substring
            [^\(\)]++ # Match until a parenthesis character, assuming that would match at least 1 character
            | # Or
            (?R) #Match a string with balanced paranthesis (assuming that is what the overall regex does).
          )* #Repeat the preceeding pattern as many times as nessasary
        ) #End the region I want to extract
        \) #The next character should be a close paranthesis.

Looking at an example of this:

      (aaa(bbb))

First, we match "(". Then we try to match (?:[^\\(\\)]++|(?R))* as a matching group.

This matches [^\\(\\)]++|(?R) as many times as necessary.

At this point, are remaing string is "aaa(bbb))".

Since the pattern we are matching this against is an "|" pattern, we have 2 options: we can either match against: [^\\(\\)]++, which would match "aaa", or we could match against (?R), which would fail, since the first character is not '('. As such, we match "aaa". Since this grouping was defined using (?:) instead of (), we do not save "aaa" as a separate result

Next, since the group is modified by "*", we can either match another instance of it, or move on to match the closing ")". The next character is not ')', so are only option is to match another instance of "[^\\(\\)]++|(?R)"

At this point the remaining string is (bbb)), so [^\\(\\)]++ fails to match, since it requires at least one character before the '('. However, now (?R) works and matches (bbb).

Now are remaining string is ")" and our options are again to match either "[^\\(\\)]++|(?R)", or ')'. At this point, neither [^\\(\\)]++ nor (?R) work, so the only option is to leave the repetition and match the closing ')'.

<comment><USER31> Wow thanks for explaining it to me so wonderfully. Your explanation for the double ++ really helped me since that part never made sense to me before. I guess the ?R probably only works with PHP? I will try to make some more examples for the ?R to try out today so I can learn the full power of it.

Again I'm so grateful to you for the explanation. One more thing I've learned from it is next time a regex makes my head explode, I'll just break each character in one line and write a comment next to it!

</comment></comment></comment></comment></comment><comment><USER33> Nice tool! I personally use [https://regex101.com/](https://regex101.com/) as I like the explanations and quick reference.

</comment><comment><USER34> Nothing will ever beat RegexBuddy when it comes to Regex tools. It is an entire IDE just for regex, and has been my not-so-secret weapon for a decade or more.

</comment><comment><USER35> This is really cool!

2 points:

1\. it fiddled with my back button which is a bit annoying

2\. a better email sample is

        ^[^@]+@[^@]+\.[^@]+$

which removes the 2 ampersands problem.

<comment><USER36> Even that is wrong because you can have privately owned TLDs (I forget what they're technically called) like .google

So sundar.pichai@google is technically a valid address (whether .google has any MX records is another matter)

Regex shouldn't really be used for email addresses anyway because the only reliable way to authenticate an email address is to literally send an email to that address.

<comment><USER37> AFAIK none of the TLDs allow for MX records on just the TLD

i.e. johndoe@com will never exist

<comment><USER36> I'm not on about gTLDs like .com, I'm on about the privately owned ones like .amazon and .google

<comment><USER37> I didn't say gTLDs. The _id est_ applies to all.

<comment><USER36> TLDs can be managed very differently depending on the owners so I don't think it's safe to assume "applies to all" just because there is a rule in place for some gTLDs.

</comment></comment></comment></comment></comment></comment><comment><USER38> Is there a bug? In regexp for IPv4: [https://ihateregex.io/expr/ip](https://ihateregex.io/expr/ip) expression ends with {3} but the diagram states "2 times" in lower right - shouldn't it say "3 times"?

<comment><USER39> I think it says "repeat 2" times. So basically you'v already went through the group and then 2 more times.

Because if I specify x{0,3}, i have 2 paths - around x and thru x + at most 2 more times

<comment><AUTHOR> Yep you are right

</comment></comment></comment><comment><USER40> I don't understand why the Github repository lists regexper as the source of the visual graph code but the frame only shows iHateRegex as watermark?

If the only thing that is embedded in that frame was taken entirely from a different project, that project should at least be mentioned in the frame.

</comment><comment><USER41> Really nice idea.

I found that you can see your own regex with railroad diagram by going to one of the prepopulated examples and editing it. However, it wasn't clear to me that's the intended use of the tool. It's either a little side-effect, or not super-discoverable.

</comment><comment><USER42> I always refer back to [http://rexegg.com/](http://rexegg.com/) Not a tool as such, but a good reference if you know how it works and just need to refresh on syntax.

</comment><comment><USER43> There is no way I would just plop that IPv6 regex into any serious program. :)

</comment><comment><USER44> For the love of god, PLEASE DON'T USE REGEX TO VALIDATE EMAIL. The RegEx of this website ignores plus-addressing, for example. All you need to do to validate email is send a verification email.

<comment><USER45> not just the email regex is simplified (and at the end plain wrong). Also the one for phone numbers is highly simplified and will not match all valid phone numbers...

</comment></comment><comment><USER46> This is awesome but.... I don't hate regex. Matter of fact, I love regex.

<comment><AUTHOR> check out the ipv6 one :)

<comment><USER46> I've had to write regex for deeply proprietary SQL-like (the word "like" is a big BIG stretch) language. This really is nothing. The regex itself was 4 pages long. AFAIK they still use it in production, almost 10 years later with 0 modifications.

¯\\_(ツ)_/¯

</comment></comment></comment><comment><USER47> ^[a-z0-9_-]{3,15}$

The username reference doesn't match 16 characters as claimed

<comment><AUTHOR> I should match. the number 15 there means that repeat x up to 15 times. so 1+15=16.

looks good to me

<comment><USER48> That is not correct. 15 is total maximum number of repeats including the first one. Even the diagram on [https://ihateregex.io/expr/username](https://ihateregex.io/expr/username) correctly says that loop can be taken between 2 and 14 times.

</comment></comment></comment><comment><USER49> For email specific regular expression, it's all covered on [https://emailregex.com](https://emailregex.com)

</comment><comment><USER50> These regexs are garbage. Others have suggested better sites for learning how to construct regexs, and stackoverflow has plenty of great examples.

<comment><AUTHOR> Why don't you link them with the comment

</comment></comment><comment><USER51> Thumbs up for the relatable domain name.

<comment><AUTHOR> Glad you find it that way

</comment></comment><comment><USER52> Either I'm a regex wizard and don't know it, or perhaps I think I know something but know nothing at all but I've never complained about using regex expressions. I use them all the time without thought. Never quite figured out the need for a cheatsheet either, your language of choice should have a good documentation page for any specific supported syntax.

</comment><comment><USER53> love the idea! I would crowdsource it so people can add their regex and vote on other people rexgexes!

</comment><comment><USER54> The IPv6 regex is surprisingly complicated.

<comment><AUTHOR> Yeah. this is when you start to have 2 problems

</comment></comment><comment><USER55> This is very neat, thank you!

</comment><comment><USER56> Would be nice to have a regex for parsing HTML...

 _grabs popcorn_

<comment><USER57> Easy with a sufficiently powerful engine: [https://stackoverflow.com/a/4234491](https://stackoverflow.com/a/4234491)

Relies on ?(DEFINE): [http://p3rl.org/perlre#(DEFINE)](http://p3rl.org/perlre#\(DEFINE\))

<comment><USER58> There is a good comment on that answer:

> To sum up: RegEx's are misnamed. I think it's a shame, but it won't change. > Compatible 'RegEx' engines are not allowed to reject non-regular languages. > They therefore cannot be implemented correctly with only Finte State > Machines. The powerful concepts around computational classes do not apply. > Use of RegEx's does not ensure O(n) execution time. The advantages of > RegEx's are terse syntax and the implied domain of character recognition. To > me, this is a slow moving train wreck, impossible to look away, but with > horrible consequences unfolding

</comment></comment></comment><comment><USER59> Good tool</comment>


It's Gonna Blow! The Critical Mass of Web 2.0 - <AUTHOR> http://www.seomoz.org/blog/the-critical-mass-of-web-20 <comment><USER2> Metaphors should come with safety warning labels so that drunkards don't wield them incorrectly.

Yes, this poor woman is drunk. She's just discovered the existence of slush --

<http://nielsenhayden.com/makinglight/archives/004641.html>

\-- and now she's convinced that the entire universe is made of tightly packed quantum units of idiocy. It's an understandable reaction. I believe that professional editors (see link, above) actually use the technical term "slush drunk". I hope she sobers up soon.

Fortunately, a pile of poorly conceived websites will not "blow", no matter how large that pile is. There is no "critical mass". It just doesn't matter (except to the people who are bold enough to volunteer to review them individually) that the world contains 2,000, or 20,000, or 200,000 stupid websites. At worst, we all just ignore them. At best, they employ webhosts, and sysadmins, and programmers -- it's like complaining that the oceans are too dirty because there are too many bacteria and plankton everywhere.

But one of the things the web does well is ensure that it's really easy to sit at your desk and make a list of 10,000 crappy businesses. It used to be fairly difficult to make a big list of crappy businesses -- they don't last long, by definition, and most of them don't have a high profile, by definition. Now you can find twenty of them before breakfast. Submissions like this one practically write themselves.

<comment><USER3> The biggest difference is cost. While "Web 1.0" actually went bust because of funding, it costs practically nothing to build something and run it on a dinky little server. As long as nobody is throwing millions of dollars towards crappy businesses, they just won't scale and not matter.

</comment></comment><comment><USER4> What she's saying is that a bad idea with bad execution will end badly. That isn't exactly revolutionary. If people panic and the Web 2.0 bubble "pops" because bad businesses die, then some people seriously need their head examined.

The end point is that businesses, whether Web 1.0, Web 2.0, or what have you, need both a good idea and to have it be executed well. Trying to believe that the business is immune to those laws just because it is executed over the Internet is asinine. The people who found these companies and the people who invest in them will get burned.

And they should. And it will be _good_ for the industry.

</comment><comment><USER5> _Of course, I am not talking about Flickr...What I've been faced with in the last forty-eight hours are their painful copies_

...Flickr, of course, being a copy of a copy of a copy of a copy of a copy. I can't speak for the other sites she mentions, but they are probably all highly derivative.

</comment><comment><USER6> 90% of everything is crap. Except crap, 100% of crap is crap. (tmcm)

<comment><USER7> awesome!</comment></comment>


What do Bosnia, Bulgaria and Brazil have in common? - <AUTHOR> http://roarmag.org/2013/06/protests-brazil-turkey-bosnia-bulgaria/ <comment><USER2> "...have in common?"

Interesting phrasing or interpretation of a harmonic-pathological street protest violent process:

"resonance of resistance":

"social struggles in one place in the world transcending their local boundaries and inspiring protesters elsewhere to take matters into their own hands and defy their governments in order to bring about genuine freedom, social justice and real democracy..."</comment>


Nature thinks we could safely wipe mosquitoes off the face of the earth. - <AUTHOR> http://www.nature.com/news/2010/100721/full/466432a.html

<comment><USER2> I am no fan of mosquitoes personally, but pollination is the key thing. Esp. now with the shortage of bees. There may not seem like a direct link to humans.

 _Without mosquitoes, thousands of plant species would lose a group of pollinators. Adults depend on nectar for energy (only females of some species need a meal of blood to get the proteins necessary to lay eggs). Yet McAllister says that their pollination isn't crucial for crops on which humans depend._

But mess with one part of the ecosystem and risks that it will affect things globally go way up. I'm surprised Nature isn't more circumspect about this..

<comment><USER3> From my experience, there is no shortage of bees-- only honey bees, which are cultivated as agricultural pollinators and inbred so as to, apparently be less resistant to disease and parasites.

In my garden last year, no honey bees, but 3 other species of bees all over the lavender, Rosemary, and other flowers. This year, the honey bees are back, mostly on the borage, which they love.

</comment></comment><comment><USER4> I have often thought the same thing. I have no "moral" or any qualms about this. If we have eradicated smallpox why not the mosquitos or the AIDS virus. However, let's not go too fast on this:

First, if you read the article, there's considerable disagreement among the scientists on what the effects of the disappearance of the mosquitos would be.

Second, fiddling with super-complex systems without having even a rough estimate of the possible effects may be disasterous. Typical example is <http://en.wikipedia.org/wiki/Invasive_species_in_Australia>, where success is mixed.

</comment><comment><USER5> This seems a spectacularly foolish idea. Believing that we understand the emergent complexity of any ecosystem to the point that we can predictably alter it is a fallacy we've repeatedly disproven, and yet this is talking about altering the ecosystem of the entire planet.

<comment><USER6> We wipe species off the planet all the time by accident. Sure, there would be some collateral damage, but you would save millions of _human_ lives a year.

<comment><USER7> Humans are not necessarily more important than anything else. It's a common delusion that, because one is human, humans are the most important species. Basically a more grown-up form of the common belief of children that they are the center of the universe.

The problem with "collateral damage" is that we don't know what it includes. It could include humans, for instance, or it could bring the world closer to humans becoming collateral damage - and we're bringing the world in that direction quickly enough.

EDIT: Instead of downvoting me, please refute my claims. I love being shown how I'm wrong, and take mere downvoting as an acknowledgement that I'm right (as I don't think that I'm trolling - I'm just trying to get interesting conversations going, and to make people think). Focus on the second paragraph, if you would like, it's easier to refute or argue against.

<comment><USER8> You're probably being downvoted because you're stating an uncommon opinion (humans are no more morally relevant than other species) as fact, and your only support is an argument from similarity to child-like selfishness.

I'd argue that humans are more morally relevant because humans have richer mental lives (evidenced by language, culture, etc.), so we have a higher capacity for suffering and caring about our future lives, and suffering/caring are the two factors I find to be intuitively "morally relevant".

How would you convince me that humans are not more important than anything else? Do you have an argument?

<comment><USER7> Yes, that was why I thought I was being downvoted, and as a comparison it could have been better - no one likes being insulted.

So, an individual human is more mentally unique than an individual, say, mouse, and that makes us more valuable than mice? Makes sense. Using that logic, since mice are easy to make more of, and are all essentially the same (birds might be better here, because their minds are even simpler, at least pigeons), they're not so valuable. Which also makes sense, and is basically a restating of the original claim.

No, I don't have an argument to prove that humans aren't inherently more morally relevant; but, before this, neither did I have an argument for why humans are more morally relevant, instead perceiving it as being because we're very self-centered. But now I do have an argument as to why we are, which is an improvement and allows me to take all of the assertions of us being more valuable as somewhat valid, instead of an unproven a priori assumption. So thank you for that.

</comment></comment></comment></comment></comment><comment><USER9> Reversal test: If mosquitos didn't exist in the wild and some species of plants were dying off, would you be willing to reintroduce them to save the plants? Remember, around 250 million people get malaria every year. 1 million of them (mostly children) die from it.

Based on the evidence available, I think the benefits of eliminating mosquitos outweigh the costs. If some plants have to die to save lives and reduce suffering, I'm fine with it.

<comment><USER10> If we managed to eliminate mosquitos, malaria would go with it, just as it has in many developed nations. Afterward, we could reintroduce mosquitos without nearly the risk of malaria we have now.

I'm not sure how true that is of other diseases for which mosquitos are a vector.

<comment><USER11> The purpose of the reversal test is to eliminate status quo bias, not actually pretend the situation is true and offer better solutions.

<http://www.nickbostrom.com/ethics/statusquo.pdf> explains it better than I can (around page 9).

</comment></comment></comment><comment><USER12> What could possibly go wrong? We've done so well engineering complex ecosystems that there's certainly no possibility of unintended consequences. For a great example of success take a look at rabbits in Australia (<http://en.wikipedia.org/wiki/Rabbits_in_Australia>) and perch in Lake Victoria (<http://www.cichlid-forum.com/articles/lake_victoria_sick.php>).

<comment><USER13> Look at Therac-25, the Ariane 5, and the Mars Surveyor! Therefore we should stop all programming!

Argument-by-disaster is a terrible argument, there is not a single human endeavor that has not led to disaster at some point. It proves too much.

Reflexively decrying all environmental modification is _at best_ a cognitive shortcut which should be discarded when it doesn't apply, at worst institutionalized stupidity-by-choice. Dismissing some crank on the Internet who offhandedly mumbles something about eliminating mosquitoes with "what could go wrong?" is appropriate. Dismissing a serious article that seriously asks the question and considers the consequences is a disservice to everyone involved in the article.

You're getting upvoted because you are giving people a chance to mentally feel good about their environmental bona fides because they upvoted you, not because you're making an even remotely valuable argument or contribution.

<comment><USER14> Agreed, but the main point still stands: there can definitely be factors outside of our knowledge and control which we will simply not be aware of until it is too late. The old "life would be so much easier without _this_ little nature's imperfection" attitude has brought some unintended and tragic consequences more than once.

<comment><USER15> Thanks to the general availability and utilization of vaccines against smallpox and polio, massive improvements in sanitation and emergency response, and long-term cardiac therapy, the death rate due to cancers is radically up.

Cancer is a horrible disesase. Which one of those changes should we not have made to end up in the situation we're in today?

<comment><USER14> What causes cancer outside of factors brought about by human intervention?

</comment></comment></comment></comment></comment><comment><USER16> I've completely changed my mind about mosquitoes. I now think they provide a really important, fairly unique ecosystem role and it would be a disaster to get rid of them.

What is it? Well they help recycle the food chain. Those that feed on us are taking energy from the top of the food chain (us) and they then are at the bottom of the food chain. The amount of animals that directly feed from mosquitoes is vast - insects, birds, fish, bats - who then also are part of the food chain themselves.

It's a great role, for a bottom of the food chain animal to feed off the top of the food chain one - especially an animal (ourselves) that causes such ecosystem problems.

If we get rid of mosquitoes what happens to the animals that feed of them? They need to eat something else, something that isn't getting part of its nourishment from the vast, untapped population of top of food chain animals.

<comment><USER17> Mosquitoes eat flowers (nectar) not humans.

Blood provides some protein for eggs, but is not the primary food for mosquitoes.

</comment></comment><comment><USER18> Headline is misleading. "Nature" doesn't have an opinion, it's asking a question and reporting the responses of relevant experts.

<comment><USER19> Yes. The "use original title" rule would work just fine in this case.

</comment></comment><comment><USER17> In 2009 the first case of dengue fever in America since 1934 (also called breakbone fever due to the pain): <http://www.cnn.com/2010/HEALTH/07/22/dengue.fever/> and there have been 28 cases since.

The reason is that DDT is wearing off and we are getting more mosquitoes.

</comment><comment><USER20> the naturalistic fallacy is getting out of hand. I think it's entirely obvious how much the blind idiot god of evolution sucks. or did you want to give up your eyeglasses and allergy medication?

</comment><comment><USER21> You would think a site called "Nature" would provide a less human-centric point of view: "The elimination of Anopheles would be very significant for mankind."

"A stronger argument for keeping mosquitoes might be found if they provide 'ecosystem services' — the benefits that humans derive from nature."

Just because we (might) have the means to eradicate them doesn't necessarily mean we should.

Though the article ends with a quote about how the niche could be filled by something better or worse, most of the article claims that the other organisms that would fill the niche would make things better. There is a pretty big possibility that things could become a lot worse (say, instead of spreading malaria, the replacements spread ebola).

<comment><USER22> Your only valid point is that the replacement organisms might be more dangerous to humans. I find your callousness toward human suffering repulsive. If I could press a button that would instantly wipe out any and all animal species which cause human suffering without any negative consequences, I'd do it in a heartbeat.

<comment><USER23> The animal species that causes the most human suffering is... humans.

(Or were you being facetious? Especially since you shifted the argument from insects to animals.)

<comment><USER24> I would guess that's why there is a "without any negative consequences" condition?

If I could, with the push of a button, kill any and all species which cause harm to humans without, in the process, causing harm to or even killing humans I would do it, too. Sure. No second thoughts about that.

</comment></comment></comment></comment><comment><USER25> I hate nature's flying dirty syringes as much as anyone else, but most of the proposed solutions are either localized to a certain area, or species- specific, or both. Why wouldn't we just start with the disease vector species, then check to see if their eradication had an environmental impact?

</comment><comment><USER26> It seems only cute animals deserve to be saved, and disease carrying ones eliminated. Whereas I hate mosquitoes as much as anyone, but they do have their ecological place. Pandas on the other hand...are suspect.

<comment><USER27> I agree that the effort and money spent on conservation is skewed in favor of cute and furry animals. But there is a real upside to getting rid of mosquitoes. From the article:

 _Malaria infects some 247 million people worldwide each year, and kills nearly one million. Mosquitoes cause a huge further medical and financial burden by spreading yellow fever, dengue fever, Japanese encephalitis, Rift Valley fever, Chikungunya virus and West Nile virus._

</comment></comment><comment><USER28> Naive suggestion: would it be practical, to experimentally do this on one island? For instance, eradicate all mosquitoes on Madagascar.

</comment><comment><USER29> Has nobody at Nature ever read "A Sound of Thunder"? Seriously?

[http://www.lasalle.edu/~didio/courses/hon462/hon462_assets/s...](http://www.lasalle.edu/~didio/courses/hon462/hon462_assets/sound_of_thunder.htm)

</comment><comment><USER30> "the ecological scar left by a missing mosquito would heal quickly as the niche was filled by other organisms."

Would the replacement(s) be more deadlier? I don't think anyone or any simulations can answer that.

<comment> mike-cardwell There are two choices:

1.) 100s of millions of people dying of malaria 2.) 100s of millions of people not dying of malaria, but with likely unintended consequences, either negative or positive, or both.

I'd pick number 2. Number 1 is a pretty bad choice. Worth the risk. Inaction is just as much a choice as action.

<comment><USER30> or 3) unknown # (0-all) of people dying from the replacement(s)

<comment> mike-cardwell That's a subset of 2

</comment></comment></comment></comment><comment><USER31> Shouldn't we focus on getting rid of malaria rather than getting rid of mosquitoes? Their bites are not particularly worse than many other creatures, it's just the malaria that's the problem.

I'm not sure what the best way to do it without wiping out mosquitoes is, but there has to be a way.

</comment><comment><USER14> Two words: population control.

There are too many of us now for them to keep up though.

</comment><comment><USER32> The idea is solid and although I'm not completely sold yet, it's definitely worth more exploring. But my question is, why is this article written by an intern?>?!?!?!?

</comment><comment><USER33> I once called someone I don't like a "human mosquito" because she added no value whatsoever to the world. Good to know that insult is now backed up with science.</comment>


Why English as the Universal Language of Science Is a Problem for Research - <AUTHOR> http://www.theatlantic.com/technology/archive/2015/08/english-universal-language-science-research/400919/?single_page=true

<comment><USER2> When you get down to the meat of the article, all it has is 1) an anecdote about how some Indonesian tribe has special ways of communicating earthquakes, extrapolated to a claim that "indigenous knowledge has a lot to offer the scientific community." 2) that the dominance of English wasn't the case in the 15th through the 17th centuries, never mind that communication between those science communities in different countries was extremely limited compared today in large part because of LANGUAGE. 3) the dominance of English has led to atrophy of scientific terminology in other languages (does there need to be a Spanish, Chinese word for quark?) 4) it hurts some people's self-esteem because they're not good at English yet.

This is all pretty petty and extremely unconvincing. There is nothing here that even remotely makes the case that English is any sort of a problem for science that wouldn't cause massively bigger problems for science if we went back to a giant hodgepodge of languages that no single scientist could ever hope to learn all of to maintain a competence in their field.

</comment><comment><USER3> Why Using a Language That Is Common Between All Scientists (Such as English) Is a Problem for Research

<comment><USER4> In addition to all the arguments given in the article (go ahead, read it), the problem is that English is rather defective a language.

<comment><USER3> Oh, the old "you didn't read it" argument to excuse a horrible article.</comment></comment></comment>


Ask HN: What do you use for search on your app/site? - <AUTHOR>

I've been hacking with Lucene implementing some well known algorithms for a class and it's a pretty good start. But, have been wondering what others out there are using for your everyday crawling and search?<p>I want to explore more into distributed crawlers and other neat search things as well. Specifically, I know Cloudera has some Hadoop VM's, but any other suggestions would be great? <comment><USER2> Are you looking for a specific solution for your site? or just looking to learn more about search algorithms, etc.

If it is the later, you can check out some natural language processing tools like ling pipe.

<comment><AUTHOR> A combination of both. Been learning some algorithms in school, but want to find some good tools to apply it for an app I spec'ing out. Thanks for ling pipe, btw.

</comment></comment><comment><USER3> Assuming you just want search for your users and you're not concerned about how it works Google may well do the job well enough. As long as everything you want to be searchable is public (not password protected) it works pretty well and only takes a few minutes to set up and embed in your site/app.

imo, go down this route if search isn't a core concern. Better to spend your time on whatever is core rather than tweaking with your search if that is peripheral.</comment>


Airbnb (YC W09) Grew 800% in 2010 - <AUTHOR> http://ycombinator.posterous.com/airbnb-grows-800-in-2010

<comment><USER2> Airbnb is the only YC company I've ever recommended to family. My aunt and uncle own a cottage. Previously they rented it out via personal connections (when not in it themselves) and it sat unused better than 330 days a year. Airbnb pretty much instantly makes their lives better. (n.b. I'm not sure if they've started using it yet. Interest was high but, well, you know conversion funnel math as well as I do.)

I also think they've been very generous with how much they've shared on the subject of enjoying good PR. I think they're the best company I'm aware of anywhere on that -- honestly, if they didn't explain themselves so often I would have become convinced that they had a picture of a NYT editor caught in a compromising position with a Fox News anchor and were blackmailing both of them at the same time.

</comment><comment><USER3> Airbnb is a perfect example where technology created a new market, disrupts existing markets while doing really well financially and maintaining strong growth. I hope they stay independent as the founder said and not sell to a big co. which will probably kill the spirit immediately, and ground the product sometime later down the road.

</comment><comment><USER4> Back of the envelope calculation: 800k nights booked * $100/night * their 10% cut = $8M in revenue last year. Impressive.

<comment><USER5> That's an extremely unlikely average price. Most likely you are looking at less than half that.

<comment><USER6> That doesn't change the fact that it's very impressive, even at 'less than half that'.

</comment></comment></comment><comment><USER7> It's a commercial version of <http://www.couchsurfing.org/> or <http://www.hospitalityclub.org/>

Not revolutionary, but great execution.

</comment><comment><USER8> Finally, they're gonna be huge! [1]

[1] <http://www.justin.tv/startupschool/b/272180383>

</comment><comment><USER9> Just wondering, how many people here have used Airbnb? I would think a large number of HN people would use it.

<comment><USER10> I tried when I went to NY a couple months ago. I contacted like 6 people and they all bailed on me ("bailed" in the sense that they had their apt listed as available on the day I wanted to go, but then couldn't offer it to me). It was a week before I wanted to go. I ended up paying for a hotel that was substantially more expensive, but it was definitely available.

I'd imagine this is part AirBnb's core problem. How do you reliably manage the flakiness of both travelers and sellers? How far in advance do you have to start scheduling your trip if you want to use AirBnb? Am I absolutely guaranteed a place to stay even if I pay?

<comment><USER11> I had similar experience with AirBnb in NY too. It was a week before I wanted to go and it took me about 10 requests to get one that's available.

<comment><USER12> Same for me in Sydney. I like to think if they can solve this problem they'll triple their growth rate.

</comment></comment></comment></comment><comment><USER13> They have become a tidy little bank. Holding the cash and stashing the interest.</comment>


Can the Bacteria in Your Gut Explain Your Mood? - <AUTHOR> http://www.nytimes.com/2015/06/28/magazine/can-the-bacteria-in-your-gut-explain-your-mood.html <comment><USER2> Another thing I've been pondering occasionally is what this and other discoveries might mean if cryonic neuropreservation (head/brain only) storage & reversal is ever practical, or if full head transplants become a viable surgery.

Just how much of actual _personness_ is stored in places other than just the brain? Surely the hormonal (endocrine?) systems of the body, as well as things like the microbiome are going to play important roles, although I have no clue if they're _necessary_.

<comment><USER3> In _Principles of Psychology_ , William James speculated that any kind of non- corporeal afterlife would necessarily be non-emotional, since our emotions are felt in our bodies rather than our brains.

<comment><USER4> If we ever managed to emulate our consciousness on other hardware, wouldn't we be also able to emulate bodily sensations and emotions?

<comment><USER2> As an ignorant layperson, I kind of assume we could. A virtual machine _thinks_ it has a network card and a hard disk and whatever, but it's just being given what it expects to see.

The problem I was imagining is that right now we're not recording that data in the way that we're, e.g. scanning the brain's neuron connections. So even if we could rebuild/emulated Frozen Jim's Brain, there may be permanent loss of essential information that was distributed around his lymph system or population of gut bacteria such that 'the same person' cannot be reconstructed.

</comment></comment></comment></comment><comment><USER5> This reminds me of the cases where a course of antibiotics for something unrelated cured chronic back pain.

[http://www.naturalnews.com/040354_chronic_back_pain_antibiot...](http://www.naturalnews.com/040354_chronic_back_pain_antibiotics_spinal_injury.html)

It also reminds me of Russian "phages" bacterial concoctions as cures for certain illnesses. [https://en.wikipedia.org/wiki/Phage_therapy](https://en.wikipedia.org/wiki/Phage_therapy)

<comment><USER6> I think this is one of the mechanisms behind detoxifying fasts. Severe caloric restriction for an extended period (I'm guessing at least 3 days) results in major changes in your gut flora, some of which may persist upon resumption of a normal diet.

</comment></comment><comment><USER7> The problem with this emerging theory about bacteria in the Gut modulating mood, obesity, etc. is very hard to be proved in an _absolute_ way. The number of bacteria's in the gut is extremely high. I think we need much more research on the topic to be absolutely sure we know what we're talking about.

There is a growing awareness about probiotics, but most of the studies I read are not convincing enough, as of today.

<comment><USER8> It's tricky for mood because you use self-reported descriptions of mood.

But for obesity it's not that hard.

Here's one for anorexia and bulemia. [http://www.nature.com/tp/journal/v4/n10/full/tp201498a.html](http://www.nature.com/tp/journal/v4/n10/full/tp201498a.html)

(my description might be wrong) They start with a prediction; they modify mice and show that prediction is true; they then find human samples (staff and patients at an inpatient ED unit) and they find the staff don't have the particular gut flora while patients do. It's going to be really hard to get ethical approval to give the gut flora to healthy people - to give those people anorexia, so there is a missing step.

</comment></comment><comment><USER9> I had my entire large intestine removed over several operations, and i felt no difference in my mood

<comment><USER10> Wow, usually the first step is to prescribe antidepressants

<comment><USER9> No, it was removed for ulcerative colitis. If gut bacteria affected mood I would have noticed now I have a lot less but there wasn't any change.

<comment><USER11> The usual issue is not the overall _amount_ of gut bacteria, but the composition. While bowel surgery _can_ disrupt the composition of your gut flora, it need not have to, and if there was no major accompanying lifestyle changes, it's possible it eventually returned to equilibrium.

</comment></comment></comment></comment><comment><USER12> It's a little concerning that Mazmanian believes that diet can help autism, when all the placebo-controlled trials show that none of the weird and wacky diets actually work.

<comment><USER13> While not conclusive, there is actually some evidence a ketogenic diet may help.

<comment><USER12> As far as I can tell it was uncontrolled, which doesn't really tell us anything (as there will be a large placebo effect).

</comment></comment></comment><comment><USER14> If this effect was large, wouldn't we have spotted it by now?

Doctors prescribe antibiotics for nearly anything nowadays. Along the antibiotic, you will get some sort of probiotic (selected strains of bacteria), not to mention all the yogurt and similar products we're eating. Millions of people around the world do it every year. At least some will correctly follow instructions, finish the round of antibiotic, and take the supplement for a while longer.

Essentially, we blast and replace bacteria in our guts all the time in a massive natural experiment. Yet I haven't seen any life-changing results.

<comment><USER15> > Yet I haven't seen any life-changing results.

Not trying to be a smartass, but "not seeing something" is not really a convincing argument if you have never looked for it before. Especially here, given that there is no obvious feedback loop to give us hints at the relation between the gut flora and our mood. (are you aware of changes in your digestive chemistry and gut flora? How would you connect that to emotional changes then?)

But as for evidence: there was that one time during a double blind research trial of a certain experimental probiotic treatment of cancer where the researchers could tell who was in the control group and who wasn't, because the people who got the probiotic treatment were much happier (I saw this mentioned in a New Scientist article on gut bacteria from around 2011 - can't get to it now because it's behind a paywall).

Also, the article specifically addresses this:

> ''Dr. Lyte,'' he later asked at a question-and-answer session, ''if what > you're saying is right, then why is it when we give antibiotics to patients > to kill bacteria, they are not running around crazy on the wards?''

<comment><USER14> It's presented as a dismissive question with no answer. But with the number and amount of antibiotics prescribed, wouldn't you expect a lot of curious, seemingly miraculous changes by accident?

You know when you take antibiotics. You have a clear time frame, and the event is unusual enough that it should stand out.

<comment><USER15> Except that for a cause-effect relationship, you need a kind of "all else being equal" scenario. But since we take antibiotics when we are ill, we already are in an unusual state of the body. So any mood swings, if noticed at all, are just as likely (and given that we tend look among the familiar things first, I'd say _more_ likely) to be attributed to things like poor sleep or other side-effects of whatever disease caused you to take antibiotics.

<comment><USER14> There should be a lasting effect when you replace your gut bacteria, not just some mood swings.

<comment><USER16> Says who? You could easily imagine your body to acclimatize to new bacteria.

<comment><USER14> Says the theory that gut bacteria explains mood, the title of the OP.

<comment><USER16> "Mood" is not a lasting effect.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> I'm curious why these articles are posted so often on HN. Do a lot of people here have mood disorders? If so, would it not be better to look at the more obvious causes -- lifestyle and stress -- rather than trying to pin the blame on some outside entity?

There really isn't much if any evidence supporting this hypothesis at the moment, and even if there is an effect it appears to be relatively minor.

<comment><USER11> As someone mentioned, there's a lot of bio/pharma/med people who read HN, myself included.

Also, if this _is_ true, you're getting closer to being able to 'hack' your own microbiome. Microbiota transplantation as a wetware patch is a pretty cool concept.

</comment></comment><comment><USER17> Giulia Enders was recently interviewed on TVO (public television channel in Ontario) that you might enjoy: [http://tvo.org/video/213722/giulia-enders-gut- reaction](http://tvo.org/video/213722/giulia-enders-gut-reaction)

</comment><comment><USER2> _Vitals_ by Greg Bear is an interesting (fictional) take on this premise, in which modified bacteria can be be weaponised to influence people's behaviour.

</comment><comment><USER18> I remember an old saying about drinking the water from boiled potato to improve mood.

</comment><comment><USER19> No it cannot[1].

[1] See Betteridge's Law.

</comment><comment><USER20> There is a simpler question - could one tell anxiety from hunger? (I can't) or the feeling of being hungry "reuses anxiety" in context?

This explains why stressed people are overeating - they misinterpret their anxiety as feeling hungry and develop a habit of "eating it over".

Bacteria stuff is just BS.

<comment><USER21> "Bacteria stuff is just BS."

Why? References?

"There is a simpler question - could one tell anxiety from hunger? (I can't) or the feeling of being hungry "reuses anxiety" in context? This explains why stressed people are overeating - they misinterpret their anxiety as feeling hungry and develop a habit of "eating it over".

Actually it doesn't. Why are they feeling anxious? How do they misinterpret anxiety for the feeling of hunger? Why is the feeling of anxiety and hunger the same (as you assert, I strongly disagree). It is not even close to as simple as you suggest. Maybe bacteria has a role and maybe not. What is known is that the microbiome does have a larger role to play then we currently understand/realize. To what extent and exactly how is still an open question.

<comment><USER20> Because which set of bacteria one has in ones gut depends of location, season, humidity, air quality, traditional foods, _water sources_ , other bacteria an another hundred factors.

Anxiety disorders are human universal.</comment></comment></comment>


Bloxes - <AUTHOR> http://bloxes.com/ <comment><AUTHOR> Giant Cardboard legos, what's not to like? Found via <http://news.ycombinator.com/item?id=1376075> ...</comment>


Ask HN: Have I been hacked? - <AUTHOR>

tl;dr - Periodically review the apps listed under "Manage Applications" > "All" (Android) to make sure either your carrier or some other third party hasn't added some form of spyware.<p>I haven't checked the installed apps in a while and did so for the first time in a while today.  What I noticed were a lot of apps I didn't recognize including ones with generic sounding names and way more permissions then I'd expect.  The two that stood out to me are "Account and Sync Settings" and "Music Visualization Wallpapers".  I plan on formatting the phone later today just curious if anyone had insight on these or any of the other ones listed below.  I'm really not that much of an app downloader and would NEVER download anything having to do with wallpapers so I'm unclear how this stuff even got on my phone in the first place.  The ones marked (CL) I remember being loaded when I first got the phone (carrier loaded) and the ones marked (DL) I definitely downloaded myself. <comment><AUTHOR> Here is the full app list:

      Account and Sync Settings (38kb)
      (CL) Adobe Flash Player 11.1
      Android keyboard
      Android Live Wallpapers
      Android System
      (CL) AppPack
      AttendStar
      Bluetooth OPP
      Bluetooth PBAP
      Bluetooth Serivces
      Browser
      Calculator
      Calendar (google)
      Calendar Storage (google)
      Camera
      Car Home (8kb)
      Car Home (44kb)
      Certificate Installer
      ChargingTest (12kb)
      Clock
      com.android.svgplugin
      com.lge.hiddenmenu
      com.lge.internal
      com.lge.model
      com.lge.omadmclient
      com.lge.phonetestmode
      com.lge.util
      com.logmein.rescue
      com.logmein.rescuesecurity
      Contacts
      Contacts Storage
      (DL) Cut the Rope
      Dialer
      Dialer Storage
      Download Manager
      Downloads
      Drive
      DRM Protected Content Store
      (CL) EA Games
      (DL) Easy Voice Recorder Free
      Email
      (DL) Facebook
      (DL) Firefox
      FlexProvider
      Gallery
      Gmail
      Google Backup Transport
      Google Calendar Sync
      Google Contacts Sync
      Google Partner Setup
      Google Play Books
      Google Play Movies & TV
      Google Play Music
      Google Play Services
      Google Play Store
      Google Reader
      Google Search
      Google Services Framework
      Google+
      HiddenMenu_SDCardTest
      Home screen tips
      HTML Viewer
      Launcher
      LG Debug
      (DL) LinkedIn
      Live Wallpaper Picker
      LocMgrPD
      Magic Smoke Wallpapers
      Maps
      Market Feedback Agent
      Market Updater
      Media Storage
      (DL) Meetup
      Messaging
      Music
      Music Visualization Wallpaper (Perm: Hardware Controls - Change your audio settings, record audio)
      (CL) My Account (524kb)
      (CL) My Account (1.46MB)
      My Uploads (206kb)
      Network Location (346kb)
      News & Weather (704kb)
      (CL) NFS Shift (648kb)
      (CL) Nova (4.77MB)
      OMAP3 Camera
      Package Access Helper
      Package installer
      (DL) Pandora
      Pico TTS
      (CL) Polaris Office
      Power Off
      (DL) QR Droid Private
      (DL) Redbox
      (DL) Runkeeper
      Search Applications Provider
      Settings
      Settings Storage
      Setup Wizard
      (DL) Shazam
      SIM Toolkit
      (DL) Skype
      SmartShare
      (DL) Sound Recorder
      Status Bar
      Street View
      (DL) SwiftKey
      Swype
      (CL) T-Mobile TV
      Talk
      (CL) TegraZone
      (CL) TeleNav GPS Navigator
      (DL) Time Recording
      TTS Service
      User Dictionary
      Video Chat
      Video Player
      Voice Dialer
      Voice Search
      VPN Services
      (CL) WI-FI Calling
      (DL) YouTube
      (DL) Zillow
      (DL) Zillow Rentals
      (CL) Zinio Reader
      ZSProvider

</comment><comment><USER2> FWIW I have "Music Visualization Wallpapers" installed as well. Given that it has no network/SMS access I highly doubt that it is anything other than a wallpaper app.

</comment><comment><USER3> Most likely thing is probably crapware that came with the phone. Are you sure they weren't installed when you first got it?

<comment><AUTHOR> I know for a fact the wallpaper ones were not. The LGE and LogMeIn apps I believe came as part of an "Android" update from the carrier (T-Mobile). Not sure how "Music Visualization Wallpaper" works but seems odd that it would need the ability to record audio.</comment></comment>


How Good Are FiveThirtyEight Forecasts? - <AUTHOR> https://projects.fivethirtyeight.com/checking-our-work/ <comment><USER2> All of the people complaining about how Five Thirty Eight is a fraud because they "predicted" that Hillary Clinton would win should read this. They gave Trump a significant chance of winning, more than almost any other poll aggregator did. In fact, before the election, Nate made a post outlining all the reasons that Trump could win and gave him a 36% chance of doing so. They literally said that trump would win based on polls like that 36% of the time, so it shouldn't have been that shocking that he did.

[https://fivethirtyeight.com/features/election-update-dont- ig...](https://fivethirtyeight.com/features/election-update-dont-ignore-the- polls-clinton-leads-but-its-a-close-race/)

You might say that a forecast that's so ambivalent isn't useful, but if someone told you that there's a 36% chance of rain, you'd plan your beach trip accordingly. I don't see why predicting a 36% chance of the underdog winning the presidential race is any less informative.

<comment><USER3> can downvoters elaborate on why they disagree?

<comment><USER4> It's probably a confusing the map with the territory sort of thing. FiveThirtyEight predicted Clinton would _probably_ win and didn't. Many people are (understandably) upset she didn't win and they're lashing out at FiveThirtyEight for having given them what turned out to be false hope.

<comment><USER5> It might also be something a bit different:

There's a lot of people on the left who are angry with Clinton and the Democrat establishment for running a very technical/data-driven campaign that turned out to be very flawed and ran counter to common sense (even her husband was telling her to campaign in areas she was ignoring due to this "data"). The technically driven 538 sort of represents that attitude.

Nate Silver has also started to stray into political punditry which is turning a lot of people off. People who liked him for his data are now having to hear where he stands on issues.

<comment><USER6> For me, I'll always monitor and follow his poll analysis. But something about how he handled 2016 soured my view of him. It's like he didn't just "predict." He insisted on being correct in a way that was too overt.

Further, let's not forget all of the dirty deeds orchestrated through Facebook, online, and hacking. The election in three key states swung by tiny amounts. It's not correct to blame what otherwise worked for the perfect storm. In fact, I don't remember 538 sayin anything about fake news or election hacking prior to the election. It was all polls of polls.

</comment></comment></comment></comment></comment><comment><USER7> This 'calibration' is a missing link for machine learning.

A prediction is _much_ more valuable if you know how good of a prediction it is than if you don't.

<comment><USER8> I'd caution about putting _too_ much stock in calibration, though. It's worth noting that you can achieve perfect calibration just by giving each of n candidates 1/n probability of winning.

<comment><USER9> I don't think you can. If you give every candidate a 1/n probability in winning, but the actual true probability is less than 1% (I'm looking at you, Vermin Supreme[0]), then your calibration is going to be way off. Good calibration is having your 65% chance of victory be right 65% of the time.

[0][https://en.wikipedia.org/wiki/Vermin_Supreme](https://en.wikipedia.org/wiki/Vermin_Supreme)

<comment><USER8> Right, but say in 2016 you gave a 1/3 chance to Trump, 1/3 chance to Clinton, and 1/3 chance to Vermin Supreme. Exactly one of them will win, so your calibration for 1/3 will be perfect. If you do the same for elections with different numbers candidates, you can have good calibration overall without actually producing any information over the base rate.

<comment><USER9> I disagree. Suppose you have an election with 3 candidates that runs every year. If you predict candidate A win at 33% confidence, but that candidate gets elected every year, your calibration will be way off. Calibration is about aggregating, so you can't really cheat it. Your 33% prediction has to be right 33% of the time - it's really hard to fake that.

Maybe I'm misunderstanding your position, though.

<comment><USER8> That's right if you only predict the probability of candidate A, but if you are predicting 33% for all three candidates each year, your 33% prediction will consistently be right 1/3 of the time in aggregate.

</comment></comment></comment></comment></comment></comment><comment><USER10> This is good in the sense that having poorly calibrated forecasts is bad, but it's not quite as strong as you might want it to be. Imagine that you're tasked with predicting the next state of a traffic light that just cycles through green, yellow and red over and over again. If at every step you forecast that there's a 33% chance of each color, you have a very well- calibrated forecaster, but it's clear that you can do better.

FiveThirtyEight probably actually is doing better, but I suspect that they're not choosing to highlight those stronger metrics because they're complicated to explain.

<comment><USER11> But isn't that exactly what the last third of the article discusses?

</comment></comment><comment><USER12> Can anyone explain how 538 got the last election so wrong?

Its quite obvious in hindsight their model is flawed, but Im not understanding how is it flawed.

<comment><USER13> If you're referring to either the midterms or the 2016 presidential election, they didn't get either particularly wrong.

</comment></comment><comment> cljs-js-eval This gets to the core of Taleb's beef with FiveThirtyEight - what political forecasts are calibrated? The ones that were forecasted 6 months out, or the last forecast before the end of the election?

They may only be calibrated when enough of the facts are in to make predicting easier. Still useful, but not calibrated in the way the general public might think.

<comment><USER14> If you dive a bit more they look at each forcast at each time interval for which it is made. So they include the 12 month out one, the 11 month out one, etc when assessing calibration.

<comment> cljs-js-eval Ah, that's very useful to know. I take my statement back then, this is better calibration than I thought.

</comment></comment></comment><comment><USER15> They obviously got 16 very wrong. However, what is even more concerning is that Nate lately became a political hack, doing the ugly work for the democratic establishment. Just look at his twitter you can clearly see it. So I would take any "data science" he does with a grain of salt.

Edit: An example of his tweets:

"It's probably worth noting that while this group, Justice Democrats, calls Biden "out-of-touch" with the "center of energy" in the Democratic Party, only 26 of the 79 candidates it endorsed last year won their primaries, and only 7 of those went on to win the general election."

Why didn't he add the statistic that Biden already ran 2 times in the past and won 0 times.

<comment><USER16> They did not, he has not, and one should not any more than one always should.

538's forecast was easily the most accurate for November 2016, by a decent margin. The majority of critics of 538 are "sore winners" who delight in their side having won despite being given a less than 50% chance, but as Silver pointed out at the time: his chances were similar to those in Russian Roulette, and most people consider that too risky to play.

<comment><USER15> If thats your understanding of making a prediction then he was accurate by your standards. You clearly did not watch the election night predictions. NYT live model was miles better than 538s.

[https://fivethirtyeight.com/features/how-i-acted-like-a- pund...](https://fivethirtyeight.com/features/how-i-acted-like-a-pundit-and- screwed-up-on-donald-trump/)

<comment><USER17> Your link is from 2016 before the presidential election but after the primaries. Nate is admitting that he underestimated Trump in the primaries and talks about what happened. This does not seem particularly relevant to the subject of election night predictions.

<comment><USER15> This is regarding his bias. If anything the link is even more relevant. He repeated the similiar mistakes.

<comment><USER16> His main mistake as highlighted in that article is that they didn't use statistics for the nomination process, but guesswork. For the election proper, they did use statistics. So no, they did not repeat the mistake at all.</comment></comment></comment></comment></comment></comment>


How to Work a 100-Hour Work Week – And Not Die [With Infographic] - <AUTHOR> http://www.fastcompany.com/3058175/lessons-learned/how-ive-learned-to-get-through-a-100-hour-workweek-in-one-piece <comment><USER2> Great article - very informative! Thanks for sharing

<comment><AUTHOR> Hey rylest14- glad you liked it :)</comment></comment>


Customizable Web Spidering For Startups - <AUTHOR> http://tech.slashdot.org/story/09/09/28/190259/Company-Offers-Customizable-Web-Spidering

<comment><USER2> 80legs has been covered here before. The Slashdot article is nothing but a late, shallow-water ripple of the original wave.</comment>


You are wrong, streaming Torrents is simpler then you think O_O - <AUTHOR> https://github.com/davidgatti/How-to-Stream-Torrents-using-NodeJS <comment><USER2> Streaming torrents are fairly common as far as I can tell. One of the old clients I used to use (uTorrent perhaps) had the option to download sequentially so you could watch a video as it was downloaded. And then applications like Popcorn Time put the whole thing into a Netflix-like interface to make it even easier to skim, bookmark, and stream TV shows and movies.

As would be expected, the tech does appear to be simple but the main issues are the ones regarding the most obvious uses: watching and sharing unlicensed video content.

But yeah, I would love it if this was used more often as a way to do low/no budget streaming or independent broadcast-style content. But for big players like TV networks and movie studios, it seems like it makes more sense to just serve content from their servers and CDNs so that anyone paying to watch something isn't also acting as a distribution node for a torrent swarm. I know that if I was paying for something like Netflix or HBO Now, I'd rather not use both upload and download bandwidth if I could help it.

<comment><AUTHOR> You have a valid point. People that especially do video podcast could benefit from this technology like twit.tv.

</comment></comment><comment><USER3> WebTorrent have been there already for some time already

</comment><comment><USER4> Please don't use clickbaity headlines like this on HN.</comment>


Ask HN: Help me become a coder - <AUTHOR> I have been lurking in HN for some time now and I respect the insight people share here. Would you spare a bit of advice that can help me make a few important decisions in my life at this time?
A bit about myself: I am European but will be moving to US in a few months, in the NYC area. I am young and with a fresh degree in Physics but I've always felt my call is for hacking in the space of computers. So I recently decided to become a coder instead.
My practical and current goal is to be "employable" ASAP, ideally in much less than one year. I already covered some basics in HTML, CSS, JavaScript, jQuery and Python but my options are still pretty much wide open, frontend, backend.
Due to the limited time I really need to optimize this process and get the minimum set of skills in the shortest time that will make me employable. So I ask you, if you would be me: - what stacks/technologies would you learn? Starting from the what is currently mostly in demand? - how would you go about doing this learning as effective as possible? Best methods and resources.
This is ground breaking for me and all your insights will be gratefully appreciated. If you prefer to write me directly - email@example.com <comment><USER2> A lot of people are going to suggest either going back to school to get a CS degree, or slowly building a portfolio while you teach yourself how to code.

I'm going to suggest a third option. If you have the money, you should attend a high profile coding bootcamp. There's no doubt in my mind that it's the fastest way to go from "intelligent non-programmer" to "salaried programmer."

Graduates from bootcamps have statistically excellent outcomes - the majority of top bootcamps have 6 figure average starting salaries. Assuming you could teach yourself everything in a hyper-accelerated fashion, your first job would still likely not net you that much because the employer is taking a large risk on you. A bootcamp serves as both a school and a vetting agency - I'm willing to bet that attending a bootcamp will allow you to command 20-30k more than the amount you would have earned teaching yourself.

In addition, after landing your job you'll still have time to do side projects and continue learning whatever you'd like - it's not an either-or proposition. The difference here is that you'll be making enough money to support yourself and potentially save for further education.

I have multiple friends who have gone through coding bootcamps and it's been an utterly lifechanging experience in every case. If you're smart and driven, it almost seems like a no brainer.

<comment><USER3> +1 to coding bootcamp. I attended one and was employed within a month of graduating. I think a CS degree is important, so I'm getting one as a part- time student now, while employed full time as a developer.

Note, skylark said "high profile coding bootcamp." This is important! Properly vet any schools you apply to. Chances are if the application and acceptance process is trivial, the bootcamp may not be "hard" enough, if that makes any sense.

</comment></comment><comment><USER4> I would use online resources to keep learning and create some side projects since it sounds like you don't have much job experience yet. Contributing to open source projects or being active on sites like Stack Overflow will help you learn too. You may think that you can't really teach with little experience, but even if you're 3-6 months in you have things to teach to beginners. Paid sites like Treehouse, Codecademy and the like will be higher quality and let you focus more than free online tutorials, but it's certainly not required.

I wouldn't focus on only what is in demand right now, take a longer view for your career. It's the thinking and planning behind programming that is really valuable, not whatever programming language is popular at the moment. Those problem solving skills will pay off in the long run more than being an expert in say, Javascript. Ask why and what you are building, not just how to do it.

</comment><comment><USER5> In addition to the latter, make use of your Physics degree in your projects. You should also note the differences between high and low level languages and make an adequate choice that fits your goal. I would also recommend that you make use of open source not only as a license and a mindset, but to read other's code and learn how they did whatever was achieved.

And Chris is right, it's how you solve the problem, how you optimise performance...how you create. It doesn't matter if it's in Assembly, C, or GO.

</comment><comment><USER6> I think your best way of learning to program as fast as possible is to start working on side projects. These projects will help you learn all sorts of technologies that will be applicable to a job. Another option is to work on open source projects.</comment>


Could S3 be an end-user product? - <AUTHOR> http://www.scripting.com/stories/2007/12/20/couldS3BeAnEnduserProduct.html <comment><USER2> I use Jungle Disk with S3 for storing media that are important to me like photo's. Other stuff i backup locally, but there could be a fire, theft etc. For code i use Darcs and Mercurial repositories and Jungle Disk frequently backups the repos to S3.

</comment><comment><USER3> Man, good idea... unfortunately I didn't even think about personal use for S3 and I already signed up for an online backup service. I kept thinking that an online backup system would work great with S3 but not for a second I thought of using it for myself :(

<comment><USER4> There are some tools available for doing backups directly to S3; but they all have limitations because of S3's rather weak API. In addition, the pricing structure of S3 (bandwidth + storage + a significant per-request fee) means that certain workarounds (e.g., adding indirection) end up being absurdly expensive.

S3 can be an excellent backing store for an online backup service, but only if there's some intelligence sitting in between client systems and S3.

</comment></comment><comment><USER5> I think if amazon marketed it properly, it could potentially weed out a significant share of the shitty hosts that are lurking around. But then again, it's probably easier to just FTP to a shitty host.

</comment><comment><USER6> Good idea. I think now we are really heading somewhere. This is could be a start to fixing all the clutter and mess on the Web.

<comment><AUTHOR> If the S3 auth access can be abstracted to use your "normal" amazon login, that will go a long way in making it user friendly.</comment></comment>


Robotics Startup Makes "Lego-Like" Modular Robots - <AUTHOR> http://www.hizook.com/blog/2012/01/03/introducing-cubelets-modular-robotics-no-wires-no-code-real-robots

<comment><AUTHOR> About half-way down, there is some useful information about this SBIR-funded, bootstrapped company:

 _Personally, I'm most interested in Modular Robotics' back-story -- how they got funding and the trials and tribulations they faced while creating their first product. The story is fantastic, and laid out for everyone to see on their very honest and open blog: From SBIR funding ($100k Phase I and $500k Phase II); to Crowdsourced packaging design (despite their nomenclature misgivings); to hardware design woes; and Chinese production issues_

While the HN community seems predominantly software-based, the hardware startup scene seems to have some additional challenges.</comment>


Ask HN: What Are the Best Routes for Senior Full-Stack Software Engineers? - <AUTHOR> As things have changed in the last 5-10 years, I'm wondering what's generally considered to be the best route to take (job-wise) these days. That is, if an Engineer had total freedom/choice, then which would ideally be chosen (and which second, etc)? Consulting (Freelance, TopTal, etc)? Telecommuting / Remote Working? 9-5 at a startup? 9-5 at a mid-sized company? 9-5 at a large corporation? Founding a startup? Something else? <comment><USER2> you can successfully do this in any of those places. the real important bit is the individual person. if you only know frontend, listen into the backend conversations. If you hit a bug or feature that requires skills you dont have, instead of tossing it over the wall learn or pair with the the person that does. one thing upper management at my company has complained about is more junior engineers complain about not the company not helping them grow, yet when asked to do something they dont know(with resources to help) theyre too uncomfortable to try. as long as you grow yourself by learning new things, can build relationships with your coworkers(especially non-engineers), and slowly take on more responsibilities you will succeed anywhere. also, keep in mind the higher up the chain you go, the more people and business skills become important(which can put extra difficulties if youre remote/consulting and the company isnt set up to handle that well).</comment>