NeoVim 0.2.0 released - <AUTHOR> https://github.com/neovim/neovim/releases/tag/v0.2.0 <comment><USER2> Major version can make someone think nvim is still unstable. My experience is the opposite.

I have being using it for 2-4 years (can't remember exactly) and got the same 0 problems I run into Vim. Earlier versions required you to recompile NeoVim to enable new features for plugins.

Yesterday I installed NeoVim in my new laptop and it was a smooth experience: Installed it using Ubuntu package manager, installed Vim-Plug for managing plugins, copied my old init.vim (or .vimrc), run vim and everything in order.

I am really happy with NeoVim. I faced no problem with it that Vim could not resolve but I know the insides being a better ecosystem for core and plugins developers, so I will stick with it.

<comment><USER3> I tried jumping boat to nvim something like a year ago. One of my plugins ran into an issue, so I came back. A better question for us "old-vimers" is not "is nvim stable, because I'd like something modernized", but rather "what does nvim have that vim doesnt". I'm actually asking. My short glance led me to believe that it's got two things going for it: a) smoother interop with other "modern" tools b) cleaned up codebase.

I'm using the word "modern" in a derogatory fashion to underline that we often mistake new for good.

<comment><USER4> The major reason I use neovim is because with the addition of :terminal command I no longer need to remember tmux commands and with the add-on neoterm I have a one button command to send the current selection (or line) to whatever terminal I please.

This means that when developing code in any language that has a REPL I can test it out as I develop line by line.

<comment><USER5> I've been looking for something like this in vim for a while (something like Emacs + ESS). I've found a few plugins and workarounds using tmux, but nothing as smooth as you said. I'll try it out.

</comment></comment></comment></comment><comment><USER6> I have been using Vim as my primary editor for many years and am happy with it. People I know who use developer editors are split between Vim and Emacs. Neovim usage is minimal. Why? It is an honest question.

I see developers of the _editor_ happy, which is a good thing, but IMO to get more users NV must show why it is better from a user perspective -- have several demos on the powerful things easily achieved with NV that are painful with Vim (via plugins is OK).

If NV devs can do this, it will go far. If not, then the case for an upgrade hasn't been made yet for most users. My 2c.

<comment><USER7> The simple answer is probably the correct one. It's not included by default in any distributions.

