Protection against critical Windows vulnerability (CVE-2015-1635) - <AUTHOR> https://blog.cloudflare.com/cloudflare-is-protected-against-cve-2015-1635/

<comment><USER2> Interesting. I guess the question is for something as big as this should companies like cloudflare have a obligation to protect everyone using their service (rather than just those on a certain support level)?

<comment><USER3> Obligation? No. Why would they?

Microsoft released a patch, patch your stuff.

<comment><USER2> > Microsoft released a patch, patch your stuff.

I have nothing to patch so no worries there!

> Obligation? No. Why would they?

I certainly lean towards this view myself.

I agree that Cloudflare are a company that is trying to make money and if they can allow big corp X to not have to rapidly push through a patch without testing then clearly they are providing a service to big corp X (we all know that enterprise doesn't like to upgrade anything fast).

The alternative view could be that your and my e.g. bank and credit card details are somewhere almost certainly exposed somewhere right now. Cloudflare have apparently the ability to prevent this so it could be seen that not doing so is allowing crime to take place when they could stop it.

I'm not sure about this myself hence why I posted a question rather than an opinion...

Maybe they could offer to block for say 48 hours and then thereafter only those that pay get the service?

<comment><USER4> In general, protecting an unpatched server takes work - perhaps manual configuration, perhaps extra server load on your proxies, perhaps retrospective damage control when it turns out your proxy rules are buggy - but it's clearly not reasonable to require them to do that work for free.

<comment><USER2> As a counterpoint let's use a simple analogy. Me calling the police if I see someone breaking into my neighbours house takes effort as well. In this situation no one would expect that I should have my neighbour to pay me a retainer first.

<comment><USER2> To late to edit this and it came out a little further to one side of the argument than I was going for.

A better analogy would be what one would expect from a private security company which is contracted to protect certain houses businesses. They might phone the police if a house they are not contracted to protect is broken into as a matter of public duty but they would not attempt to intervene themselves. I guess one could draw a similar line somewhere (I'm not sure where) for Cloudflare who are effectively the digital equivalent .

</comment></comment></comment></comment></comment></comment><comment><USER5> Main thread: [https://news.ycombinator.com/item?id=9380468](https://news.ycombinator.com/item?id=9380468)</comment>


A brutally honest guide to help you get funding - <AUTHOR> http://pitchdeck-ebook.pagedemo.co/ <comment><USER2> I think someone should write a brutally honest and fun guide about how to reject giving funds.</comment>


Zooyan: An Amazon.com for offers at local merchants - <AUTHOR> http://www.zooyan.com

<comment><AUTHOR> We launched Zooyan today as a marketplace where local merchants can create compelling offers to market their business and where consumers can freely search and browse offers to discover new places in their cities. The idea of Zooyan was created to address the current issues with the business model for daily deal sites such as Groupon and Livingsocial.

Our model structures offers that are available for a minimum of 30 days which helps smooth sales out over time for merchants rather than the one or two day surges in customers resulting from daily deals which can actually hurt business. We also recognized that consumers want variety and the ability to purchase offers on their schedule rather than make impulse decisions. The extended deal time frame helps curb impulsive purchases and having many offers at the same time provides choice.

Currently we have over 70 offers available in Philadelphia growing to over 100 in the next week or two. We aim to have at leas 250 offers available at any one time in each city which should provide an ample supply of merchants to discover. Our goal is to create a one stop shop for locals, travelers etc who might be looking for something new but is unwilling to dive in head first. We allow you to test the water with your toes first.

I appreciate any suggestions of comments that any of you may have in regards to the website or business model.</comment>


'I did not build the bomb. I only showed that it exists' - <AUTHOR> http://motherboard.vice.com/read/big-data-cambridge-analytica-brexit-trump <comment><USER2> A summarizing paragraph about the difference between approaches taken by the campaigns of Hillary Clinton and Donald Trump ([https://hyp.is/u4tphuVzEea0AVcCYuOojw/motherboard.vice.com/r...](https://hyp.is/u4tphuVzEea0AVcCYuOojw/motherboard.vice.com/read/big- data-cambridge-analytica-brexit-trump)):

> Again, this is nothing new. The Democrats did similar things, but there is > no evidence that they relied on psychometric profiling. Cambridge Analytica, > however, divided the US population into 32 personality types, and focused on > just 17 states. And just as Kosinski had established that men who like MAC > cosmetics are slightly more likely to be gay, the company discovered that a > preference for cars made in the US was a great indication of a potential > Trump voter. Among other things, these findings now showed Trump which > messages worked best and where. The decision to focus on Michigan and > Wisconsin in the final weeks of the campaign was made on the basis of data > analysis. The candidate became the instrument for implementing a big data > model.</comment>


People who score lowest in skill rankings tend to overestimate their abilities - <AUTHOR> http://www.jamesshelley.net/2011/03/were-all-above-average/

<comment><USER2> "Ignorance more frequently begets confidence than does knowledge."

Thank goodness for ignorance! Goes right along the lines of "if I wasn't naive enough to know what I was getting myself into then I would have never started."

Another quote...

Later studies go on to cite a survey that found that 94% of professors ranked their performance as "above average" when compared to their colleagues.3 It does not take a degree in mathematics to notice a problem with that figure. Speaking of statistical impossibilities, multiple studies have determined that the vast majority of us "average people" consider ourselves to be well "above average."4

That's good, not only do I suck, but the majority of the people around me suck also.

I suppose this means that the majority of people are confident that they are highly skilled and perhaps as a result don't work terribly hard to improve those skills. Work harder at improvement then you can likely make some great progress relative to your peers.</comment>


ls | grep "echo ${data}" – Why/how does this work? - <AUTHOR> https://zerobin.net/?9c76eb78e61f7138#+VAz8M7SHT3oZmSj7PSyr8zreoL3sRX5diPUvGO1uxE= <comment><USER2>
      grep "echo ${data}"

means that when grep is exec-ed, it receives these arguments:

       argv[0] = "grep" /* possibly full path, irrelevant here */
       argv[1] = "echo <contents of data variable>"
       argv[2] = NULL

If this does what you want, it means that you wanted to look for strings starting with "echo ". All of arv[1] is the pattern to look for (because it doesn't look like a command line option). Since there are no other arguments, grep is scanning its standard input.

OTOH

       grep `cat filelist.txt`

gets execed like this:

       argv[0] = "grep"
       argv[1] = "<first 'word' from filelist.txt>"
       argv[2] = "<second 'word' from filelist.txt>"
       ...
       argv[n] = "<last 'word' from filelist.txt>"
       argv[n+1] = NULL

Needless to say, grep doesn't work this way; it doesn't accept multiple patterns as arguments. We cannot use _" grep foo bar baz file"_ to scan _file_ for occurrences of _foo, bar_ or _baz_. Rather, what this means is to scan _bar, baz_ and _file_ for occurrences of _foo_.

Also, there is the risk that material from filelist.txt looks like command line options for grep. If filelist.txt contains "-v foo bar" then grep `cat filelist.txt` means exactly the same thing as "grep -v foo bar".

grep has a -f option which can specify a file whose lines are patterns:

       grep -f filelist.txt

If we use the -F option, those patterns are interpreted as fixed strings, like the single pattern given on the command line.

<comment> cup-of-tea fgrep is the way to go here. It uses a different algorithm that makes only one pass through the file while searching for all strings simultaneously. An extension of trie search.

<comment><USER2> _fgrep_ is an obsolete command that didn't make it into POSIX.

I already mentioned the -F option of grep.

 _" fgrep is the same as grep -F"_ \-- GNU grep man page.

I would expect that when the patterns in -f <patternfile> are treated as regular expressions, they are also combined into one regex.

<comment> cup-of-tea I know it's the same thing. I prefer the name fgrep because it does do a different thing. I write "grep -F" in scripts, but I say fgrep.

</comment></comment></comment></comment><comment><USER3> This only works accidentally.

If the output of ls is not a terminal, then it is single-filename-per-line (and sorted alphabetically):

      $ ls
      nomatchfile1 nomatchfile2 testfile1    testfile10   testfile2    testfile3    testfile4
      $ ls | cat
      nomatchfile1
      nomatchfile2
      testfile1
      testfile10
      testfile2
      testfile3
      testfile4

The first argument to grep is the pattern, the following arguments to grep are the files to search. If there are any files specified, stdin is not read/searched.

      $ grep testfile1 testfile2 testfile3
      $ ls | grep testfile1 testfile2 testfile3

Quoting affects whether you pass one or multiple arguments to grep:

      $ echo ${data}
      testfile1 testfile2
      $ echo "$data"
      testfile1
      testfile2

Finally, newlines in the pattern cause grep to treat each line as a separate pattern:

      $ ls | grep "$data"
      testfile1
      testfile10
      testfile2

Backticks alone do not quote their contents, so the expanded backticks output is treated as multiple arguments.

etc. etc. lots of ways to mix this all up :)

<comment><USER4> This also means that "echo testfile1" is one the patterns passed to grep here.

<comment><USER3> yup. which is why "testfile1" was not in the result of the original experiment:

      $ ls | grep "echo ${data}"
      testfile10
      testfile2
      ...

</comment></comment></comment><comment><USER5> Would you mind telling us what it is you hope to accomplish? There's so much wrong with the paste. For instance:

      [jbrown@tools1 testdir1]$ echo ${data}
      testfile1 testfile2 testfile3 testfile4 ...

Is ambiguous. Is `data` an array? Is it a string with lots of spaces? Newlines? There's no way to know and I get the sense that we're being nerd sniped.

<comment><USER3> heh definitely nerd sniped ... compelled to answer when this gets up-voted so people don't think it's some special insightful question, rather than like 5 different critical errors all mixing together with strange results

<comment><AUTHOR> I don't know what nerd sniping is, but I'm pretty sure I wasn't trying to do that, nor trick anyone. I'll try to better explain how I defined the variable when I get to a computer. Essentially I just copy pasted from the filelist.txt output, into data='copy pasted into here, which also appeared to clearly generate newlines'

<comment><USER3> I believe you it wasn't intentional :) explanation: [https://www.xkcd.com/356/](https://www.xkcd.com/356/)

<comment><AUTHOR> Lol OK fine. :)

Look, I'm kind of at the level of the layman trying to decipher a Numberphile video. You guys are trying to distill it down for me, and I'm desperately trying to grasp at it. But hey, at some point I may grab hold.

I thought I was serviceable in bash/builtins, then I post this and realize just how much I don't know. But hey that just means there's that much more to know and learn.

</comment></comment></comment></comment></comment><comment><USER6> "Javascript is required for ZeroBin.net to work. Sorry for the inconvenience."

Here's the contents of the paste:

 _I stumbled upon /essentially derped the:_

      ls | grep "echo ${data}"

_... line, saying oh this should work... and it actually worked.. I didn 't think anymore about it...

... but later on, I thought about it more and decided echoing the variable shouldn't actually work, and you should have to do a for loop instead... and that it should fail in the same way that piping thru a cat of the file should fail (and does fail):_

      ls | grep `cat ../filelist.txt`

_...does not work /no output (as expected)

But, piping to grep and echoing the variable actually works and returns the wanted results/matches!! How is this possible?_

      [jbrown@tools1 testdir1]$ ls | grep `cat ../filelist.txt`
      <<NO OUTPUT>>

      [jbrown@tools1 testdir1]$ ls | grep "echo ${data}"
      testfile10
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9

      [jbrown@tools1 testdir1]$ echo ${data}
      testfile1 testfile2 testfile3 testfile4 testfile5 testfile6 testfile7 testfile8 testfile9 testfile10

      [jbrown@tools1 testdir1]$ cat ../filelist.txt
      testfile1
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9
      testfile10

      [jbrown@tools1 testdir1]$ ls
      nomatchfile1   nomatchfile2  nomatchfile4  nomatchfile6  nomatchfile8  testfile1   testfile2  testfile4  testfile6  testfile8
      nomatchfile10  nomatchfile3  nomatchfile5  nomatchfile7  nomatchfile9  testfile10  testfile3  testfile5  testfile7  testfile9

</comment><comment><USER7> It doesn't (bash, GNU grep). Shell expands inside double quotes. grep does not run commands in a re.

<comment><USER8> > It doesn't (bash, GNU grep).

It can, you just incorrectly guessed what's the required input for it to work (the author didn't do a very good job at showing the environment in line 29).

If you pass to grep a multi-line argument as the pattern (or _a_ pattern, for -e option), grep will treat each line of this argument as a separate pattern. Or at least that's what GNU grep is doing.

"echo ${data}" worked (and only somewhat and accidentally) because while the first line of ${data} got a prefix of "echo ", the other lines stayed the same.

`cat filelist.txt` didn't work, because grep got the content of filelist.txt as a separate arguments (one word per line, if I guess the content correctly) thanks to shell's word splitting, so grep treated the first filename as a pattern and the rest of the filenames as files to search for the pattern. If the filelist.txt contained a name that didn't exist, grep would print an error message for ENOENT. Note that in this scenario the output of `ls' was not read by grep at all.

If it was "`cat ...`" (double-quoted form), wordsplitting wouldn't take place and the grep call would work as the author was expecting.

<comment><USER9> Yep, this is the correct answer! I was just writing up something similar, but you beat me to it. This is the expected behavior if the `data` variable has newlines between every word:

      $ echo ${data}
      testfile1 testfile2 testfile3 testfile4 testfile5 testfile6 testfile7 testfile8 testfile9 testfile10
      $ echo "${data}"
      testfile1
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9
      testfile10
      $ echo "echo ${data}"
      echo testfile1
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9
      testfile10

</comment></comment></comment><comment><AUTHOR> Thanks for all the helpful and insightful comments everyone.

I guess essentially what I was doing was really the same as the following (excepting the echo derp):

      [jbrown@tools1 testdir1]$ ls |
      grep 'testfile1
      > testfile2
      > testfile3
      > testfile4
      > testfile5
      > testfile6
      > testfile7
      > testfile8
      > testfile9
      > testfile10'
      testfile1
      testfile10
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9

...the above has the same/desired output (including the missing testfile1 that the echo derp had missed).

I guess though that I still don't fully understand how/why grep is able to interpret/execute each newline individually, eg kind of cycling through it.

EDIT - I do realize dozzie pretty much explained it, and what's happening here, however still sort of bewildered that grep is able to perform the operation sort of separately on each newline as an individual argument, and sort of parse through each one...

<comment><USER10> Grep treats the pattern as a newline-separated list of items to search for.

From [https://www.gnu.org/software/grep/manual/grep.html#Introduct...](https://www.gnu.org/software/grep/manual/grep.html#Introduction): "Since newline is also a separator for the list of patterns, there is no way to match newline characters in a text."

<comment><AUTHOR> Right, and actually, it looks like only 'ls | grep "${data}" ' (eg, the data var double-quoted) works:

      [jbrown@tools1 testdir1]$ data='testfile1
      > testfile2
      > testfile3
      > testfile4
      > testfile5
      > testfile6
      > testfile7
      > testfile8
      > testfile9
      > testfile10'

      [jbrown@tools1 testdir1]$ echo $data
      testfile1 testfile2 testfile3 testfile4 testfile5
      testfile6 testfile7 testfile8 testfile9 testfile10

      [jbrown@tools1 testdir1]$ ls | grep `echo ${data}`
      <<NO OUTPUT>>

      [jbrown@tools1 testdir1]$ ls | grep ${data}
      <<NO OUTPUT>>

      [jbrown@tools1 testdir1]$ ls | grep "${data}"
      testfile1
      testfile10
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9

Believe that using echo in the backticks may amount to same effect as 'ls | `cat ..filelist.txt` (eg, results in ENOENT)

And of course, as many have mentioned grep -f does what I was looking for and would have prevented this whole exercise:

      [jbrown@tools1 testdir1]$ ls | grep -f ../filelist.txt
      testfile1
      testfile10
      testfile2
      testfile3
      testfile4
      testfile5
      testfile6
      testfile7
      testfile8
      testfile9

</comment></comment></comment><comment><USER11> Hint: notice that "testfile1" is missing from grep's output.

<comment><AUTHOR> Did not notice that testfile1 was missing, interesting

<comment><USER11> Hint2: create a file called "echo testfile1" and try again.

</comment></comment></comment><comment><AUTHOR> Btw, this was after-the-fact testing. We had a list of about 800 or so unique UUIDS (there was no pattern anywhere between the UUIDS), where the UUIDs were present in some portion of the string for the filenames in working dir.

Example UUID in the list:

fd306bdfb115f1284655da6b06f826eb

There were thousands of other files in the directory that did not have any part/string of the filenames that matched the list. And using the echo $data technique found the matching files.

Is this still accidentally/happenstance matching here?

<comment><AUTHOR> Realize now of course that 'grep -f uuidlist.txt' would have likely just done it, but kind of glad I've undertaken this exercise, even if it clearly shows my bash skills are subpar.

I've got plenty to learn no doubt, and ny intent in posting this was to learn.

</comment></comment><comment><USER12> Why wouldn't he just use `grep -f`?

EDIT: and about the question in the pastebin - I guess it has to do with ${var} showing it contains spaces as opposed to `cat file.txt` having newlines.

<comment><USER13> People who use 'ls | grep -f ../filelist.txt' don't see anything odd to write about. It's kind of like the anthropic principle.

<comment><USER6> [https://en.wikipedia.org/wiki/Anthropic_principle](https://en.wikipedia.org/wiki/Anthropic_principle)

</comment></comment></comment><comment><USER14> I did not understand at all what this does.

It seems like

        ls | grep "echo ${data}"
        echo ${data}
        cat ../filelist.txt

all returns `testfile1..10` with slightly different formatting/ordering.

</comment><comment><USER15> Are the files all empty? Looks like echo is part of the search string and the expansion might be interpreted as the file list. ls is ignored. Just a guess...

</comment><comment><USER16> Under what shell? If this works as described, then it's broke.

<comment><AUTHOR> This is bash (CentOS 6x).. will have to check exact version whilst at next available computer..

<comment><AUTHOR> Correction, this was done on CentOS 7.3.x (not CentOS 6 as I had incorrectly first noted), and the following versions of bash and grep:

"GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)"

"grep (GNU grep) 2.20"

So where $data is a newline delimited list of items/patterns:

      grep "${data}"

..will indeed match each item/pattern individually and grep over each, eg, just as grep -f does against a file with a list of patterns. It doesn't work without the double quotes, and putting the echo in front was obvious derp in hindsight. See my comment where I replied to uraza and demonstrated this.</comment></comment></comment>


Transducers in PHP - <AUTHOR> http://mtdowling.com/blog/2014/12/04/transducers-php/

<comment><USER2> very cool and i will use it - i just fear its gonna be slow, stuff like this really shines when its done in c++ or hand optimized asm. i like the fact its only 1 file i need to include. gj.</comment>


Ask HN: How important is website SEO for a mobile app-only marketplace? - <AUTHOR> We have a decent marketing website explaining what we do and how it works. We also post blogs on the site once in a while.
But, so far we haven't focussed on SEO at all as the website hasn't been our primary focus and also as SEO is not easy (?) and not our strength.
Almost all our ads take the user directly to the App Store/ Play Store.
Ultimately, to gain organic traffic, SEO is key. So, is it better to invest on it sooner rather than later? <comment><USER2> SEO is important.. but visits to market places may not get more search queries.. and it's tough to suggest without seeing your website

Analyse search intent..get how many visits your competitors are getting... Try driving traffic for blogs which is quite easy than for marketplace

<comment><AUTHOR> Thank you for the points. They make a lot of sense. If you are interested in looking at the website, it's [https://vendiapp.com](https://vendiapp.com)</comment></comment>


Fukushima nuclear disaster will impact forests, rivers for hundreds of years - <AUTHOR> http://www.greenpeace.org/international/en/press/releases/2016/Fukushima-nuclear-disaster-will-impact-forests-rivers-and-estuaries-for-hundreds-of-years-warns-Greenpeace-report-/ <comment><AUTHOR> The environmental impacts are already becoming apparent, with studies showing:

        High radiation concentrations in new leaves, and at least in the case of cedar, in pollen;
        apparent increases in growth mutations of fir trees with rising radiation levels;
        heritable mutations in pale blue grass butterfly populations and DNA-damaged worms in highly contaminated areas, as well as apparent reduced fertility in barn swallows;
        decreases in the abundance of 57 bird species with higher radiation levels over a four year study; and
        high levels of caesium contamination in commercially important freshwater fish; and radiological contamination of one of the most important ecosystems – coastal estuaries.</comment>


What I learned leading Ops at GitHub, Heroku, DigitalOcean, and more [slides] - <AUTHOR> http://www.slideshare.net/MarkImbriaco/what-i-learned-leading-ops-at-github-heroku-digitalocean-and-more <comment><USER2> Hi, I'm Mark Imbriaco. That's my deck.

As I said in response to another comment in this thread, I don't often share my slides without the context of the recording of the talk that went with it. That recording isn't available yet, but these slides have more words than most of the ones I present usually do so I thought I'd share them.

In my talk, each of the main points was accompanied with an anecdote to give some background on the experiences that led me to believe them, as well as some expand on the content of the slide.

The talk was specifically built for an audience of attendees of the DevOps Enterprise Summit. It's a fantastic event with one of the most thoughtful and engaged group of attendees I've experienced, and I've been to a lot of conferences. These folks are, generally speaking, development or operations leaders at enterprise companies who are in the midst of a transition to a style of work that's a significant departure from traditional enterprise IT. Since much of what we call DevOps now is built on the way that many of us in the world of startups and Internet companies have been doing things for a long time, Gene Kim asked me to share some ideas that I think are universal.

It was one of the most fun talks I can remember since I was given the license to tell stories. ;)

<comment><USER3> The recording is now available: [https://www.youtube.com/watch?v=0KuAN41liTY](https://www.youtube.com/watch?v=0KuAN41liTY)

</comment></comment><comment><USER4> All I saw there were a bunch of cliches. Maybe the actual talk was more insightful?

<comment><USER5> And yet, from a short list of a dozen or so aphorisms (and not clichés), the same mistakes are made over and over again, which is why you hear them over and over again.

Everyone's heard "practice makes perfect" until it's become tired and overused, yet when's the last time you practiced restoring from backups from scratch onto a fresh machine? How _sure_ are you, that there isn't a setting in `/etc` before it's usable in production and isn't in puppet/chef/ansible?

Or practiced failing over by firing up a entirely new cluster in a new AZ (and a new set of AWS keys), and failed over to that?

From this slide deck in particular, "Fight Hero Culture" (slide 6) isn't one that I've managed to take to heart (but I'm working on it), and I still don't like apologizing, _especially_ when I was wrong (slide 11).

You might think about the "cliche" "Empathy is a core value" (slide 13) and think about how you might apply that to your comment.

I hope a video of stories from the actual talk is posted soon!

</comment></comment><comment><USER6> Great deck, some really nice advice in there for technical leaders.

<comment><USER6> Okay I'm getting down-voted for complimenting this as a great deck (?), so let me expand on why I think it is:

\- Slide 6 "Fight hero culture", this is a real problem in many organizations where I have worked, I have written about this before: [http://www.alphadevx.com/a/423-Hero-driven- development](http://www.alphadevx.com/a/423-Hero-driven-development)

\- Slide 10 "Make it safe to learn", we all know that a blame culture still plays a big part of many organizations, and we all need to work against that to enable honest discussions about failures.

\- Slide 13 "Empathy is a core value", if you cannot understand why the other guy is pissed off about some issue, you will struggle to care about fixing it. Put yourself in someone else shoes for a change.

\- Slide 18 "Build a culture of shipping", focus on deliveries not dates.

\- Slide 20 "Do the simplest thing that could work", most engineers will jump to the complex solutions first (myself included), learn to test the obvious first.

\- Slide 21 "Beware the illusion of agreement and be explicit", just because someone is silent in a discussion does not mean that they are in agreement. They might work against the consensus as soon as the discussion is over.

<comment><USER7> "Thank you" and "Great work" are perfectly valid responses. These jackasses that down vote should be penalised. _That_ would be karma.

<comment><USER8> "valid" responses, but not really any more useful than "me too" posts.

<comment><USER9> Agreed wholeheartedly.

</comment></comment></comment></comment></comment><comment><USER10> Is there any recording on this? Could you share the link?

<comment><USER11> Doesn't look like it's been posted yet, should be soon though - [https://twitter.com/DOESsummit/status/797099082862837760](https://twitter.com/DOESsummit/status/797099082862837760)</comment></comment>


Is group chat making you sweat? - <AUTHOR> https://m.signalvnoise.com/is-group-chat-making-you-sweat-744659addf7d <comment><USER3> > All sorts of eventual bad happens when a company begins thinking one-line- > at-a-time most of the time.

theres a style i see a lot

of complicating on slack

^ communicating

where they type everything line by line

like this

not much punctuation

hardly any capital letters

never use the edit feature to correct anything

just type another line with ^ and the word you meant

and everyone sees that "Stratoscope is typing" message

the entire time

it makes me crazy

I seem to be the odd man out in some Slack teams and channels. When I write something, even on Slack, I try to write it to be _read_. Sentences, paragraphs, punctuation, and grammar make things easier to read.

Of course I leave out the email-style "Hi Sally," intro and "Thanks, -Mike" closing, and keep it shorter and less formal.

If I'm writing more than a sentence or two, I'll sometimes type it into a separate text editor first, just so people won't have to see that "Mike is typing" the whole time. And so I don't accidentally hit Enter and send out my half-baked draft!

I also have to admit to a prejudice: when I see consistently sloppy writing from a programmer, I start to wonder what their _code_ is like. Do they code in a way that's quick to write, or easy to read?

To be clear, by "sloppy" I don't mean the kinds of mistakes that can be expected and forgiven from a non-native speaker. And I don't mean the casual informality that is natural for the medium. I'm talking about the barely coherent style of writing I used at the top of this comment.

The line by line stream of thought seems lazy to me. It's distracting, hard to read, and doesn't feel respectful of the reader.

but maybe thats just me

<comment><USER4> It seems like you're being downvoted, but I'm right there with you. I can't tell you how many times I've been in the middle of a thought only to receive a "Hi, can I ask you a question?" message, followed by 30 seconds of "X is typing...".

Part of my job is answering questions. The answer to "can I ask you a question?" therefore is always "Yes". All you manage to accomplish by asking me if you can ask me a question is to break my concentration and waste my time until your actual question comes through (often one line at a time as well).

<comment><USER5> I have to assume this is coming from people who are not good text communicators in general because the same problem exists with email: "when would you like to schedule this" without indication of your own schedule is one such pet peeve. It's really easy to stretch out asynchronous conversation by wasting the other person's time.

"I have a question" in speech DOES have a purpose, which is to prime listeners to enter conversation mode instead of stopping you to say "what" after you've said two words. Of course, I've seen people who are on the ball and impatient still get testy about that convention.

Edit: the most infuriating experience I've had in recent memory is a friend who will consistently spam his shitposts over IM without warning, but when it comes time to do business will say "hi" or "are you there" instead of asking the question.

</comment></comment></comment><comment><USER6> I think Slack really needs to tweak their default notification settings. Before you know what you're doing you end up with an anxiety-inducing list of bolded room names after you've been away from your machine for 10 minutes.

Or maybe they shouldn't _have_ defaults - when you join a room it should ask you how you want to be notified. Since I've set 90% of the rooms I'm in to "muted until someone @s me" I've found it to be a much better experience, but setting that up was a pain.

<comment><USER7> The defaults are sensible. Tags for you specifically, or private messages, show up noisily. Messages to a group show up subtly, but not completely invisibly. Bolded rooms should be normal; the green (1)s should be reserved for the truly urgent things.

<comment><USER6> > Bolded rooms should be normal

That's where I disagree, particularly as it shows up with a red dot next to the app in my dock. Makes it seem _far_ more urgent than it actually is.

<comment><USER8> This red dot notification badge is maddening in a team of 20+. It should default to off.

They have added the option to disable it:

      Preferences >
        Notification Settings >
          Dock App Icon >
            Show (•) symbol on icon to indicate unread activity

</comment></comment></comment></comment><comment><USER9> The cynic in me can't help but notice that this post seems to reframe Basecamp and similar solutions as the central collaboration hubs, with team chats being additional tools.

Given the fact that 37Signals refocused on Basecamp a couple years ago [1], and given the aggressive competition they must be facing from Slack and the likes (on top of other project management platforms like Trello or Asana), this is pretty understandable.

I agree with some of the points made, mostly that you should have some sort of asynchronous, slower pace type of hub that should act more or less as the source of truth and progress. For my team, it's been GitHub for a while [2], and I haven't met a (functioning) team who did without. At the very least, there's a Hackpad or a whiteboard somewhere that lists what needs to be done and where things are at.

Is it sometimes frustrating to be constantly connected to your entire team? Sure. Does it breed expectations of immediacy? Sure. But this is not specific to the workplace: Uber, Tinder, Airbnb, ... heck iMessage. We've already been down that road for a few years now. Just look at how frustrated one can be when you chose not to answer a text for a day.

Teams that have their sh*t together will use something like Basecamp, Asana, Trello or GitHub. But the problem the author raises here is much larger than just work collaboration and I very much doubt that this global trend will curb in the short to middle term. We will build behaviors to cope with the culture of "now", but I very much doubt that it will look like Basecamp.

[1]: [http://www.inc.com/magazine/201403/jason-fried/basecamp- focu...](http://www.inc.com/magazine/201403/jason-fried/basecamp-focus-one- product-only.html)

[2]: [https://wiredcraft.com/blog/github-for- everything/](https://wiredcraft.com/blog/github-for-everything/)

<comment><USER10> I can't really believe that it's a competitive space. It seems like a _massively_ growing market... from what I can tell there's a crazy amount of "fresh blood" in the form of businesses using antiquated software and newly formed organizations forming which are just graduating from Google Docs.

In a growing market it's not really a zero sum game, multiple players just means more growth.

</comment></comment><comment><USER11> My productivity increases so much when I shutdown chat apps I can only wish people responsible for setting them up at companies would stop for a minute and read this. Only the fact that the app is running is enough to reduce my output since I'll switch to it regularly no matter what.

<comment><USER12> This is all funny because 3 years ago it was email overload, use chat instead. Now we are up to chat overload. With no tools we have meeting overload.

Maybe we just need some kind of flat "only talk to people 2 hours a day" rule for developers that transcends communication method.

<comment><USER13> One 15 minutes meeting spoils 1 hour of development time.

One 2 hour meeting spoils 3-4 hours of development time.

<comment><USER14> And LACK of the right 15 minute meeting wastes months of development time as we build the wrong thing and then throw it out.

The trick is knowing which piece of communication is the one that will actually matter. I have no idea how to solve this one.

<comment><USER15> Experience helps. But there is no magic answer that fixes the problem.

</comment></comment></comment></comment></comment><comment><USER16> Do posts from signalvsnoise.com get a penalty or are they just always flagged? I'm asking cause this was just posted an hour ago, has 157 points/47 comments, and is already falling from the first page. And this seems like a pattern.

<comment><USER17> Sounds like it. Have noticed something similar on another thread as well.

</comment></comment><comment><USER18> With 7 years experience of running a remote & distributed team (5+ countries) at Netsparker [1].

We have 4 platforms:

* Bug Tracking / Project Management

* Group Chat

* Skype / Voice

* Email

Since we grew organically, here is how I shaped the culture from 2 team members to 20 and quite happy with it at the moment:

Groupchat is for "2\. Red Alerts" (via @everyone mentions), "3.Having Fun" and "4\. Sense of belonging". Finally to share random stuff from funny moments to interesting articles. Stuff that's completely optional to consume. Very very rarely for "Hashing things out quickly" for that we use Skype. If you want to toss an idea back and forth, just talk. If you are not in the same timezone just wait for all to be in the same timezone (we don't have extreme timezone differences, max is about 10 hours)

Voice is for pretty much everything else. We don't type or discuss anything on chat if it's more than 3 message exchanges, when that happens someone just calls. It's just waste of time, we just get on a call and talk. We also have a routine of initiating skype calls to ensure it's normal to call people but it's also normal to ignore calls as well. So you have the option to quickly talk but also option to not be distracted.

We made it OK to be offline. Especially for devs it's OK to just be offline.

If something is really urgent, we'll call you or send you a text message. Which rarely happens.

If it's a task/bug put it into the bug tracking system. Then it'll be visible on the developer chat channel automatically.

So we found that voice chat is superior to pretty much anything else for many purposes. Another habit we are getting better at is taking notes in voice conversations and putting them on to the tasks.

These make text group chat a very minimal part of the flow. Another good example: I was away for 2 weeks and it took me about 10 minutes to catch up with all the group chat because we use it sparsely and discussions always use threads (this is something we teach during the orientation) so you can read the first line and just skip the whole thing.

Maybe it works because we have only 20 people, we're planning to continue to do this until it doesn't work anymore.

[1]: [https://www.netsparker.com](https://www.netsparker.com)

</comment><comment><USER19> TL;DR : don't use synchronous channels for asynchronous communication.

There is a continuum from real-time discursive to solid archived legally- binding documentation, with a whole nuanced palette in-between... But - everything in chatrooms, everything in mailing lists, everything in web forums, everything in ticketing, everything in a wiki, everything in IRC, everything in Slack: I've seen all those fads... When the only tool you have is a hammer etc.

I believe that the deeper problem is about the tool selection process - <USER2> just bottom-up vs. top-down but also the bonding produced by the community that forms around a tool and the way it emerges from peer opinion leaders... False consensus is easy to achieve and it becomes apparent once media fatigue begins to occur as practical pressure overcomes social pressure.

</comment><comment><USER20> I have Hipchat (tool used internally at my company) set to no notifications at all for group chats. I get notified by 1/1 chats and I selectively enable notification for 'hot' rooms (i.e when I'm dealing with a specific problem that needs my attention now).

<comment><USER21> This is how I manage my personal group chats in groupme.

</comment></comment><comment><USER22> What I took back from this article was that it's not about Slack vs. Hipchat vs. IRC vs. Skype vs. Basecamp or anything else. Whatever you do with your S/H/I/S/B app settings, the very mode of communication without specific granular contexts and separation of those contexts (like in email) is a big issue, not some notification setting that could possibly get rid of the issues of this medium.

Chat has its benefits as mentioned in the article, but there is a big deal of frustration -- "How do I respond to point #1 by A, point #2 by B, point #3 by C, point #4 by D that was in reply to point #2 by B"\-- and exhaustion -- "I can never catch up with this" \-- not to mention it being futile in some cases.

If the topic at hand is granular enough (which never is the case, especially when dealing with complex things like software design and development) then chats could be useful. For anything broader, depending on people's availability, asynchronous communication (say email) or synchronous voice communication (say a phone or VoIP call with a shared whiteboard) may be better choices with more focus and productivity.

The whole problem exponentially increases in its (negative) impact with the addition of more people into a group chat. This part has commonality with other communication modes, but the way to control it and the effectiveness of controlling it vary.

On a tangent, a voice call with a larger group is useless unless it has a shared screen or presentation to keep people's eyes also busy and in sync. If there's a way to make people participate, that's a big bonus. Otherwise many will drift off to chat windows, email, browser tabs, etc., resulting in the oft-repeated phrase in conference calls "Sorry, I didn't get that last part. Could you please repeat it?" :)

</comment><comment><USER23> On the subject of Slack and its shortcomings, I'm not happy with the apparently deliberate rolling-back of WYSIWYG for online communication. Early web forums used flat text or manual HTML because browser/tech limitations made WYSIWYG hard or impossible, but that style has somehow become a standard decades after it stopped being technically relevant.

I can kinda-sorta understand it for deliberately minimalistic web interfaces like HN's, but Slack isn't even limited to a web app. Why do I have to use their idiosyncratic markup instead of just hitting Ctrl-I like every other desktop app for the past 20 years? ( _Underscores_ for italics, really?) Why can't I make a normal hyperlink with normal link text, instead of ramming a mile-long URL with a big ugly preview image into the chat?

</comment><comment><USER24> Semi-related story: Slack lost us a partnership deal

Last year, I met with the EVP of a division at a Fortune 500 company in New York, to discuss a partnership opportunity for our software company.

His direct reports had talked us up to him because we had a highly differentiated offering for a crowded space; one which his company was competing in.

It all went south as soon as the EVP recalled his experience with Slack. "You guys sound like this Slack we tried last month." While our product didn't handle group chat whatsoever, I couldn't convince him otherwise.

According to him, Slack increased the noise in their communications because they "worked on a long-term case/problem basis" and they and "always refer back to conversations", which was difficult to do with constant chatter.

</comment><comment><USER25> Related: Slack, I'm Breaking Up With You

[https://medium.com/better-people/slack-i-m-breaking-up- with-...](https://medium.com/better-people/slack-i-m-breaking-up-with- you-54600ace03ea#.7008ysisc)

</comment><comment><USER26> As a remote employee who has successfully pushed Flowdock into the culture of my last three employers, I've got things to say here. :)

I think the core thing is to treat group chat like physical office chat. So:

      - Don't use it to make decisions
      - Don't expect anyone is paying attention
      - If you need someone to pay attention, @ them
      - Stay in flows/rooms/groups with your close working companions, visit others when needed

Maybe I've been lucky that this has come pretty naturally to the people I work with, but Flowdock has been a lifesaver for me, and gone a long way towards making it easier to hire more remote people.

</comment><comment><USER27> Whether or not you buy what they are selling (this is an ad for Basecamp over Slack) -- there are some great points raised that I think are worth thinking through even if you are all-in on Slack/Hipchat/etc.

I found the "one-line at a time thinking" and "announcements aren't chat" to be very elegant ways of describing some hangups I've had with group chat and I have a few very actionable changes that I hope to make in my day-to-day work life.

</comment><comment><USER28> For many of the same downsides, I have chosen to sign out of iMessage on my Mac. I used to think "wow, this so convenient!" but the accessibility ruins my focus when I'm working.

I think there is a dramatic difference for people who are even _slightly_ socially anxious. I know I have an impulse to give social situations more attention than what's needed, exaggerating the distractive nature of notifications.

</comment><comment><USER13> Well I don't read my Slack feed much, except when directly mentioned. If somebody needs everybody's attention, there is @everyone tag (not to be used lightly, and Slack warns about that).

Otherwise, chats are there to be ignored and consumed when there is some free time. Slack (as the name implies) is not a high-priority business communication tool.

</comment><comment><USER29> we use the group chat the same way as texts. There is an understanding that there is no requirement to respond instantly (or at all!). It is an announcement platform with implicit understanding it is not work related. You want to discuss something work related, you use email.

<comment><USER30> >>You want to discuss something work related, you use email.

This pattern is the inverse of what I see as best practice: _email_ is the announcement (notification) tool, and then when discourse is needed move to "pro chat," something with logging, powerful search, so forth.

An email thread locks knowledge in the thread and it's hidden from the team (at least until someone in the thread fwds it on).

</comment></comment><comment><USER31> It's about a method of communication. Let's take the positive suggestions.

</comment><comment><USER32> As a side note, interesting that this is published on/by Medium but on a custom domain. I also heard Bill Simmons mention using Medium for a new site (on his podcast).

Curious to see where they're headed with this.

<comment><USER33> DHH's answer on this topic:

[https://m.signalvnoise.com/signal-v-noise-moves-to- medium-c8...](https://m.signalvnoise.com/signal-v-noise-moves-to- medium-c8083ce19686)

</comment></comment><comment><USER34> The pomodoro technique solves this problem.

</comment><comment><USER35> HBR's Winter 2016 article on Collaboration Overload might interest some people: [https://hbr.org/2016/01/collaborative- overload](https://hbr.org/2016/01/collaborative-overload)

<comment><USER36> Good, relevant, share. Was this posted as a stand-alone link on HN? "Those seen as the best sources of information and in highest demand as collaborators in their companies—have the lowest engagement and career satisfaction scores." Yikes.

<comment><USER37> Very interesting indeed. It's been posted 4 times in the past 2 months btw :) no discussions though.

[https://hn.algolia.com/?query=https:%2F%2Fhbr.org%2F2016%2F0...](https://hn.algolia.com/?query=https:%2F%2Fhbr.org%2F2016%2F01%2Fcollaborative- overload&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

</comment></comment></comment><comment><USER38> I wish there was a way to "subtly" @ someone where the person would not be pinged until they turned off their "I'm working" status. You could still normally @ someone to get their immediate attention no matter what.

</comment><comment><USER39> what i want to know is why in the world both hipchat and slack don't allow you to open multiple rooms/channels at once in the native client.

i'm clicking at least 1000 times per day to change channels. that's not an exaggeration.

surely i can't be the only one with this problem. or am i just missing something super obvious here?

having said that, my current position/job/company is the last one i will ever work where things have to get done "now" constantly. i'm done with this method of working after i fulfuill my current obligations.

</comment><comment><USER40> The only survival tactic is to figure out the absolute minimum of group-chat engagement you can get away with in your org without it being a problem. Leave all the rooms and groups that are not explicitly about work. If a room is bold because it has unread messages, that doesn't mean you need to read them right now.

</comment><comment><USER41> No.

Just like every other communication tool, it's not the tool it's how you use it.

<comment><USER42> Did you read the article? Because the author _specifically_ calls out this viewpoint as, while perhaps well-intended, ignoring the fundamental reality of how tools encourage you to work. When the straightforward, socially-accepted path is distraction hell, that becomes the norm for those in it regardless of one's desired use pattern.

<comment><USER41> Yes I did read the article. But until someone can show me how slack exacerbates behavior any better/worse than what email did when it first came out, or texting, or even typed memos and letters, I'd love to see it.

<comment><USER43> Points 11 and 12 of the article contrast chat with email, along with various other minor references.</comment></comment></comment></comment>


Expressive Temperature - <AUTHOR> https://www.robinsloan.com/expressive-temperature/ <comment><USER2> one thing is phrased a bit confusing: the statistical weights are supposedly "divided by temperature", but if all probabilities are scaled with some factor and renormalized you end up with the original weight distribution.

the author obviously intends to denote that the weights are similar to the weights in statistical mechanics and proportional to exp(-E/(kT))

In example given any 2 outcomes A and B from the distribution at temperature "1.0" with probability ratio P_A / P_B then at temperature "0.5" the probability ratio of the same 2 outcomes will be the square of the original ratio

</comment><comment><USER3> Is the temperature semantically different from 'yet another input' into the model? Asking as an ML noob.</comment>


Engineering Surfing Waves - <AUTHOR> http://nautil.us/issue/37/currents/the-perfect-wave-is-coming <comment><USER2> I really want to see these reefs in the ocean. There are plenty of waves that just crash into cliffs or rocks that could be harnessed for fun.

<comment><USER3> What? It's not a reef. This Slater wave pool is outside Lemoore, which is outside of Fresno.

Waves that crash into cliffs are usually already known for good surf due to the reefs that are already there. Some may only be accessible by boat, but most coastline with sufficient wave action already has surfable waves.</comment></comment>


Show HN: Storing your bookmarks under revision control - <AUTHOR> https://github.com/skx/bookmarks.public/ <comment><USER2> I'm using a similar solution, namely a file I edit in org-mode. Here are the advantages I've found so far:

\- org-mode or text files in general make it easy to add contextual information, additional notes etc. Bookmarks can finally tell a story.

\- in org-mode (or Markdown), the bookmark file is well-readable as is in the editor

\- bookmarks can be rearranged and regrouped quickly if need be

\- (org-mode at least makes) links to different sections of bookmarks within the same file possible. For this reason, I personally don't use tags but follow a hierarchical structure with intra-document references if need be (e.g. if a group of bookmarks can be considered to be part of two different higher-level groups)

\- searching is only one grep or one Ctrl+F away. In case of imprecise search terms, the additional hierarchical structure helps.

\- Easy and privacy-preserving synchronization among devices using git

And here are the disadvantages:

\- No browser integration; bookmarks always have to be added and looked up manually which is particularly cumbersome on a phone.

<comment><USER3> Use a bookmarklet and org-protocol to trigger an org-capture template:

[https://stackoverflow.com/questions/7464951/how-to-make- org-...](https://stackoverflow.com/questions/7464951/how-to-make-org-protocol- work)

You can make the bookmarklet pass along extra info on certain pages, eg. gmail and have a capture template match it - handy for TODOs with deadlines that link back to emails.

</comment></comment><comment><USER4> I made something similar [0] for Pentadactyl [1], a vim-like extension for Firefox.

By pressing Cmd-D the user is prompted to enter a tag, and after that a .webloc (essentialy a link) file is created in a subfolder determined by the tag name.

The location to store the files in can be configured (i.e. some Dropbox folder, so that bookmarks are automatically shared).

This has the advantage that it's:

* instantly searchable using the same search interface like everything else (Spotlight)

* forwards compatible - no need to import/export bookmarks when switching browsers

* distributed - bookmarks are instantly and automatically distributed (Dropbox)

* automatically backed up forever (Dropbox)

I'm not using Firefox right now, so the extension might be out of date. Maybe time to port it to Chrome/Safari :)

[0] [https://github.com/pkamenarsky/fbookmark](https://github.com/pkamenarsky/fbookmark)

[1] [https://addons.mozilla.org/en- US/firefox/addon/pentadactyl](https://addons.mozilla.org/en- US/firefox/addon/pentadactyl)

<comment><USER5> Very interesting! Keen to try it out, very sick of bookmark syncing and exporting etc... thanks

</comment></comment><comment><USER6> I run a personal wiki (that gets me version control) that I've written a bookmarklet for. It asks for the page to place the entry on (default is Bookmark), location on the page (top is default for Bookmark, bottom is default for others) and the entry (default is the title of the page I'm on). It then makes an entry on the page as a bullet entry so I can tell that it's a bookmark.

This allows me to quickly bookmark items and have some level of order to them as I'm saving them away.

<comment><USER7> I must look into bookmarklets. They can write to disk then?

I also use a wiki synced in dropbox. I wrote a hacky Android app that links into all the sharing dialogs so I can share a link into my wiki super easily. But I like the idea of both the shell command talked about in a different comment, and your bookmarklet.

One wiki to rule them all, and in the darkness find them ;)

<comment><USER8> A bookmarklet is just javascript running under the website instance (pretty sure they can't write to disk). They are useful for manipulating websites. kinda like tampermonkey, but they only run when you click them.

Add a bookmark with javascript:alert('hello');

Though it's usually best to keep an expanded version elsewhere and copy it over when you update it (else it'll be stored as a one liner).

<comment><USER7> Right, that's what I thought.. I'd just misunderstood that the bookmarklet was writing somewhere. I might just write a bookmarklet that does a POST to somewhere that'll write to a Dropbox backed wiki page... I'd just like to have everything in one place..

</comment></comment></comment></comment><comment><USER9> Seems like you could just put the files that already exist under version control? Chrome just uses a JSON file it seems, as an example.

On mac: ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks.bak

Separate, re-writeable interface for search is cool though :)

<comment><USER10> The Firefox files are SQLite files, and I believe but haven't checked recently that the Chrome files have no newlines (0x0A) in the files. The whole JSON string is on one line, so Git will rewrite the whole file on each change.

<comment><USER11> Git _always_ rewrites the whole file

<comment><USER12> Sure, technically - but if a file's sensibly broken up into lines on semantic boundaries, "git diff" will at least let you think of it like it only rewrites the bits that actually changed. If you're versioning a file with no linebreaks, the diffs would be meaningless ("minus everything, plus everything"), which is an unfortunate loss of functionality.

<comment><USER13> I guess you could just smudge/clean it through a JSON linter. You probably don't even need smudge, since Chrome likely has no problems parsing indented JSON.

</comment></comment></comment></comment></comment><comment><USER14> Am I the only one who has started to use the Hacker News "favourite" feature as a make shift bookmarking service?

I've found that I now actually submit links I want to save...

<comment><AUTHOR> Many of the things I bookmark wouldn't be interesting to this audience, so it'd feel a bit abusive to try.

</comment></comment><comment><USER15> I recently created two shell scripts.

1) site

It just adds sites to a list and has basic parameters like "list", "edit", etc. I really like the fact that I can do it from the shell and vim. I often get requests for online information, so cb (clipboard) saves another mouse movement. For me, the quicker I can respond, the higher the chance I'm not out of my flow.

2) note

And yes, I'm getting difficulties with flow at times. For example, I'm working on something and need to reorganize a certain datastructure. Something like note "make logmvnpdf.m row-friendly" serves as a todo list, but most importantly does help me continue my flow on starting next day again.

Everything I can move from the browser (time sink) to my shell (productivity) I get really happy about!

<comment><USER16> I would be interested in hearing if something like [https://www.ghostnoteapp.com](https://www.ghostnoteapp.com) could work for you. Its also made to maximize flow by keeping the notes contextual.

<comment><USER15> # Shell

I applaud any effort for maximizing flow. However, in my particular case I run Linux and I'm not spending any time in a file explorer application for example. Issues like a screen "popping up" as described in the FAQ of [https://www.ghostnoteapp.com/](https://www.ghostnoteapp.com/) are just not there because I prefer to run things from the shell.

# Syncing

I'm the kind of person who happily pays for services like [https://www.insynchq.com/](https://www.insynchq.com/) (not affiliated) to be able to get something like Dropbox or Google Drive to my shell without loosing collaboration options.

# Text-level access to collaborative documents

If there would be cloud service that combines (1) online editing and collaboration with others, and (2) offline editing in a text-editor for myself, for spreadsheets, presentations, documents, etc. I would buy it in a heartbeat. An example is [https://www.sharelatex.com/](https://www.sharelatex.com/) (not affiliated) where people can edit online, but behind the screens there is Dropbox/Github integration.

# Window manager

Another way I organize my "dashboard" for a particular purpose is by using tmuxp.

# Browser

In the browser I use vimium ([https://vimium.github.io/](https://vimium.github.io/)) and I've several profiles depending on the task at hand.

Probably you can summarize a lot of it as "not needing a mouse". If it requires a mouse it's difficult to let my muscle memory do the work for me.

<comment><USER16> Thanks for your answer. That was very informative. I am working on a collaborative version of this, but it's quite complex.

One point I want to make though is that the app works well with a shell.

Not sure if you saw the entire video but in the end it shows how you can use it in context with terminal (and I have users who use it with iTerm2 ([http://disq.us/p/vao7ti](http://disq.us/p/vao7ti))

Anyway this was very valuable as I am always looking for ways to optimize flow for my user.

</comment></comment></comment></comment><comment><USER17> Similar: [https://github.com/hmason/gitmarks](https://github.com/hmason/gitmarks)

A web bookmark manager built on git and designed for github. It's searchable and social.

</comment><comment><USER18> Very interesting. Bookmarks solve a particular problem of finding information that was already visited. A more general problem is a designing a personal knowledge base. There are lot of hints in this page about PKB and some of them can be applied to bookmarking as well

[http://www.acuriousmix.com/2014/09/03/designing-a- personal-k...](http://www.acuriousmix.com/2014/09/03/designing-a-personal- knowledgebase/)

I created a personal curation system - Hyperbook, [http://getbook.co](http://getbook.co) . It arose out of the need to store reference materials while writing my thesis. There seems to be lot of people working on similar ideas, which shows the market need and lack of existing products which address them. I sense there is a great startup/product coming in this space soon.

</comment><comment><USER19> Anyone else think that current browsers using NETSCAPE-Bookmark-file-1 for exporting bookmarks is really archaic [https://msdn.microsoft.com/en- us/library/aa753582(v=vs.85).a...](https://msdn.microsoft.com/en- us/library/aa753582\(v=vs.85\).aspx)

</comment><comment><USER20> The fun stops if you start to review the bookmark changes via gerrit.

</comment><comment><USER21> The better part of 20 years ago, Kaylon sold their shareware / try-it-and-buy- it bookmark manager Powermarks.

I've yet to come across anything as useful as it was. Cross-browser, automated keyword extraction and indexing that could be supplemented by the user, lightning fast search against spaced plain text and fragment entries.

Other features, as well, to aid in link management and maintenance.

By contrast, browsers' built-in bookmark management still sucks.

</comment><comment><USER22> Oh no, I am so interested in this but the demo is not loading.

Why not host it using GitHub pages instead of your own server to handle more traffic?

<comment><AUTHOR> I'd be interesting in seeing how it is failing for you? Timeout, or something else?

As far as I can see the server is up and running on both IPv4 & IPv6. Load is low, and I see no failures logged.

Edit added to github pages:

* [http://skx.github.io/bookmarks.public/](http://skx.github.io/bookmarks.public/)

<comment><USER22>
        $ ping www.steve.org.uk
        PING www.steve.org.uk (184.108.40.206): 56 data bytes
        Request timeout for icmp_seq 0
        Request timeout for icmp_seq 1
        Request timeout for icmp_seq 2

        $ nslookup www.steve.org.uk
        Server:		188.8.131.52
        Address:	220.127.116.11#53
        Non-authoritative answer:
        Name:	www.steve.org.uk
        Address: 18.104.22.168

        $ traceroute www.steve.org.uk
        traceroute to www.steve.org.uk (220.127.116.11), 64 hops max, 52 byte packets
        1  192.168.0.254 (192.168.0.254)  1.155 ms  14.610 ms  2.999 ms
        2  * * *
        3  * * *
        4  * * *

Looks like something wrong with my network but other sites working fine.

</comment></comment></comment><comment><USER23> * Xmarks | Bookmark Sync and Search || [https://www.xmarks.com/](https://www.xmarks.com/)

Little dated, but still works great across browsers and devices.

</comment><comment><USER24> I've never heard it referred to as revision control - I always hear "version control" or even "source control". Any difference? Is that a common phrase?

<comment><AUTHOR> It's common, or at least understandable, just a little dated.

Mostly the people who use say/write it do so because they were exposed to RCS ("Revision Control System"), before they moved on to CVS.

</comment></comment><comment><USER25> Looks very interesting. Just IMHO, a little bit of CSS setting a max page width and a sans-serif font would be worth it.

</comment><comment><USER26> I'd like to store the content of the webpages as well, in case they are taken offline.

</comment><comment><USER19> It reminded me TiddlyWiki with exception that external data file being used.</comment>


Spontaneous Marathon Races. Could an Idea like this work? - <AUTHOR>

Ever thought of running a marathon, but the race date or location didn't jibe?
Do nagging injuries prevent you from ever getting to the starting line?
Are you feeling great TODAY, and would love to run a marathon TODAY?
Then DO IT. Be a random runner!
Tell randomrunners.com about your need for speed, the distance and route, and we'll tell running enthusiasts far and wide about your impromptu race. You can set up a marathon as quick as one hour (depending on the area).
Meet new people, stay in shape, and finally check "run a marathon" off your life's to do list! <comment><USER2> Running a marathon is hard - really hard. Most people need month to train for a marathon and only run maybe 70% of the distance during training. A designated city marathon offers a lot of benefits that you don't get when running alone:

      - Blocked streets, no need to wait for traffic lights etc.
      - They are at a specific date in the future which helps
        you by setting a deadline to get in shape
      - Spectators to cheer you on
      - No matter how fast/slow you are, there are hundreds of
        people around you, running at the same speed

I don't know about you, but even people who run regularly are physically not able to run a marathon tomorrow or next week. So how many people are in your area who are able to run a marathon and are just as fast as you are?

OTOH: What about a site to set up "running groups". You specify a track/expected time and how often and when the group is running (monthly, twice a week etc.). This way you give people a way to organize groups, let them communicate if they are unable to show up, talk outside of a running context etc.

You might want to look into similar sites. Off the top of my head I know of runmap.net and mapmyrun.com but there are probably a lot more like this.

<comment><AUTHOR> Perhaps runmap.net and mapmyrun.com, along with realtime platforms like Twitter could be leveraged as part of RandomRunner's service?

<comment><USER2> Sure, I think runmap.net especially offers a great mapping-tool and a good way to discover new tracks, but leaves a lot to be desired in the community area. If you could combine great maps with Twitter (Sending messages like: I just ran X miles in Y minutes RandomRunner.com/runID) and a platform to talk to other runners it could be quite a nice service. Don't know how open for integration these two other sites are.

I thought about something similar a while back, but decided against it when I saw the existing sites. I would love to see/use such a service though.

</comment></comment></comment><comment><USER3> I don't know about marathons since I'm not much of a runner. But I have thought for a while that a spontaneous "meetup" site for normally solo sports would be a great idea.

e.g., say I like kayaking but normally prefer to do it alone. Today I'd really like to do it with someone else maybe for company or because I want backup on a tricky part of the river but none of my friends like kayaks. Go online and find 2-3 people in the area who are free and want to do it.

There are times I'd pay for something like this.

<comment><AUTHOR> RandomRacers.com was available last I checked ;-)

</comment></comment><comment><AUTHOR> That's the ad hoc pitch for the idea I got about 30 minutes ago in the shower. I registered a couple of domain names and now I'd like to get some input from the HN clan.

Could this work? If so, what are the minimum amount of features I'll need for launch?

<comment><USER4> Don't think most people are interested in picking up and running 42k at the drop of a hat. Maybe something more like finding running partners?

<comment><AUTHOR> Thanks David. I should probably survey a runners forum next.

<comment><USER4> Yeah, I certainly can't say I know much of anything about running. I do know cycling though, and I don't really get the appeal of saying "hey, I'm going to go do a really long ride". I think I'd either just do it, or not. Organized rides or races are more fun though: you have company and infrastructure which makes it different from simple going out and riding some huge distance.

<comment><AUTHOR> Random Runners would add a social and competitive element to the runs too. You could announce "hey, if anyone wants to run 26.2 today, I'll be at the Java Cafe on Fifth st. and Main at 3pm." Random Runners could report on the outcome of the race and even have a leader board.</comment></comment></comment></comment></comment>


Conserve the sound – an online museum for vanishing and endangered sounds - <AUTHOR> https://www.conservethesound.de/ <comment><AUTHOR> Description from the project page:

 _»Conserve the sound« is an online museum for vanishing and endangered sounds. The sound of a dial telephone, a walkman, a analog typewriter, a pay phone, a 56k modem, a nuclear power plant or even a cell phone keypad are partially already gone or are about to disappear from our daily life._

 _Accompanying the archive people are interviewed and give an insight in to the world of disappearing sounds._

 _»Conserve the sound« is a project from CHUNDERKSEN and is funded by the Film & Medienstiftung NRW, Germany._

[https://www.conservethesound.de/projekt-2](https://www.conservethesound.de/projekt-2)

</comment><comment><USER2> I love the idea since there are so many sounds you can´t personally recreate and you won´t find them on the internet as well.

On the other side it can help bring memories back for loved ones, who sadly have alzheimer´s or something alike.</comment>


Ask HN: Where do you host your personal projects? - <AUTHOR>

Hi fellow hackers,
I am looking to start work on a new personal project and was looking to use version control hosted online.
Any recommendations for svn / git hosting ? Good / Bad experiences ? Best bang for the buck ?
Thanks in advance! <comment><USER2> My friend uses googlecode. Its free and uses svn.

<http://code.google.com>

<http://code.google.com/hosting>

</comment><comment><AUTHOR> Thanks for the fast replies.

Google code / github definitely make sense for open source projects. But what if the project I'm working on is not open-source ?

Any recommendations for personal hosting ?

<comment><USER2> Try this search:

[http://www.google.com/search?q=comparison+"project+hosting"+...](http://www.google.com/search?q=comparison+)

These look good:

<http://unfuddle.com>

<http://cvsdude.com>

<https://www.freepository.com>

</comment></comment><comment><USER3> Beanstalk -- <http://www.beanstalkapp.com/> SVN hosting. Good customer support, solid service. For me beanstalk is github for svn :)

</comment><comment><AUTHOR> Thanks for the input, everyone. I have decided to go with unfuddle for now since they host both svn and git repositories and their free plan has more than what I need for now.

</comment><comment><USER4> github

</comment><comment><USER5> obligatory slicehost post.

</comment><comment><USER6> linode 360

</comment><comment><USER7> Google Code.</comment>


Feature checklist dysfunction: Twitter vs. Google Buzz - <AUTHOR> http://37signals.com/svn/posts/2171-feature-checklist-dysfunction-twitter-vs-google-buzz <comment><USER2> Simple or not, but I remember statistics that some 65% of first-time users do not get Twitter and leave. So it seems like it is not only about having less features.

</comment><comment><USER3> "dizzying complexity"? Seriously? Have Internet users really degenerated to being that stupid?</comment>


Curious tilt of the sun traced to undiscovered planet - <AUTHOR> http://phys.org/news/2016-10-curious-tilt-sun-undiscovered-planet.html <comment><AUTHOR> I don't know about you but I find it incredible that while we can see galaxies formed 13 billion years ago[0], we have completely missed the existence of a large planet in our own solar system.

I can only guess what kind of theories the Nibiru/PlanetX[1] enthusiasts will cook up based on this announcement.

[0] [http://www.space.com/32150-farthest-galaxy-smashes-cosmic- di...](http://www.space.com/32150-farthest-galaxy-smashes-cosmic-distance- record.html)

[1] [https://en.wikipedia.org/wiki/Nibiru_cataclysm](https://en.wikipedia.org/wiki/Nibiru_cataclysm)

<comment><USER2> Also, since the article says:

> It continues to amaze us; every time we look carefully we continue to find > that Planet Nine explains something about the solar system that had long > been a mystery

Why hasn't the existence of an additional planet been hypothesized before?

<comment><USER3> It's not that it hadn't been hypothesized before, it's rather that the numbers that they attribute to this hypothesis stack up well against a lot of Solar System observations. In other words, the hypothesis is not merely that there is another large, undiscovered planet in the far reaches of the Solar System, but rather the details of its mass and orbit that make this a compelling case. Part of the reason that this hypothesis wasn't possible before is because the observational data to support these numbers was lacking. The amount of knowledge we've gained about the Kuiper Belt over the last decade or so is phenomenal and drives our understanding of what might have happened in the early Solar System. It's worth reading the original paper to get a handle on the rigour with which this hypothesis has been analyzed and the coupling with observations of the Kuiper Belt [1].

[1] [https://arxiv.org/pdf/1304.5166.pdf](https://arxiv.org/pdf/1304.5166.pdf)

<comment><USER4> I think this is the same as the hypothesis for Planet X that has been around since the 90s. Seems like they've just modified it slightly. They take observations they can't explain, and then make something up out of thin air that will explain the observations.

Not saying this is a bad strategy, just that in my view it's not much different from hypotheses for additional planets which have come before.

</comment></comment></comment></comment><comment><USER5> If you are just coming to the Planet Nine story, the best background information is the scientists' blog at www.findplanetnine.com.

</comment><comment><USER6> See also: [http://www.space.com/34448-planet-nine-solar-system- tilt.htm...](http://www.space.com/34448-planet-nine-solar-system-tilt.html)

</comment><comment><USER7> Instead of it being a 9th Planet (formed along with others as our solar system was created), it's perhaps just an enormous object (black hole?!) whose gravitation causes the sun to tilt ?

<comment><USER7> Does the sun's tilt match it's position within the milky way galaxy ?

<comment><USER8> I'm going to assume both of these options have been considered and ruled out. Also, the article mentions that this Planet 9 explains the orbits of Kuiper belt objects as well.

</comment></comment></comment><comment><USER9> Is there any reason, apart from not knowing exactly where to look, that we can't find such a planet by watching for when it passes in front of stars?

<comment><USER10> I'm not an astronomer, but I imagine there are too many small untracked objects, between Mars and Jupiter for instance, that periodically occlude stars. I imagine the signal-to-noise ratio is too high to start a search every time something blocks a star. How many millions of times per day must an asteroid somewhere block a star as visible from Earth? Gravitational perturbations are a smaller signal, but the signal-to-noise ratio is better, I imagine.

<comment><USER9> Maybe although I make a 10 times the size of earth planet at 20 times the distance of Neptune equivalent to a 77km wide main belt asteroid, so maybe not all that noisy. Plus the predicted orbit tilt must help a lot. Sounds like a doable big data problem to me.</comment></comment></comment>