<comment><USER8> Some distros do have it in the official repos [https://github.com/neovim/neovim/wiki/Installing- Neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)

<comment><USER9> Yes, but it is not installed as the default text editor. Unlike vi/vim/nano

<comment><USER8> The default is usually vi or nano, not full vim. So installing vim or neovim should take about the same effort.

<comment><USER10> In what distros? Ubuntu comes with vim.

<comment><USER11> Debian Stable (without a DE) only comes with nano AFAIK.

<comment><USER12> It has vi in the base system, specifically `vim-tiny`. Vi is mandated by POSIX, so pretty much every distro includes some minimal version of it in the base system. `nvi` is also used sometimes instead.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Regardless if you feel like if the NeoVim refactor is worth it or not we can all agree that it is tremendous effort to modernize code written over the course of decades. Great job guys on another release!

<comment><USER14> The versionning repository should be a book about software engineering.

</comment></comment><comment><USER15> > This release features a macOS pre-built package.

Yay, no more compiling to upgrade!

> Windows is no longer "experimental", it is fully supported. > Windows > package includes a GUI, curl.exe and other utilities.

Awesome. Well thought-out.

> 1215084 backtick-expansion works with shell=fish #6224

Solves one of my main problems.

<comment><USER16> Should be an app/dmg though. The libs shipped with it can interfere with my setup.

</comment></comment><comment><USER17> This release fixes one of the biggest bugs with asynchronously embedding Neovim (some input states would just block the API), and makes ActualVim more reliable as a result. Neovim embedding works pretty well now, and will only get better. I'm hoping it will be possible soon to embed the entire Vim experience into another editor with little to no tradeoffs on either side. I've been impressed when interacting with the Neovim developers.

<comment><USER18> I'd love to see neovim embedded in Firefox, and have it be just a standard part of every text field. Having a seperate editor window pop up as with the It's All Text extension is just not the same.

It'd also be great if there was a way to have neovim "wrap" arbitrary shell commands, kind of like rlwrap[1] does, only with full vim editing features available instead of the relatively crippled readline.

[1] - [http://utopia.knoware.nl/~hlub/uck/rlwrap/](http://utopia.knoware.nl/~hlub/uck/rlwrap/)

<comment><USER19> I wish something like this were available for Chrome. My Firefox use has been declining. Not really sure why. Though the termination of the addons language (xul?) in favor of webextensions is probably a big reason.

<comment><USER20> You might like this -

[https://github.com/akahuku/wasavi](https://github.com/akahuku/wasavi)

I'm hoping it's ported to Firefox when webextensions are ready.

</comment></comment></comment></comment><comment><USER21> I use Neovim on daily basis. It works really well. It requires tremendous efforts and love to transform a huge archaic code base into a much modern one. Thanks, Neovim team!

<comment><USER22> This can be said for any rewrite. Let's wait and see what happens to Neovim's code in coming 10-15 years if it can last that long. When you have to support all the legacy systems and all types of OSes out there, crap is going to come in the code.

<comment><USER23> To be fair, supporting all legacy systems and all types of OSes seems to be an explicit non-goal of neovim.

<comment><USER22> Neovim does have breaking changes from Vim, that by definition make support for some of these systems very hard or impossible.

</comment></comment></comment></comment><comment><USER24> My God, it's full of stars :)

> Windows support:

> Windows is no longer "experimental", it is fully supported.

> Windows package includes a GUI, curl.exe and other utilities.

<comment><USER25> Wasn't "dev moving away from macOS" a hot topic on HN lately?

<comment><USER24> It was, but I'm on Windows, so no "moving away from MacOS" for me, anyway :)

</comment></comment></comment><comment><USER26> I understand why they started neovim, but don't think the split between vim 8 of today and neovim is a good thing. Makes me think of emacs vs xemacs but worth because they use slightly different dialects of vimscript (closures, currying in vim 8, different api for asynchronous calls). I personally wish they'd meet on some common, standardized ground. This would require both parties to accept they are not alone though.

Edit: I realize that "Vim 8 features: partials, lambdas." might solve part of my problem.

<comment><USER27> The diffwrence in performance is hhuuuugggee!

Vim lags on my project, nvim doesnt! Quadcorei5, 16hb ram!

<comment><USER28> What are you doing that makes Vim lag? In my experience (on much weaker hardware) it only lags noticeably when you do wildly unusual stuff, e.g. huge files or files with huge lines.

<comment><USER29> On an old netbook (remember those?) Vim would lag just entering text in insert mode when I was editing LaTeX files (and only LaTeX files as far as I could tell). Slowness of LaTeX syntax highlighting is a known problem (the help files have a section called tex-slow). Trying all the suggestions there didn't speed things up enough for me. I tried editing without syntax highlighting for a while (this did work and completely solved the lag), but eventually just switched to Emacs.

</comment></comment></comment></comment><comment><USER30> The efforts of Neovim team are well-intentioned and we are seeing it shaking the ViM development. (the previous major version from (7.0) 2006, before it (6.0) 2001).

We love updates after all.

<comment><USER31> I wouldn't read too much into changes of version numbers. vim was being updated continuously.

<comment><USER30> The versions numbers talk about the changes happening and compatibility. There's just a few new features in the 7.3 [1]:

Persistent undo, More encryption, Conceal text, Lua interface, Python3 interface.

[1] [http://vimdoc.sourceforge.net/htmldoc/version7.html](http://vimdoc.sourceforge.net/htmldoc/version7.html)

</comment></comment></comment><comment><USER32> I'm currently using vim and I'm quite happy with it. I don't use many plugins, so better support for plugins is not very helpful to me. Are there other reasons why I should switch to Neovim?

<comment><USER33> Faster startup, mouse works as you'd expect in a regular desktop app. Switch panes, tabs, open new tab, scroll panes, resize panes, select ranges, all in the terminal. I know not using the mouse is one of the reasons why one would choose vim, but the mouse really is faster/more intuitive in some situations.

<comment><USER34> Using a mouse is not faster if you really know how to use vim. I guarantee I can get to any line in any window in any tab faster than it takes for my hand to even reach the mouse. Same for resizing splits, selecting ranges, whatever. It's only more intuitive if you're stuck in a GUI mental model. Disable mouse support and learn to navigate vim just like you learned to edit in vim.

Not trying to come off as confrontational, just my 2¢.

<comment><USER35> Being "stuck in a GUI mental model" means I use IDEs for most development I do instead of vim/emacs (which I guess would be the extreme of being stuck in that model?). At the end of the day using my mouse to open a file doesn't impede my ability to code in the slightest.

I've never understood the almost subtle elitism behind being able to use Vim without a mouse because "moving your hand to the mouse is slow". If a problem is so simple my writing/editing a solution for it is constrained by... the time it takes my hand to move to my mouse... I usually just fire up nano.

<comment><USER34> It's not about elitism, it's about using the tool you've chosen efficiently.

If I used the IDEs you use, and you suggested to me a way of using them more efficiently, I wouldn't accuse you of elitism. I'd thank you for showing me something new and improving the way I work.

Have you ever witnessed somebody using a mouse to move between form fields? My bet is you at least thought about telling them they can use the tab key. You probably wouldn't expect them to come back with some comment about the subtle elitism behind using the tab key.

<comment><USER35> If I told them they didn't _really_ know how to use a browser because... they didn't know to use tab to move between fields... I wouldn't be surprised in the _slightest_ if they came back with some comment about the subtle elitism

<comment><USER34> Ha, fair enough. But that really only shows that my example wasn't great.

If you eat soup with a fork, you don't know how to use silverware. If you drive nails with a ball-peen hammer, you don't know how to use hammers. That's not hammer or silverware elitism.

IMO, using a mouse in vim shows that you don't know vim. You can still get the job done, but why not commit to using the tool as intended?

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> The only thing that bugs me about neovim is that it seems to require workarounds to get the escape button to behave the same as in vim. When I press escape to exit insert mode, there is a small delay. If I press a key (e.g. 'j' to go down) too quickly after Escape, it inserts the 'j' and cancels what escape is meant to do.

In tmux I know of a workaround (iirc, 'set escape-delay 0' or something similar), but I wish I didn't have to change a tmux setting so one program can function. It's really annoying.. but ultimately worth it, I guess.

That said — to the neovim team: congratulations on reaching the 2.0 milestone!

<comment><USER36> Have tried the newest version? I couldn't reproduce this delay.

And btw. it's version 0.2 not 2.0

</comment></comment><comment><USER37> Hope someone (not me!) starts working on a nvimclient (akin to emacsclient) soon.

<comment><USER38> maybe neovim-remote is what you want? [https://github.com/mhinz/neovim- remote](https://github.com/mhinz/neovim-remote)

<comment><USER37> Close, but not enough. I want to open the same editor session spread across multiple windows on multiple monitors.

<comment><USER39> I saw this thread, and I promised myself I wasn't going to plug Kakoune -- I think NeoVim is a great project and I want it to succeed. They deserve every bit of the praise they're getting. But I'm going to have to break my promise, because Kakoune has the exact feature you're after, and I'm using it right now. That, along with familiar keybindings, selection-oriented modal interface, tmux integration... I could go on. Kakoune is a modern modal text editor for your terminal, and it's worth trying!

Caveats: if you depend on plugins to give you an IDE-like experience in Vim, kak is not for you. Your vim plugins won't work. If you use Windows but don't want to use Cygwin, kak is not for you.

<comment><USER40> Kakoune is always super tempting to me but the plugin thing is a deal breaker for me. Not for IDE-like features but because limiting myself to vanilla vim motions feels like using a bad vim plugin by now.

At least surround.vim, targets.vim and a couple custom text objects.

</comment></comment></comment></comment></comment><comment><USER41> My first impression was not a good one. Its hardwired assumption of xterm control sequences, even when TERM says something else entirely, caused it to be unusable on my terminal (which understands DECSLPP as DECSLPP).

* [https://github.com/neovim/neovim/blob/v0.2.0/src/nvim/tui/tu...](https://github.com/neovim/neovim/blob/v0.2.0/src/nvim/tui/tui.c#L423)

<comment><USER19> So, what terminal do you use?

<comment><USER41> I use several. But this particular one is most definitely _not_ xterm, nor dtterm.

Ironically, it actually implements both of DECSLPP and DECSCPP, but without the restrictions to only some sizes. So nvim _could_ use these DEC VT control sequences to set the screen size. Unfortunately, there is no simple mechanism for nvim to know this. There's no terminal type that a user could set that would hint at this ability, let alone a termcap/terminfo capability.

Nonetheless, just blithely assuming that every terminal type in existence implements dtterm's idiosyncratic extensions to the DEC VT control sequence set is wrong. There _is_ a way for nvim to be told that the terminal is likely to have dtterm's idiosyncrasies, or indeed xterm's. nvim even uses it to detect _other_ terminal types with _other_ idiosyncratic control sequence extensions.

It actually becomes usable once this bug is fixed.

* [https://github.com/jdebp/neovim/commit/3304de142b60efe8728c0...](https://github.com/jdebp/neovim/commit/3304de142b60efe8728c0b10183f820e9195d293)

</comment></comment></comment><comment><USER42> I'd say the info provided in the github releases is interesting, but it doesn't provide the necessary oversight a general info text would give. Can't really say what happened. Even if it was a stabilizing release it would be nice to see that somewhere.

</comment><comment><USER43> Any reports on how stable the Windows release is?

<comment><USER44> I don't know if it'an issue on my side, but I have not manage to do anything with the :terminal on Windows 7. It starts a prompt but I can not input anything in Terminal mode. I tried 'i' to go in insert mode in the terminal but it does not seem to work either. (To be sure this is not something in my vimrc, I tried with and without it). At that point I am not sure if this is a problem between chair and keyboard or a bug.

<comment><USER45> \- Download and extract neovim win64 package

\- Start nvim-qt.exe

\- Get message box saying "The Neovim process has crashed"

\- Go back to Vim

<comment><USER46> Same experience here.</comment></comment></comment></comment>


A Tale of Two Terminals: Beijing Terminal 3 and Heathrow Terminal 5 - <AUTHOR> http://www.leanessays.com/2011/01/tale-of-two-terminals.html <comment><USER2> Last time I flew through Heathrow, I spent an hour and a half going from one gate to another, moving about on literally every kind of transport known to man except watercraft and spaceships. After flying in on an aircraft, I took some combination of train, bus, electric cart, another bus, I think another train, moving sidewalk, and at least one or two other things.

Nearly half of the transit time was spent inside some kind of vehicle in a dark tunnel, an industrial looking processing center, crawling around dimly lit stairwells, and or other such place that clearly said to me "you should not be seeing this stuff! Pay no attention to all this stuff behind the curtains!"

It was ridiculous and absurd and would have been humorous if I hadn't been in a mad dash the entire time trying to make my connection.

After escaping on yet another aircraft I mulled for quite a while over what kind of madness could have come up with such an absolutely insane way of moving from one part of a facility to another...a distance I could have crossed by foot in less than 15 minutes.

</comment><comment><USER3> The story is a good example of why these projects fail in the UK and the USA.

Leaving aside the staff problems - British Airports Authority (who run Heathrow) and the RMT (Rail maritime and Transport workers union) have a history of confrontation which makes the whole Isreali-Palestinian thing look like a family game of scrabble.

Just to pick one example, the software was left in debug mode. Everybody knew this but it took 3 days to find the person with the contractual permission to tell them to turn debugging off. Not for any technical reason but just because everything was done by such a mesh of semi-privatized companies, contractors, sub-contractors, outsourcers etc that nobody knew who was in charge.

The UK has just abandoned an ID card scheme setup by the previous government. It's costing 20m quid to just work out how has done what, and who is owed what in order to shut the project down.

</comment><comment><USER3> Well one was built by a state elite gerontocracy who have centuries of being in charge and an utter contempt for the workers building the terminal and the ultimate users.

and the other was buill by the chinese

<comment><USER4> Wow, nice twist. Didn't expect that at the end. Nice garden path sentences.

<comment><USER5> Not really, as garden path sentences are more about incorrect parsing of structure, rather than interpreting the meaning of the sentence to be something else. For example, reading the first sentence above, you can get all the way to the end without having re-evaluate the sentence from the beginning. It's only when you read the 2nd sentence that you realize that the writer was implying something different than you first thought.

<http://en.wikipedia.org/wiki/Garden_path_sentence>

/pedantry

</comment></comment></comment><comment><USER6> Heathrow is a mess. Everyone who travels regularly to southern England does everything they can to avoid it when flying.

I don't know anything about this airport in Beijing. But comparing airports to Heathrow is just too easy. Any airport would look well managed compared to Heathrow.

<comment><USER7> I disagree, City's better if you're coming from Europe, but Heathrow still the best airport to get into London from anywhere else, especially Terminal 5. T5 had a lot of problems when it started, but now it's by far the best major airport terminal I've flown from.

It takes me less than 15 minutes to get from the T5 tube station to sitting in the departure lounge waiting for boarding. It's almost as good as Eurostar.

(Although if you're from outside London it can be easier to get to Gatwick transport-wise)

<comment><USER8> I agree that T5 is pretty decent. The queues are short and there's lots of seating. Access by car is pretty decent if you're on that side of London (which most of the country is). Pretty much all I care about.

I generally try to avoid Heathrow T3 though (and T2 and T4 never seem to have flights to where I want to go).

</comment></comment></comment><comment><USER9> The only real thing he studied in this comparison is rehearsal and timing.

The British death marched to an unrealistically optimistic date while the Chinese were finished and testing long before the ship date.

Socio-technical systems theory is interesting but he doesn't explain how the Chinese did this better. The Chinese aren't exactly known for empowering their workers.

<comment><USER10> If the workers aren't empowered, the success of the project is up to the leaders. Apparently the Chinese manager was more competent than the British one.

<comment><USER9> >If the workers aren't empowered, the success of the project is up to the leaders.

This statement contradicts the findings of socio-techical systems theory.

STS shows that competent leaders are leaders who empower their subordinates - this usually achieves better results than command and control.

</comment></comment></comment><comment><USER11> Also compare Heathrow Terminal 5 with Madrid Barajas latest terminal. Both designed by the same British architectural firm, Barajas took about half the time to build, cost less and is an uncompromised design.

<comment><USER8> I'm not sure how fair the cost comparison is. At the time, pretty much anything would have cost less in Spain - Britain was very expensive due to the high pound. A bit different now though.

<comment><USER3> Heathrow was built at the peak of the UK housing boom - the stories of rates paid to electricians and plumbers at Heathrow made bankers blush.

</comment></comment></comment><comment><USER12> I don't know about Heathrow-5 but I can tell about Beijing-3, and I think everyone telling it's a great airport has no clue. The flows are terrible, you often board at the farthest gate away, sometimes by buses, even though most of gates are empty, and most of the airport is empty (the middle part is still closed but the international part is further away). The customs bottleneck is the worst ever, it's not uncommon to wait 45mins, there's like 12 counters for all international arrivals. The building does actually look like the bottleneck, and it is. The waiting areas have nothing special, and they certainly feel old for a 2 years old airport. Some of the duty-free shops looks untouched since the 80s.. The roof already starts to fall apart, there was some parts ripped off by the wind lately, and there's concern about the build quality.

And well, it's unfair to compare cost and construction time, one was built by thousands of workers, working 24/7 for a minimum wage, the other... And btw, Beijing T3 was designed by a dutch consortium and a British architect.

</comment><comment><USER13> China is successful with these things because they have a large number of excess staff, and the staff are very obedient. Britain typically has too few staff, and the staff are very independent.

A person who has been to a chinese restaurant in china will understand the difference.

<comment><USER14> Service industries in China can't be expected to be superior based on their personnel numbers alone. Cultural paradigms can produce good and bad results - as when poorly paid workers with no expectations of tips and customers accustomed to certain things lead to a custom where to summon waistaff all you can do is loudly yell '服务员'...

<comment><USER15> 服务员 means "Waiter" - thank you Google Translate!

</comment></comment></comment><comment><USER14> This isn't really a fair comparison, as has been noted elsewhere here. Heathrow is an exceptionally poor example of airport construction and operation. There were fewer constraints at hand in the construction of the new Beijing terminal as well - so if thing X went wrong, I think there was probably less ability to delay matters.

</comment><comment><USER16> A lot of the second half of this article could be summarised as "Think about people if your software/system/airport involves them." However, I'm not entirely convinced by her argument that this was the main flaw. Release without thorough testing and stupid bugs (not removing a safety patch) seem more to blame.

</comment><comment><USER17> While it's a good, didactic article, it is very much worth noting that she doesn't have much to say about Beijing's design processes. Presumably they are much more opaque than the UK's. How are the two terminals doing now, comparatively?

</comment><comment><USER18> I found it weird that Deming wasn't mentioned anywhere in the second half of the article.

<comment><USER19> <http://en.wikipedia.org/wiki/W._Edwards_Deming> for anyone who doesn't get the reference

His work was mainly concerned with manufacturing/production, but is still (I think) well worth reading

Edited to add Deming's Seven Deadly Diseases as I think they're worth quoting here for those who don't wish to read the entire wikipedia article

The "Seven Deadly Diseases" include:

      Lack of constancy of purpose
      Emphasis on short-term profits
      Evaluation by performance, merit rating, or annual review of performance
      Mobility of management
      Running a company on visible figures alone
      Excessive medical costs
      Excessive costs of warranty, fueled by lawyers who work for contingency fees

"A Lesser Category of Obstacles" includes

      Neglecting long-range planning
      Relying on technology to solve problems
      Seeking examples to follow rather than developing solutions
      Excuses, such as "our problems are different"
      Obsolescence in school that management skill can be taught in classes
      Reliance on quality control departments rather than management, supervisors,
        managers of purchasing, and production workers
      Placing blame on workforces who are only responsible for 15% of mistakes where
        the system desired by management is responsible for 85% of the unintended
        consequences
      Relying on quality inspection rather than improving product quality

</comment></comment><comment><USER20> Gaius Marius figured this out. As did Napoleon.</comment>


Introvert Hangovers Can Be Really Rough - <AUTHOR> http://nymag.com/scienceofus/2016/08/introvert-hangovers.html <comment><USER2> This article didn't resonate with me for various reasons. Probably because I don't really believe in the extrovert / introvert dichotomy.

It's not a hangover in the classic sense for me. I don't believe I'm a genuine introvert because I much prefer socializing to being a loner but it has to be with the right group of people. I go on phases where I spend a lot of effort trying to connect with others (e.g. clubs, bars, meetups, parties etc) and then it abruptly stops usually due to what I perceive is a low ROI.

At least 95% of the new people I met the past X months will 'disappear', I will get melancholy over this, become even more withdrawn, and then X months afterwards when I feel up for it I will start going out again (rinse / wash / repeat).

<comment><USER3> That same mag has an article on introvert-extrovert hybrids: [http://nymag.com/scienceofus/2015/07/ambiverts-are- introvert...](http://nymag.com/scienceofus/2015/07/ambiverts-are-introvert- extrovert-hybrids.html)

Maybe that will resonate, maybe not.

I'm skeptical of the dichotomy too, and that article really honestly only strengthens my concerns with the theory. (If you need an out from your binary theory because it's insufficiently descriptive, consider ditching the model.)

There are settings and people I like interacting with and others I don't. This is probably close to universal, though we might disagree on the settings and people.

Public speaking is scary and awkward, until I've done it a couple times that year, then it gradually gets easier and more fun. The number of times probably varies, but people generally have some anxiety about novel experiences and adapt over time.

I wouldn't mind a pop sci theory if I didn't think it was doing harm. But I've repeatedly seen people buy into the introvert idea so much they refuse to believe they are good speakers, even when audiences love their talks. They insist they are bad speakers because they are an introvert. It's heartbreaking to hear.

People from Myers Briggs will insist that's a misunderstanding of the theory, but that's how a lot of people internalize it.

</comment></comment><comment><USER4> I think a lot of it for me has to do with the ways I often feel that I'm expected to be social; there are times when I'm around other people, and we are both sitting quietly working on stuff, and I really enjoy that kind of time with other people. For this reason, I live libraries. But some of it is truly just needing to be with myself.

</comment><comment><USER5> I was going to write something in the lines of the first comment of the original article, but since @LauraBloomify beat me to it, I'll just copy/paste it here since HN almost always provides a more interesting discussion:

"To continue with the alcohol metaphor, when over-socialised I become a mean drunk, without the drunk part. I've learned, no matter what the social consequences, it's better for me to leave abruptly than stay and explode."

</comment><comment><USER6> I hypothesize that introverts have a stronger need for some kinds of harmony or order which is disrupted by the messiness of social interactions. When "relaxing", introverts would then enjoy reading good books, cleaning, meditating, etc. Checks out for me.

</comment><comment><USER7> I think everyone needs time to unwind, the difference comes down to attitude, strategies for dealing with social situations and practice so it becomes muscle memory and therefore less tiring. I know for me I didn't get the best experiences socialising when growing up. Then I went out clubbing nearly every weekend and become much better. Now I'm married and I've fallen back into old habits I don't deal with new social situations so well any more.

</comment><comment><USER8> The "recharge" analogy resonates with me.

But solitude (at least for me) isn't just about _not_ being around people, as if people are some kind of negative stimulus, like an allergen.

Solitude is more like a basic need for me, and too much socializing is like being starved of that need.

</comment><comment><USER9> my favorite way to recover from over-socialising is to spend an hour or two in front of the computer. It can be even at the party - as long as nobody comes to me and talks.

</comment><comment><USER10> I imagine even the most Type A extrovert gets worn down after spending 3 consecutive days with the same people?

I don't think the introvert/extrovert thing really factors in. If you spend X amount of time with person Y, you need a break from person Y.

</comment><comment><USER11> There is a view that what is known as introversion should instead be viewed as a very sensitive personality

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

</comment><comment><USER12> Are we at Peak Introvert Coddling?</comment>


Ask HN: VPS for Dummies? - <AUTHOR>

I'm trying to get off of shared hosting solutions (BlueHost, GoDaddy). I don't have huge needs, I run 5-10 Wordpress sites with pretty low traffic. But shared hosting has become unbearable.
I've looked into various VPS solutions. Specifically, I have set up accounts at Rackspace and Linode. I'm attracted to Rackspace because of their Cloud Files option that will publish to a CDN, but realize that is independent of the actual VPS.
However, I'm a complete newbie when it comes to Linux. I've never ssh'd into anything before, or run much in a terminal.
Where can I find a good guide for setting up an Ubuntu server for hosting a few Wordpress setups?
Thanks in advance for your recommendations. <comment><USER2> Everyone's different, you may find some of this useful to you.

Linode and Slicehost both have excellent documentation, forums and other resources, all publicly available whether you're a customer or not.

<http://www.linode.com/community/>

<http://library.linode.com/>

StackScripts, ready-made scripts to set up a box: <http://www.linode.com/stackscripts/>

Using Linux on your Linode - Linux System Administration: <http://library.linode.com/using-linux/administration-basics>

<http://www.slicehost.com/community/>

Ubuntu help for various releases: <https://help.ubuntu.com/>

11.04 Desktop, Server and Installation help: <https://help.ubuntu.com/11.04/index.html>

11.04 Ubuntu Server Guide: <https://help.ubuntu.com/11.04/serverguide/C/index.html>

20 Linux System Monitoring Tools Every SysAdmin Should Know: [http://www.cyberciti.biz/tips/top-linux-monitoring- tools.htm...](http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html)

The Linux System Administrator's Guid: <http://tldp.org/LDP/sag/html/index.html>

Linux Administration Made Easy: [http://tldp.org/LDP/lame/LAME/linux-admin- made-easy/index.ht...](http://tldp.org/LDP/lame/LAME/linux-admin-made- easy/index.html)

Linux Newbie Administrator Guide: <http://lnag.sourceforge.net/>

Shell Programming for Beginners: <http://ontwik.com/linux/shell-programming- for-beginners/>

man bash (i.e, read the man page)

Bash Reference Manual: <http://www.gnu.org/software/bash/manual/bashref.html>

Linux Security Basics (particularly the bits on no root login, and locking down ssh): <http://library.linode.com/security/basics>

</comment><comment><USER3> As mentioned by others already, the slicehost articles are great for installing and setting up a server (they have detailed guides for Ubuntu, centos, debian, etc.) A few things to be aware of:

1\. Security. I can't stress this enough, as people new to managing their own VPS can end up doing some bad mistakes with respect to security, e.g. leaving root account login enabled, weak firewall etc. Make sure you do a bit of googling to make sure you get a good hang of the security aspects of hosting your sites on your own VPS.

2\. Although you mentioned that your sites are low traffic ones, you might still want to choose a light weight webserver like nginx/lighthttpd over Apache, which can be quite heavy weight and need a larger slice.

3\. You won't have any mail server by default, which is a free benefit in a shared hosting environment. Setting up and managing your own mail server can be nightmarish.. Look into something like Amazon Simple Email service for that.

</comment><comment><USER4> I would highly recommend slicehost.com as a VPS host and they have a great library of tutorials (particularly helpful for linux newbies) <http://articles.slicehost.com/>.

Even if you don't get an account with them, you'll probably find the tutorials very useful.

</comment><comment><USER5> if you have never SSH'd into anything before, I would recommend running a VPS and your shared hosting accounts in parallel until you get a better handle on Linux, then migrate your sites from shared hosting at that time.

Although I haven't checked recently, from memory as far as pricing goes, slicehost $ > linode $ > prgmr.com. Prgmr is true do it yourself though, so if your a complete linux newbie you may want to go the middle ground and get linode.com, and use the slicehost tutorials to get it up and running</comment>


Telling Good Decisions From Bad. But Do You Know How? - <AUTHOR> http://www.fastcompany.com/3002061/your-career-depends-telling-good-decisions-bad-do-you-know-how

<comment><USER2> > _Whether it's a new job, a promotion, or launching a new startup, your > career trajectory depends on your ability to recognize the good idea from > the bad. Here's how to do it._

First, in "your ability to recognize the good idea from the bad", the author desperately needs to replace "recognize" with "distinguish".

Second, the article hinges on a false assumption -- that ideas and decisions can be prejudged to be good or bad, before they play out in reality. If this were true, computers could run businesses better than people.

But the premise is false -- the first casualty of battle is the battle plan, and this applies to business as well as battle.</comment>


MI forcing notifications without ability to disable them - <AUTHOR> Hi HN,
If you are planning to buy a Mi phone, don't. Stay away from it.
They don't care about customer experience. They are pushing notifications from their app store and themes app and don't allow users to disable it.
The phone is good but the data they collect and the bad notification experience is just not worth it.
Don't go for the phone.
Here is a screenshot of the forced notification http://i.imgur.com/hhh51jD.jpg
This goes to show that they don't care about the user. <comment><USER2> I have MI phone since couples of years. And i have no difficulties to disable it...do not cry wolf.

<comment><AUTHOR> This is Mi Max 2 in India. I can see the option to disable those notifications blocked. There was no need to say the "do not cry wolf" part but I guess some people don't know how to be civil and uncover facts before jumping into conclusions.</comment></comment>


Ask HN: Website to see code previewed in real time upon execution - <AUTHOR>

Trying to find a website where there were examples of code that you are able to preview as it was executed in real time.<p>It's a conglomerate of various web development projects, some canvas, some webGL, etc. Mainly web apps. You have the ability to play/pause code. <comment><USER2> this might work [http://www.pythontutor.com/](http://www.pythontutor.com/)

<comment><AUTHOR> Ah close but not that. It's more to do with modern web development.</comment></comment>


Creating an open-source solution to the headaches of headless browsers - <AUTHOR> https://sourcesort.com/interview/joel-griffith-browserless <comment><AUTHOR> (Author here): lots of comments about why would someone pay for this. I think the answer is simple if you step out of your developer shoes.

There's a lot of complexity in managing and even building the thing from the start -- and then you have to support it. If you're working in a large org then there's a chance that you can just DIY it, however for small-medium businesses this isn't practical and it's a waste of time (their most precious resource).

I like to think of it as a managed database. Sure, you can freely download postgres in a container and you're up and going, however there's a lot more costs to it than just that. Having a fully-managed database saves you time and other non-tangibles that it can be worth the cost. Just depends on your circumstances.

<comment><USER2> Since you're reading this, a feature request: I would love it if you could put up a REST endpoint for extracting all the images (example code here [1]) on a web page, and more endpoints for extracting all the links, script addresses, etc.

I was trying to do that on Browserless but couldn't get the final file download to work (I adapted Stack Overflow code linked below to put all the web pages images into a ZIP file and download that) - presently I'm running this on a Google Cloud Function, which is working but I'd rather outsource it to you, especially since the function chokes on large web pages (possibly it needs more RAM than the 2GB limit currently available in GCF?).

[1] [https://stackoverflow.com/a/52542490](https://stackoverflow.com/a/52542490)

<comment><AUTHOR> Just to follow up, you can use our /scrape API to do this:

curl -X POST \ [https://chrome.browserless.io/scrape](https://chrome.browserless.io/scrape) \ -H 'Content-Type: application/json' \ -d '{ "url": "[https://reddit.com/"](https://reddit.com/"), "elements": [{ "selector": "img" }] }'

This will get all the <img> tags on a page and return their attributes (which includes their sources). If you wanted to do scripts as well, just add a new object to the elements array with the "selector" of "script".

</comment></comment></comment><comment><USER3> What's with the snarky comments? The guy build a successful business with happy customers. He didn't make it in 2% of his time, he built it over the years with experience from other projects and solved an issue people are willing to pay money for. Maintenance now might be on low time but doesn't mean it's easy to solve a problem and consistently ship the solution. I honestly think most of you have a misunderstanding about serviced software and the demand for it. The fact that you can do it with a Docker script and some time doesn't mean it works properly for all use cases or everyone can and should manage that infrastructure themselves. Some people happily pay for it so they don't have to worry whether their instance is still running and can call support instead of firing a terminal and looking through obscure Stackoverflow answers. He even open sourced his entire business. Instead of throwing apples, try to learn something or at least appreciate the effort.

<comment><AUTHOR> I felt similar, thanks for echoing the sentiment.

</comment></comment><comment><USER4> I recently learned (by trial and error) some of the headaches associated with running headless browsers at scale that Joel mentions here; wish I'd heard of this service earlier. I ended up finding other solutions to fill in the gaps: Puppeteer Cluster is one I'd recommend ([https://github.com/thomasdondorf/puppeteer- cluster](https://github.com/thomasdondorf/puppeteer-cluster))

I especially like the "host it yourself" commercial license model, here; while automating browser _actions_ over a network works well enough, _detailed scraping_ over a network can quickly become inefficient (as many requests for elements or element attributes may incur individual round-trips). In some cases, colocating your browser instance with your scraping logic becomes a necessity.

<comment><AUTHOR> We hear about puppeteer-cluster _a lot_, and we hear the same thing from folks (that's it's great). browserless.io essentially does "clustering" at an infrastructure level, whereas puppeteer-cluster does it at the application level.

Both essentially solve the same problem, just in different ways.

</comment></comment><comment><USER5> I'm confused about the license[1]. It seems to not be actually open source. The Open Source Definition says[2]:

> The license must not restrict anyone from making use of the program in a > specific field of endeavor. For example, it may not restrict the program > from being used in a business, or from being used for genetic research.

But this seems to be doing that exact restriction.

Additionally the license seems like it contains a loophole:

>If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use browserless under the terms of the GPLv3.

If I make an open source application, I can use browserless under the terms of the GPLv3. That means I can redistribute browserless under the GPLv3. That means people can take the browserless code I redistribute and use that for commercial products (as long as they don't distribute a non-GPLv3 binary form of the commercial products containing browserless, because that would break the GPLv3).

[1] [https://github.com/browserless/chrome#licensing](https://github.com/browserless/chrome#licensing)

[2] [https://opensource.org/osd#fields-of- endeavor](https://opensource.org/osd#fields-of-endeavor)

<comment><USER6> Just checked the GitHub license page ([https://github.com/browserless/chrome/blob/master/LICENSE.md](https://github.com/browserless/chrome/blob/master/LICENSE.md)).

> This work is dual-licensed under GPL-3.0 OR the browserless commercial > license. You can choose between one of them if you use this work.

So it's clearly GPLv3 (no loophole required), which AFAIK does allow closed source proprietary use within a company so long as the program isn't redistributed externally (perhaps the developer didn't understand that?). It seems that the licensing section in the readme should have it's wording adjusted somewhat.

In fact, I think you're even in the clear to run a proprietary cloud service using GPLv3 code which is why the AGPL (among others) exists. Some recent drama ([https://techcrunch.com/2019/05/30/lack-of-leadership-in- open...](https://techcrunch.com/2019/05/30/lack-of-leadership-in-open-source- results-in-source-available-licenses/)) for reference.

(Oddly, the header underneath that states "GPL-3.0-or-later" which is a bit inconsistent.)

</comment></comment><comment><USER7> I wrote something like this a couple months ago and thought about selling it. I ultimately decided that the price where you make it cost-prohibitive to mine cryptocurrency is too high for someone that just wants to render PDFs without dealing with the burstiness of running several copies of Chrome on their production infrastructure. I was also concerned about the underlying browser changing how things render when upgraded; I didn't want to run an outdated browser, but I also didn't want to tell users "hey we updated Chrome, better check the output of your batch job and make an emergency fix to your HTML".

How are you dealing with these issues?

<comment><USER8> How often do browsers break backwards compatibility? I don't think I can recall a single time I've had working code break due to a browser upgrade, with the exception of non-standard features (which is maybe what you're referring to, but then it's a known risk and you should already be aware of it).

Edit: And if a client really does need version X of Chrome, you could give them the ability to pay extra to pin the version indefinitely.

</comment></comment><comment><USER9> I work on Lighthouse (user of the Chrome DevTools protocol) and work with the DevTools team (obviously the main user of the protocol) - and when I first saw browserless I was blown away. So cool! Good job with your success.

What was the hardest part re: working with the protocol?

<comment><AUTHOR> The protocol is pretty easy, I think coordinating the necessary "enable" calls is a bit cumbersome. Also the legacy JSON protocol is harder to support, but I understand why.

Hardest part is debugging crash issues and why they happened. You either just get a generic "Page crashed!" error (which I think is puppeteers handler message), or "browser disconnected!". That and chromes logs are just crazy noisy, which I haven't gotten a lot out of.

Those are probably the biggest, thanks for asking!

</comment></comment><comment><USER10> > _There 's always been this thought that I've had, that advertising and > "paid" attention is really in no one's best interest. You're likely to get > users who really aren't going to get any value out of your software, so your > churn increases, and you've also just paid for that user that's churned. > These things get harder to tease out since it's almost impossible to ask > "show me all the churned users this period acquired from advertising > channels." Maybe that's possible, but you'd have to do a lot wrangling > together to get it all working._

Correct me if I'm wrong, but isn't precisely that kind of analytics simply _table stakes_ for any modern crm/marketing/customer intelligence suite in 2019? It seems like that is absolutely a solved problem.

<comment><AUTHOR> Yeah, it's a pretty contrived example on my part. My sentiment here is that there's so many inputs to modeling behavior, and trying to find signal in the noise, that at this scale your time is likely spent better elsewhere. Unless you have the revenue stream to do it and do it well, then the effort can be a time sink

<comment><USER10> How many variables do you need to track, though? $X spend, Y signups at $Z each, AA% churn, $BB retained MRR for an estimated $CC CLV based on an $X/Y*(1-AA%) CAC - why does it need to be much more complicated than that when you don't have millions of users?

(Seriously though, I'm asking, not poking fun. You probably know more about this stuff than I do, having actually done it. It seems really simple to figure, to me. What am I missing?)

<comment><USER11> It's more a matter of being messy rather than complicated. You're trying to track users who often visit your site multiple times before purchasing, coming from different sources, on different devices, and somehow tie that attribution to the purchase. None of the data inputs are consistent nor tied together. Analytics tells you differently than your ad platform, your payment processor tells you yet another thing, and your email marketing tool, and your CRM. (And if you want the serious tools for data monitoring and reporting have moved to focusing on enterprises...) You have to somehow factor in refunds, free trials, prorated billing, early cancellations. You have multiple ad campaigns running ad variations. Don't forget a/b testing.

Finally you see some data point that hints something might be working, but you know you have to account for all the other factors involved. Did I make any website edits that day? Did the ad network change their algorithm slightly? Was there a holiday affecting traffic? When did I insert that new ad again? Wait, I know I changed my ad bid at some point... Did I get an influx of traffic from another source? Was it just a fluke?

If you want good, real data, it's messy. And far from a solved problem.

<comment><AUTHOR> Wow, you said this so much better than I could, thanks for chiming in

</comment></comment></comment></comment></comment><comment><USER12> Does this handle something like Distil [0]? Or is that type of scraping not the focus of this product?

[0] [https://www.distilnetworks.com/block-bot- detection/](https://www.distilnetworks.com/block-bot-detection/)

<comment><USER13> No, it won't. However, Distil is not hard to work around if you automate a real browser in headful mode.

<comment><USER12> Could you point me to some reasonably straightforward ways to do that? Thanks!

<comment><USER13> I don't think there's any HOWTO posted online; I just worked it out by trial and error.

Use a real version of Chrome (not Chromium) and headful mode. Mask the navigator.webdriver property. Pace your requests and take care to use "good" IP addresses.

Keep in mind that as soon as Distil sees something obviously automated (like a headless browser) the source IP address is "burned" for some number of days.

<comment><USER12> Thanks!

</comment></comment></comment></comment></comment><comment><USER14> Looks interesting, however I can't view your webpage - I am getting this error: "The character encoding of the plain text document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the file needs to be declared in the transfer protocol or file needs to use a byte order mark as an encoding signature."

<comment><AUTHOR> Interesting, I'll take a look and see if our markup is encoded improperly.

</comment></comment><comment><USER15> Congrats on the continued success. It can stun people when they are reminded that the skills they sell to others can be applied for their own prosperity and I think you see that here.

If you're a developer with a day job there has never been a better time to get started building and selling your own software.

It's not glamorous but it is rewarding.

<comment><AUTHOR> I spent ~4 hours on my 10th wedding anniversary debugging a production issue. It's not a fun thing to talk about, and doesn't get a lot of attention, but the truth of the matter is that when things are bad _they are bad_. I can see now why folks say that this isn't for everyone.

</comment></comment><comment><USER16> For a similar headless Chrome project launched around the same time, but with a price-per-api-request model, see [https://www.prerender.cloud/](https://www.prerender.cloud/) (PDFs, screenshots, pre-rendering). MRR is about the same.

<comment><USER17> Rendora is true FOSS, free and self-hosted with very lightweight usage of resources.

[https://github.com/rendora/rendora](https://github.com/rendora/rendora)

<comment><USER18> Last commit 12 months ago.

[https://rendora.co/](https://rendora.co/) Seems to be gone.

</comment></comment></comment><comment><USER19> Probably worth mentioning that's $24k MRR, not how much it costs...

<comment><USER20> Still impressive for a 1-man show who says he spends just 1% if him time on it.

</comment></comment><comment><USER21> I'm using chrome-aws-lambda on Lambda and it works like a dream. Luckily for my use case I don't need images, fonts, etc.

There's also GCF for those on Google Cloud. I have used Browserless' trial and felt like the 2+ GB instances were kind of expensive because they require reservation unlike Lambda where you get 400,000 GB-seconds and 1M request per month for free.

</comment><comment><USER22> "How cool would it be if you could just fire up your browser, do the work you want it to, and press a button and now it just magically does that someplace for you without ever having to write code?"

Like, recording macros has been a thing forever, but how are you going to magically generalize them, without _better-than-human_ AGI?

</comment><comment><AUTHOR> Thanks again for the questions. Please do email me if I happen to overlook anything: joel at browserless dot io

</comment><comment><USER23> how is this different from apify ([https://apify.com/](https://apify.com/)), apify seems can do what browserless does and is also open-source, means you can self-host it freely.

</comment><comment><USER24> Solo founder: I built a tool and it solves problems for people to the tune of $24k/month

Almost everyone: That's great! Well done.

HN commenters: Pffft.

<comment><USER25> That's not even close to a fair summary of this thread.

</comment></comment><comment><USER26> What $288k/yr headache is there around `docker pull buildkite/puppeteer`?

[https://hub.docker.com/r/buildkite/puppeteer](https://hub.docker.com/r/buildkite/puppeteer)

<comment><USER27> Yea, I'm thinking making about a company named after some kind of low hanging fruit and just building out a bunch of these trivial little use cases that keep popping up and put them all behind a subscription model.

You'll probably see me with an article in 6 months about how I'm making $150k/mo for about 2% of my time.

<comment><USER3> I have set a calendar item for 6 months from now. Looking forward to your blog post.

<comment><USER27> Feeling the pressure now.

</comment></comment></comment></comment><comment><USER28> Scripting headless browsers for testing is an antipattern and should literally be avoided as much as humanly possible

<comment><USER8> Care to elaborate?

<comment><USER28> I have never had a good experience incorporating a headless browser test into a test suite. In literally every case it added so much complexity, suite run time and uncertainty that I realized it was better to just do the test via unit tests (which test the logic directly) and/or integration tests (which test the HTTP output of the controllers) if it was at all possible to rework the logic to operate in that fashion.

1) Increased load times and test run times due to browser complexity and memory consumption

2) Impossible to run concurrently without additional instances, each of which takes up massive memory

3) Tests are slow and often nondeterministic (literally THE WORST property a test suite can have), with many cases where things like "sleep()" delays are put in to circumvent some opaque browser latency issue, which is just gross

4) Even after suffering all of the above, you're still only testing ONE engine (say, WebKit) instead of all of the popular ones (Blink (Chrome), Gecko (Firefox), EdgeHTML (eh, Blink, I guess, now?), etc)

I did not enumerate all the disadvantages, but these should be enough to support my position. The number of browser driver driven tests in your test suite should be as close to "zero" as possible.

Does this discourage the use of SPA's? A lot, yes. But when necessary, I manage to do a separate frontend JS test suite via jsdom which does not require firing up a headless browser, and my build process runs both the frontend and backend test suites and only deploys if they both pass.

<comment><USER8> Thanks! That's interesting, because at work we're struggling with browser- specific regressions and were looking at headless browser testing to help solve that. I agree with all the drawbacks you listed (except #4, since some headless browser solutions let you use multiple browsers), but unit tests don't do anything to help with differences in browsers. Do you just do manual QA and hope for the best? Or is this not as big an issue for you as it is for our company? (We still have to support IE 11, so that's where the majority of browser-specific issues manifest.)

<comment><USER28> The "surface" of my sites is usually small enough to just visual-check manually. I get that it might be necessary in some cases- note that I did say "as close to zero as possible" and not simply "zero". My criticisms are that it is just such a Rube Goldberg-esque approach to testing something that its use should be minimized. It would be great if all browsers had to pass some standardized spec before being considered viable, that is the source of the cross-browser nondeterminism IMHO.</comment></comment></comment></comment></comment>


Ask HN: Make one prediction for 2010.  - <AUTHOR>

Ask HN: Make one (or a few) prediction(s) for 2010. <comment><USER2> -Personal income tax rates in the US will be increased.

-Google will strike some sort of a deal with Hulu or Boxee.

-The price of oil will hit $100+ again.

-Chrome OS will be a huge hit.

</comment><comment><USER3> Jupiter will start fusing Hydrogen, resulting in the warming of its moons and the melting of Europa's ice.</comment>


State propaganda in Syria: From war crimes to pipelines - <AUTHOR> http://statecrime.org/state-crime-research/state-propaganda-in-syria/ <comment><USER2> "Islamist militant rebel groups have been identified in UK government contractor documents relating to the CSSF funding programme, groups which have been found to have been complicit in war crimes and to have gone on to support more militant activity.

This suggests that the West's role in the conflict has often ended up supporting Islamist militant groups. To some extent, this has been acknowledged in internal documents. A Pentagon memorandum and a confidential communication from the leaked Hilary Clinton emails illustrate that Western intelligence agencies are aware that the bulk of support to armed rebel groups from the Gulf states and Turkey has gone to support Islamist militant groups, including al-Qaeda and ISIS."

Says it all really. Western pot calling the kettle black.</comment>


Want more femgineers? - <AUTHOR> http://femgineer.com/2011/09/want-more-femgineers/

<comment><USER2> That's an awful name for an otherwise important cause.</comment>


MongoDB University – Learn MongoDB from MongoDB - <AUTHOR> https://university.mongodb.com/ <comment><USER2> Thanks, but I will stick with postgresql + redis. It's scary to know that the database vendor might change the license to force you to either pay them or open source everything you write.</comment>


Ask HN: Real reason why phone companies can't shut down phone scams - <AUTHOR> I'm wondering about the technical reason why phone companies can't kill off the phone scammers like those pretending to be from Microsoft or Windows tech support.
Phone calls are bidirectional protocols; therefore, all information needed to identify the originator must exist somewhere inside the system, otherwise your voice could not be routed back to the originator.
For example, in the North American phone system at least, the originating number is always available to the phone company through ANI (Automatic number identification): "ANI is different, conceptually and technically, than caller ID service. A caller's telephone number and line type are captured by ANI service even if caller ID blocking is activated."[1]
Even if ANI doesn't exist on calls from, for example, an Indian call center to the U.S., the connection information must exist at some level.
Regardless of how difficult it might be to prosecute overseas scammers, surely the phone companies could offer a service where if I pressed "*SCAM" on my keypad during a phone call to mark it as a scammer, and 10 other people did the same, that incoming number could be blocked, no?
The only way I see that not working is if the foreign phone company is not sending the originating phone number when completing a connection to the U.S. In other words, the Indian phone company is behaving like a NAT and all phone calls from India look identical to the U.S. phone company.
[1] http://en.wikipedia.org/wiki/Automatic_number_identification <comment><USER2> It's so simple... It's not that they can't, it's more that they don't want to. They're profiting from it also.

<comment><AUTHOR> Sorry, but that explanation doesn't hold up.

Long distance calls in bulk are so cheap that the phone companies might be making a fraction of one cent for each call. On the other hand, this creates so tremendous ill will against the phone companies that it's hardly worth it.

The other day I spent 10 minutes complaining to my local phone company about scam calls. Even at minimum wage for the customer support person, dealing with my single complaint probably cost them more money than they made carrying many hundreds of scam calls.

Some Caribbean phone companies have been known to profit handsomely from operators of 900 and 976 pay-per-call scams in which the customers are billed hundreds of dollars directly by the phone company. Maybe you're thinking of those. But that's a different matter.

<comment><USER2> Not, it isn't a different matter, it's exactly why things are the way they are. Doesn't matter which phone company is profiting as long as one of them is. The others who are not profiting just can't refuse to route calls to those who are because they also serve legitimate customers and it would cause major pain.</comment></comment></comment>


Ask HN: How do you share music with others? - <AUTHOR>

I'm working on a music sharing concept with a friend and was hoping to get some insight from 'pro users' on their music consumption and sharing methods.
My go to is usually Facebook if its a general song I think is good, or direct link shares to individual people through whichever messaging app I first think of.
Any pointers to existing services would be much appreciated <comment><USER2> This was on Product Hunt last week, haven't gotten a chance to play with it yet but looks really cool - [http://www.producthunt.com/tech/cymbal-2](http://www.producthunt.com/tech/cymbal-2)

<comment><AUTHOR> Wow thank you, this is basically what I was trying to build

</comment></comment><comment><USER3> I'll generally post a link to specific people or a whole channel on teampseak3.</comment>


What is the "-->" operator in C++? - <AUTHOR> https://stackoverflow.com/questions/1642028/what-is-the-operator-in-c?rq=1 <comment><USER2> \--> is quite idiomatic way to write reverse loops, for example:

[https://stackoverflow.com/questions/275994/whats-the-best- wa...](https://stackoverflow.com/questions/275994/whats-the-best-way-to-do-a- backwards-loop-in-c-c-c)

[http://www.ioccc.org](http://www.ioccc.org) if you are in the mood for some dirty dirty code</comment>


50 Years Ago Jocelyn Bell Discovered Pulsars - <AUTHOR> https://www.space.com/38912-pulsar-discovery-by-jocelyn-bell.html <comment><USER2> "Later, Bell missed out when Hewish and his colleague Sir Martin Ryle were awarded the 1974 Nobel Prize in Physics."

See also:

[https://www.theguardian.com/science/2011/mar/08/jocelyn- bell...](https://www.theguardian.com/science/2011/mar/08/jocelyn-bell- burnell-100-women)

<comment><USER3> This is a favourite grievance to mention with Bell, but there was no expectation she should have won the prize.

She did _not_ discover pulsars. She was a lab assistant who, as she was writing the numbers down in the lab book, first noticed that there were pulsar patterns in them.

Being the first to lay eyes on something is not typically what we mean, in science, by discovering it. Or else the guy cleaning the ship's deck in the morning should be rewarded for discovering America.

The prize was awarded to the head of the team as it was a project of his design and his organization. To have split 1/3 of the prize with whatever grad student happened to be keeping the books seems ridiculous.

<comment><USER4> Except, Hewish did not initially accept Bell's results. He called it interference, claimed it was man made and not worth further attention. There were meetings to which she was not invited and it was a struggle to get him to accept their significance.

Edit: Also comparing a Doctoral student who "helped build the telescope" to a cleaner is rather unfair. Francis Crick was a PhD student when they worked out the structure of DNA.

<comment><USER5> There was an overlooked woman on that too:

[https://en.m.wikipedia.org/wiki/Rosalind_Franklin](https://en.m.wikipedia.org/wiki/Rosalind_Franklin)

<comment><USER4> The prize was awarded in 1962, 4 years after she died of ovarian cancer. The Nobel is not awarded posthumously.

<comment><USER5> Yes, I know that it's not awarded posthumously.

My understanding is that she was not given credit in her lifetime so she would not have been awarded it anyway. Unless, someone had explained her contribution in those 4 years.

"Although her works on coal and viruses were appreciated in her lifetime, her contributions to the discovery of the structure of DNA were largely recognised posthumously."

<comment><USER6> There's actually an apology from - Watson, I think - as an addendum in my old copy of The Double Helix bought in the 1980s.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> In case anyone hasn't heard the periodicity of pulsar signals, here are a few examples: [https://www.youtube.com/watch?v=gb0P6x_xDEU](https://www.youtube.com/watch?v=gb0P6x_xDEU)

Very difficult to imagine something of n solar masses rotating that quickly, or how long they will continue to rotate at an appreciable percentage of their current speed.

I wish someone would put together an updated version of this with higher quality audio.

<comment><USER8> Joe Taylor played a tape just like this one at the dinner I attended.

</comment></comment><comment><USER9> I'm too close to this topic for a chatty comment, but I'll just point to this IAU meeting: "Pulsar Astrophysics: The Next 50 years"[1]. It was held this September at Jodrell Bank, which has always had deep involvement with pulsar astronomy. Jocelyn Bell delivered the opening talk, and she got a sustained standing ovation. It was just a wonderful moment.

(And yeah, she wasn't a mere grad student - after her initial discovery and after it was dismissed by everyone around her, to borrow a phrase, she persisted.)

[1] [http://pulsarastronomy.net/iaus337/](http://pulsarastronomy.net/iaus337/)

<comment><USER7> Not the same talk, but she's a treat to listen to - [https://www.youtube.com/watch?v=42cvUqmEg2c](https://www.youtube.com/watch?v=42cvUqmEg2c)

</comment></comment><comment><USER10> As if these things could be more interesting, some exhibit 'glitches' which appear to be quantization of angular momentum on an N solar-mass scale.

[http://www.unn.edu.ng/publications/files/images/EYA,%20INNOC...](http://www.unn.edu.ng/publications/files/images/EYA,%20INNOCENT%20OKWUDILI.pdf)

[https://www.youtube.com/watch?v=mOkjLtCCozM](https://www.youtube.com/watch?v=mOkjLtCCozM)

About as far as away as one can imagine, a similar thing appears to happen with very low accelerations with some of our satellites. My search-fo failed on that so far.

Bonus scale crazyness for all the battery 2.0 articles: [https://www.youtube.com/watch?v=wp4JrbpBvWc](https://www.youtube.com/watch?v=wp4JrbpBvWc)

<comment><USER10> found it. "fly-by anomaly". Unknown if it's related to glitches. [https://www.universetoday.com/137984/juno-isnt-exactly- suppo...](https://www.universetoday.com/137984/juno-isnt-exactly-supposed- flyby-anomaly-back-happen/)

</comment></comment><comment><USER11> Interview with her on the BBC Radio 4 show "The Life Scientific" here: [http://www.bbc.co.uk/programmes/b016812j](http://www.bbc.co.uk/programmes/b016812j)

<comment><USER6> A consistently fascinating series.

</comment></comment><comment><USER12> She is giving a lecture in Cambridge (England) this evening. [http://talks.cam.ac.uk/talk/index/94549](http://talks.cam.ac.uk/talk/index/94549)

</comment><comment><USER13> If anyone is interested in checking out a fun radio astronomy/data analysis course that touches on pulsars and other phenomena, I can highly recommend the University of Sydney's Coursera course Data Driven Astronomy [0].

[0] [https://www.coursera.org/learn/data-driven- astronomy](https://www.coursera.org/learn/data-driven-astronomy)

</comment><comment><USER14> Anyone know about taking astronomical photographs? There's one such photo at the top of this article.

1\. The night's sky never actually looks like that. Is it simply that the exposure was long so that the brightness of each object is enhanced? How long would the exposure have to be?

2\. What is that pinkish nebula-like band/arc that the photo is centered around?

<comment><USER15> That is a long-exposure shot although the sky does really look like that if it's dark enough - just not quite that colourful. Here's an attempt by a photographer to recreate the effect:

[https://vimeo.com/113287920](https://vimeo.com/113287920)

The band in the photo is the milky way.

<comment><USER16> > although the sky does really look like that if it's dark enough

I agree. Additionally, I assume most people here on HN live on a place that is heavily light-polluted, see [https://www.lightpollutionmap.info](https://www.lightpollutionmap.info) .

If OP happen to pass by a place with low light pollution, I encourage him/her to stay and watch the sky for a while (30 minutes ?) so that the eyes can adapt to darkness. It's really a neat experience.

<comment><USER10> Mt. Graham, east of Tucson. _Worth it_.

[http://www.darksky.org/](http://www.darksky.org/)

</comment></comment></comment></comment><comment><USER7> Excellent article on the challenges of amateur detection of pulsars: [http://neutronstar.joataman.net/technical/amateur_challenges...](http://neutronstar.joataman.net/technical/amateur_challenges.html)

It's possible, but you have to have your shit together.

</comment><comment><USER17> And was screwed.</comment>


Show HN: Instagraham PGaaS. Paul Graham Delivered as a Service - <AUTHOR> https://instagraham.io/ <comment><USER2> I guess I don't understand the value of querying based on a slug when the slugs could disappear or change non-deterministically. Wouldn't that pattern of APIs just encourage code that works a lot except then it suddenly stops working for a totally opaque reason?

<comment><AUTHOR> This was just a quick hack and so I'm keeping everything in a redis instance rather than using a real DB. A consequence of this is there's no good way to keep keys consistent if I were to ever need to rebuild the index. I've honed the script pretty well that renders the quotations pretty well though and at this point, I don't think the data will change.

I should really change the wording (or remove this disclaimer) to indicate this is a pretty remote possibility. It's just in case I need to go rebuild the index or something, but you're right, I think it will dissuade people from using this.

</comment></comment><comment><USER3> Instagram might come knocking.</comment>


Ask HN: How was the Burger King Twitter account hacked? - <AUTHOR>

I often see in the news that X twitter account was hacked; how exactly does that happen? <comment><USER2> Maybe another account password was hacked and they used the same password for Twitter. Or their password was really bad, like "123456" or "password".

<comment><USER3> I happened to read that their password was "whopper123"</comment></comment>


Ask HN: About Opensourcerepos-help developers contribute to open source Project - <AUTHOR> I always faced difficulty when contributing to open source repositories. It would take time to read the codebase, understand the architecture and best practices.
So I decided to create a blog+github(and gitlab) integration site, so that developers who regularly contribute to open source repositories can write blog and explain the best practices, code walkthrough and architecture of their site. Here is the mission statement of opensourcerepos.com.  https://opensourcerepos.com/app/about
Can you guys let me know if you would find the site useful? <comment><AUTHOR> [https://opensourcerepos.com/app/about](https://opensourcerepos.com/app/about)</comment>


Server-Side Swift from Scratch - <AUTHOR> https://www.skilled.io/u/swiftsummit/server-side-swift-from-scratch <comment><USER2> I'm excited about server-side Swift (nice language, nice memory management model). But it would have helped to mention the other frameworks like Perfect or Kitura and compare/contrast the motivating principles here. Unless I missed them?

<comment><USER3> Well he does briefly _mention_ the three best-known frameworks for server-side Swift (Vapor, Kitura, and Perfect) in the middle of the piece, when he talks about middleware.

But I think the thrust of this piece is eschewing currently-available frameworks and rethinking what we have come to think a "web framework" should do, and doing those things with a interchangeable plain-vanilla Swift approach, a sort of "Swift-is-my-framework" approach.

(I might be missing something, though, because I've only skimmed the post and added it to my read-later list...)

</comment></comment><comment><USER4> On a somewhat related note: [http://www.alwaysrightinstitute.com/microexpress/](http://www.alwaysrightinstitute.com/microexpress/)

<comment><USER3> Thanks for posting; hadn't seen that one before, and it looks interesting.

</comment></comment><comment><USER5> I wish them the best! I really enjoy Swift, as it takes the best of concise, "dynamic" languages like Python and adds a static type system and a smart compiler that catches lots of errors. Really a much better choice than Ruby in a lot of ways. Now if only the machine learning community would take notes...

</comment><comment><USER6> Nice presentation! I'm going to look into attending this conference in the future. I hope the developers (Brandon and Stephen) comment their code really well so that others can understand the types and operators they introduce without digging through the codebase.

</comment><comment><USER7> I'd be even more excited about server-side Scratch ;)</comment>


Newegg is now accepting Bitcoin - <AUTHOR> http://promotions.newegg.com/nepro/14-3540/index.html <comment><USER2> Reading these comments is depressing. Bitcoin isn't a few geeks trading bits over IRC anymore, guys.

To some of the common bitcoin concerns:

1) They're easy to steal! Look at this person who did $something_stupid and had all their coins stolen!

Yeah, sure...and if you had left $10,000 in cash just sitting on your table, the _same_ thief could have stolen that as well. There are stories every single day of people having cash stolen from them. The people keeping that much value _stored on their local machine_ are usually pretty crazy bitcoin evangelicals. These are not normal people who bought some coins on coinbase.

2) It doesn't do $things_credit_cards_do!

No, it doesn't! What you people seem to be missing is that _it 's a totally new way of transferring value_. It has its own quirks, requires its own security models, etc. It also does $things_credit_cards_dont_do! That's why people have an interest in it!

<comment><USER3> 1) What are the best practises for having a bunch of bitcoin? You say you shouldn't keep it stored on your local machine but where? Keeping it stored on exchanges is kind of prone to failure in the bitcoin world. If you want to use a cold wallet you need a second computer that you don't plan to use for anything else and you need to learn linux or its pointless

2) Just because its new doesn't mean its better or makes more sense than the existing methods.

<comment><USER4> 1) look up paper wallets.

bitcoin is at a stage where it's not trivial to secure if you are not a technical person. There are companies that are working at making this easier by providing the security and even insuring the bitcoins if something happens. When services like this are out we will see a huge turning point IMO.

<comment><USER5> I've been looking for a liveCD based offline paper-wallet solution, but so far no luck. Perhaps someone can point me to one? The point is to generate a paper wallet on a machine with no capability of retaining the keys after the paper wallet has been generated - and the only way I know how to do that is through the removal of hardware (no hard drive, no USB stick, no networking. Maybe no speaker either.)

</comment></comment></comment></comment><comment><USER3> Pay 1% more(or 3%-8% more if you have a cash back card and depending on where you bought your coins) to save them 2% and lose all consumer protections in the deal.

It's no wonder there is almost no consumer growth in the bitcoin world while new merchants are announced every other day.

<comment><USER6> Paying in Bitcoin makes a lot of sense:

1) You don't have to provide private info like CC number.

2) If you bought bitcoins at X and now they are valued at 10X you may effectively enjoy 90% discount on all purchases.

All these mythical user-protecting chargebacks are almost never used by consumers for refunds (companies who care about brand help them settling refunds) and almost always for the cases when you CC details got stolen and used by someone else. Of course, bitcoin payments do not leak your private keys, so the entire class of problems goes away.

<comment><USER7> And if you bought bitcoin at 10X and they are now valued at X you may effectively enjoy paying 1000% of asking price on all purchases.

<comment><USER8> The vast majority of Bitcoin purchases happened at below the current market value. Which I guess is what makes people so bitter they didn't buy earlier?

</comment></comment></comment></comment><comment><USER9> Great. So, when can customers expect their money to be protected after they convert their savings into bitcoin, without trusting their coins to a third party service like Coinbase, and without spending a solid week learning how to safely store their coins themselves?

This is exactly a "schlep blindness" problem that a startup could be solving. Deliver a turnkey solution for consumers to store their own coins. Don't make them learn a labyrinthian set of rules, or worry about what's dangerous or what isn't. Protect consumers, and bitcoin adoption will follow. Large-scale bitcoin adoption _can 't_ occur until bitcoin is made safe.

Did you hear about the guy who took his macbook into an Apple store for some routine repairs, and one of their employees made off with his 15 BTC? The employee hooked his harddrive up to a different computer, scanned it for a "wallet.dat" file, saw it was unencrypted, and robbed him. Was it dumb of this customer not to be using encryption? Yes. On the other hand, was it dumb of him to be storing so much wealth in bitcoin right now, given how easy it is to lose your money? Objectively, yes.

This isn't an insurmountable problem, but people have to start working on it in order to solve it.

<comment><USER10> Your question doesn't make sense to me.

> when can customers expect their money to be protected after they convert > their savings into bitcoin, without trusting their coins to a third party > service like Coinbase, and without spending a solid week learning how to > safely store their coins themselves?

As you point out in your own statement, there are companies meeting the need for a "turnkey solution": you list Coinbase and they are an excellent example of a company doing that well and being quite successful at it.

You apparently reject them because working with Coinbase requires the customer to "trust their coins to a third party service". Trusting the third party service is pretty much mandatory for using ANY third party service. Imagine a hypothetical service that provided "turnkey" software to store wallets on your own computer -- you would still need to fully trust the provider of this service to ensure that they actually stored the money rather than siphoning it off someplace else.

The only way to (mostly) avoid having to trust a third party is to avoid using a "turnkey" solution that is fully packaged without user serviceable parts. You would instead need to learn on your own how to safely store the coins yourself. Which is ALSO a choice, and many people do it. You complain that it takes "a solid week" to learn how to do this -- and indeed, it does take a few days to become an expert on any subject; there are 10 minute tutorials, but I presume you (rightfully) reject them as being insufficient to really teach a user enough to be fully safe.

Honestly, I think that you are just being unreasonable in your expectations.

<comment><USER9> _there are companies meeting the need for a "turnkey solution": you list Coinbase and they are an excellent example of a company doing that well and being quite successful at it._

And if Coinbase goes bankrupt, all their users lose all their money.

I've written about this extensively several times before, so I won't rehash the old points. But the summary is, if you trust your money to an entity that doesn't have insurance, you're being very, very brave. Coinbase can go bankrupt for a multitude of reasons, some of which aren't fair.

One could counter this with, "Don't store very much money in Coinbase." Sure, but then consumers don't have much money on hand to buy things on a whim, which reduces consumer adoption. That's why I've been saying: Make bitcoin safe, and adoption will follow.

<comment><USER11> So can a bank and you will loose all your money just ask the people of Cyprus.

Bitcoin has been around for 4 years banks for several hundreds.

Your point is true but trivial and hardly says anything conclusive or useful other than you don't trust 3rd parties.

With time you wont have to.

<comment><USER12> > So can a bank and you will loose all your money just ask the people of > Cyprus.

This is a silly comparison. In the USA, all deposits under $200k are guaranteed by the FDIC [1]. If the bank folds, you still get your money from the federal government. I imagine many similar institutions exist in other countries.

Why there was no such institution in Cyprus baffles me. Perhaps they haven't had to deal with institutional bank failures before. The point is that deposits in Coinbase or other bitcoin institutions are not covered by any such insuring body. They are hence inherently far riskier.

It all comes down to likelihood of failure. When institutions like coinbase fail, we call that "thursday". But if the FDIC folds, you should be less worried about your money and more concerned about hoarding ammo and cigarettes.

1\. [http://en.wikipedia.org/wiki/FDIC](http://en.wikipedia.org/wiki/FDIC)

<comment><USER13> The Cyprus banks didn't fail, the government confiscated a fraction of account balances. The FDIC guarantee wouldn't help you in that situation or many other types of national calamities.

</comment></comment></comment></comment></comment></comment><comment><USER14> This seems pretty huge for Bitcoin. Newegg sells much more than computer parts now. Glad to see that Newegg is headed back more to their roots though

<comment><USER15> i would rather see they dump the crappy products that now dominates their catalog and amazon's.

the world does not need yet another 500 models of USB powered ventilators.

</comment></comment><comment><USER16> Newegg itself is not accepting Bitcoin, it is not keeping a balance in Bitcoin, and it has no exposure to Bitcoin related risk.

It has a payment processor, Bitpay, that accepts Bitcoin. As long as you have a competent engineer on staff, it's about as difficult as accepting PayPal.

It's nice that this is happening, but the headline should be, "BitPay lands Newegg as client". The maturity of the services around Bitcoin helps everyone that holds them, so it's not unimportant. It's just a very, very far stretch from a merchant directly accepting and holding a currency balance in BC.

<comment><USER17> > it's about as difficult as accepting PayPal

Hah! Bitpay fails often, and it fails in mysterious ways. Manual intervention on up to 10% of payments is no beuno.

</comment></comment><comment><USER11> A lot of people are missing the point with these large sellars accepting bitcoin. It's not that they expect sales to explode but rather they want to experiment and get a feel for how it works.

There will be a time where crypto-currency will be as normal as paying with credit card or cash.

<comment><USER3> Or they see overstock getting a lot of press out of it and want on board.

</comment></comment><comment><USER18> Coinbase and BitPay signing up new retailers doesn't provide me additional belief that bitcoin is viable. The retailer doesn't believe in bitcoin. They get cash out ASAP.

For a retailer, if they think they can move units by partnering with someone who will convert BC to cash, sure whatever. It's like adding PayPal.

You don't see the 10,000,000 new consumers bought bitcoins!!! Who knew cryptocurrency could burn holes in pockets!??!?! articles because that's not happening.

The real problem was never "people don't have a place to spend bitcoin." It was "people don't have time or risk tolerance to manage bitcoin."

<comment><USER19> Every time Bitcoin makes a first step, haters will ask "but where is the second step?".

By the way, Overstock is now holding bitcoins (about 3% of their Bitcoin sales). I wouldn't be surprised if Newegg did the same after some time.

</comment></comment><comment><USER20> Pretty amazing - I went and made a purchase on NewEgg using CoinPocket on my iphone - total time for transaction was under 10 seconds, including the time to scan the QR code, click send, and have Newegg recognize I'd sent payment.

CoinPocket / NewEgg were within $0.15 of their exchange amounts on a $31.89 purchase. So, CoinPocket thought it was $31.89 that I was sending, and NewEgg thought I was sending $31.74.

All in All - Bitcoin made purchasing a lot more easy than having to type in a Credit Card number or login to Paypal.

</comment><comment><USER21> Could somebody explain the reasoning behind "customers have 15 minutes to complete their bitcoin payment before their invoice expires"

<comment><USER22> Bitcoin is decentralised, so, from Neweggs perspective, the transaction is never completed 'online'. Their payment processor (I'm guessing it's going to be Bitpay) has to wait until they see your transaction on the Bitcoin network before they tell Newegg that it's paid. Think of it as waiting for a cheque to arrive. A timeout is just sensible so you're not reserving stock.

<comment><USER23> That's not what the timer is referring to. The 15 minute timer is in place due to the exchange rate. Newegg prices their items in dollars, BitPay converts it to a BTC price and presents that price to the user. They can't show that same BTC price forever, becasue if the price of bitcoin drops by 50% over 24 hours, and you decide to leave your window open and order then instead of now, you will get whatever you are buying for half the price. Bitpay guaranteed the USD price that was set on the item to the merchant. Now they owe it, but have only collected half. Thus Bitpay would be out hundreds of dollars (or whatever half your order is). Similarly, if the price rose by 100% over 24 hours you could accidentally pay double. So they put a timer on it.

<comment><USER24> If it's a moving spot price that lasts just 15 minutes, is the exchange market deep enough to keep people from abusing this?

By placing a huge number of buy orders at a time when the market is quite shallow, all within a few minutes (temporarily driving the exchange price up sharply) the BTC-denominated price of goods on Newegg can become very low in a 15-minute windows.

Huge numbers of orders ($millions) could then be placed at that low BTC price, included by a distributed group of people.

What protects against this? Moving the price for 15 minutes seems quite plausible but I don't know the details - and am not an expert.

<comment><USER25> Honestly, the price of the BTC is decently stable, I wouldn't expect anything to happen which would effect their prices enough to make a difference within a 15-minute window.

Ex. The Bitcoin is on an uptrend and went up 30$ in the window between when I checked it ~8 hours ago and just now. Even if it managed to do that in a 15-minute window of time, that's only 30-dollars off of every 600 dollars you spend. A 100$ dollar order will only see a 5 dollar 'discount'. And if it goes the other way, they make a bit more, so over time I'm guessing it'll mostly even out, Maybe a bit more in the consumers favor if we assume the BTC price will end-up going up.

<comment><USER24> I mean, e.g. buying $800K worth of bitcoin in 15 minutes, so that you can increase the price and then buy $5M worth of goods NewEgg - would $800K in fifteen minutes press newegg's btc-denominated price well below wholesale on those same electronic goods?

<comment><USER26> The lower graph here shows the depth of the market. Right now, for $800k USD, you can move the price from $656/BTC to $665/BTC. So you might get a $67,700 discount on your $5,000,000 order.

Edit: spaced the link [https://bitcoinity.org/markets](https://bitcoinity.org/markets)

<comment><USER24> This is good, let's analyze a bit more. It sounds like you know what you're doing. (I don't.)

1\. Note you get bitcoins during your manipulation as well - so how much did you overpay for the bitcoins that it took to get you the $67K discount? I count that you achieved a 1.37% rise in price, so even if you put in your full $800K at the higher price, that cost you $10,960 in overpayment. There is a direct relationship between the amount of move that you cause, and the amount that you overpay. So the question is, what that relationship is - we have to compare it with the profits from the NewEgg orders at the manipulated price.

1b. Also note that there is a chance you can sell some of them back at a slightly increased price if NewEgg confirms your order quickly, as you've just filled all the lower-price bids on the exchange you just manipulated.

If nobody knows about your manipulation directly, you might even cause a bull run where people think the price is just going to go up and up - you only meant to manipulate it to a brief target price, not caring about the price fall after, but maybe you can sell at a profit as a follow-on effect.

2\. On the other hand, $67,700 discount on $5M order is nothing – it doesn't cause the price to fall below wholesale, so there's no reason to do the manipulation, since NewEgg isn't offering cash, it's offering product. The question then becomes: how much would we have to increase "1a" (the $10K "fee" you paid for a 1.37% drop) by, to cause an, e.g., 15% drop, 20% drop, 25% drop, 30% drop, 35% drop, 50% drop, 75% drop, 80% drop, 95% drop. That would be interesting in table form. The drop would have to be high, as the manipulator would have to get product below wholesale price.

3\. $5M is not an upper limit. In a distributed way, there's no way many customers couldn't place $10M in orders together. However, they would to coordinate and play ball with each other: if any of them knows that manipulation will happen trying to corner a shallow exchange market, they can take the other side of the transaction. If they know that at a certain time, $15M will be spent on manipulating the spot price for 15 minutes, they can just set aside $15M to place on asks on the other side. So it's quite dangerous, especially if the price movement is intended to be high. The element of surprise would have to be high.

This seems mostly a theoretical exercise, as in practice NewEgg could fail to honor prices that are outside the previous day's intraday, or that sort of thing.

Still, I'm curious how the numbers would work.</comment></comment></comment></comment></comment></comment></comment></comment>


How to Set Up PostgreSQL on Google Compute Engine - <AUTHOR> https://cloud.google.com/community/tutorials/setting-up-postgres <comment><USER2> Why not just use cloudSQL?

<comment><USER3> Cloud SQL doesn't support replication or high-availability or a number of other features yet. For them you need to setup your own cluster or use another managed PostgreSQL service, such as our Aiven PostgreSQL ([https://aiven.io/postgresql](https://aiven.io/postgresql)) which is available in all GCP regions.</comment></comment>


Why Startups Should Hire the Minimally Viable Candidate - <AUTHOR> http://www.forbes.com/sites/georgeanders/2012/07/20/startup-hiring/

<comment><USER2> while we are on the topic of minimally viable *, can we also write an article on minimally viable revenue. you know just enough that you won't go bankrupt today and not more than enough to keep you floating tomorrow? that would be an article i would read</comment>


Fixing the cybersecurity problem needs a new approach - <AUTHOR> https://medium.com/@stkirsch/the-best-way-to-reduce-the-chance-of-another-company-being-breached-f98e3784de7

<comment><USER2> > If the government collaborated with industry to launch a "trustable" > federated identity (TFI) service

Lost me there. You know that's not possible, right? (the trustable part)

> We want it to be as hard to break into our computers as it is to break into > a bank vault.

Except that from everything the government is saying today they absolutely _do not_ want computers to be "as hard to break into as possible" (think of the children!). Their solution seems to be "getting deep access into everything and...identifying who the attacker is after the fact (at best)".

And of course the main reason they want that is because it gives them even broader spying powers than they have now where they have to be very careful about who and what they access so as to not get caught.</comment>