Black: An uncompromising Python code formatter - <AUTHOR> https://github.com/ambv/black <comment><USER2> This is great except for the enforcement of double-quotes around all strings and spaces around slice operators. These two choices contradict the standard Python documentation, most of the standard library, and the behaviour of the interpreter itself.

When the language itself has an established convention, Black should follow that convention, not fight it. These two weird choices just generate needless churn, which is surprising as it seems Black has quite the opposite goal.

It's a shame, because all the other design choices in Black are pretty good!

<comment><USER3> Colons in slices are implemented to the letter of PEP 8. Your disagreement here probably stems from pycodestyle mistakenly enforcing a different rule (no spaces before colons on if-statements, defs, and so on) in the slice context.

The language itself doesn't have an established standard in terms of string quote usage. If it did, Black would follow it. What repr() does is a weak indicator and how the documentation is written is random, there was not only no enforcement as to which quotes to use, there wasn't even a recommendation. Black standardizes on double quotes since it has clear benefits whereas the other option does not.

<comment><USER4> Double quotes also have drawbacks, visual noise and the doubling of keypresses required on the most common keyboard layouts.

<comment><USER5> Eh, many programming languages use double quotes for strings, and single quotes for singular characters. Languages that can use single quotes for strings that I know of are ruby and python.

<comment><USER6> Don't forget VimL, the language that insanely decided to use double quotes as a "start of comment" indicator, then went back and gave them special meaning based on their position so they either signal the start of a comment _or_ a string.

<comment><USER7> A different comment character could have been chosen, but this affects nothing. It's not insane.

</comment></comment></comment></comment></comment></comment><comment><USER8> At Facebook, we are now using prettier[1] on all our JavaScript files, a growing number of Hack files are formatted with Hackfmt[2] and now black is being rolled out for Python. It's a really exciting time :)

[1] [https://prettier.io/](https://prettier.io/) [2] [https://github.com/facebook/hhvm/blob/master/hphp/hack/src/h...](https://github.com/facebook/hhvm/blob/master/hphp/hack/src/hackfmt.ml)

<comment><USER9> Why black over yapf?

<comment><USER3> Black is a simple tool. It tries to implement a single code style well. It's not configurable.

We tried YAPF before and could never roll it out for everybody. I even contributed the "facebook" style to the tool. There were a few reasons why YAPF didn't work out for us but the most important were:

\- YAPF would at times not produce deterministic formatting (formatting the same file the second time with no changes in between would create a different formatting); Black treats this as a bug;

\- YAPF would not format all files that use the latest Python 3.6 features (we have a lot of f-strings, there's cases of async generators, complex unpacking in collections and function calls, and so on); Black solves that;

\- YAPF is based on a sophisticated algorithm that unwinds the line and applies "penalty points" for things that the user configured they don't like to see. With a bit of dynamic programming magic it arrives at a formatting with the minimal penalty value. This works fine most of the time. When it doesn't, and surprised people ask you to explain, you don't really know why. You might be able to suggest changing the penalty point value of a particular decision from, say, 47 to 48. It might help with this particular situation... but break five others in different places of the codebase.

<comment><USER10> > It's not configurable.

Except for the line length:

> if you're paid by the line of code you write, you can pass --line-length > with a lower number.

<comment><USER3> Yeah, I wasn't willing to die on _that_ hill, especially that I'm introducing a new default value that wasn't popular before.

<comment><USER11> Ah but there's the irony.

Everyone would like to stick to the standard formatting rules. Well... except for that one little idiosyncratic thing that they just won't sacrifice.

Then black comes storming in to enforce conformity. Well... except for that one little idiosyncratic thing the author of black just can't bring himself to adhere to.

Don't get me wrong. I'm a big fan of the approach in general. I use things like paredit-mode and aggressive-indent-mode and whitespace-mode and I've just set up emacs to use black together with blacken-mode, but with blacken-line- length set to 80.

<comment><USER12> Time for a fork!

Let's call it "black-ish"

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> In case of credit where credit's due, is gofmt where the concept of auto- formatting syntax became mainstream? At first I hated it because I thought I had a style, but later on I enjoyed the consistency far more than I enjoyed my signature approach.

A programming language has an opinion on how you build software with it, so it's appreciated that it also has an opinion on how you should write it so that it remains consistent and easy to follow. No debate about where to put braces or semicolons or whatever else doesn't matter when putting something in front of your users.

It feels like dumbing down in a way, which is sad, but I think this is more for the benefit of collaboration than individualism or artistic intent. In that case you either disable the tool or refuse to use it.

In every other case, you've automated away almost every nitpick from a code review.

<comment><USER14> When i heard about gofmt, i hated it. I wanted choice. Then i realised i loved python because it forced people to indent. I gave black a try. I still hate some style decisions, but who cares ? The benefits are far too great to pass up.

<comment><USER13> I felt the same with Prettier and the 80 char limit. At the same time, it solved every single style problem except the choice of line length!

That is a fantastic achievement.

</comment></comment></comment><comment><USER15> I really want to use Black, but we have a particular style point that we'd miss so much that we haven't adopted it yet...

Double quotes for strings that need to be human readable, single quotes otherwise.

This makes it so obvious when something is going to be sent to the user, we find it really useful. That said, I think Black's appeal is it's uncompromising nature, so I wouldn't ask it to change. Adding the option to turn off quote formatting would probably go against its vision. Also, it could be argued that we should use the internationalisation functions to denote strings sent to the user, but hey we don't do i18n yet.

For now, this, and one or two places that it fails to have an opinion (number of lines after imports) are keeping us from using it.

<comment><USER3> Do you find your team enforcing the string quote rule consistently? It seems to me like it's easy to miss at times as automatic enforcement is impossible. Are there no cases where a string that wasn't originally planned to be user- visible ends up being so? I've heard this idea at times but when I looked at actual codebases it turns out it's more of an aspiration than an actual rule. And if you can't _depend_ on it, why have it?

As for number of lines after imports, how is a lack of enforcement there stopping you from using the tool? Black enforces one line but is fine if you put two (on module level). In general, if you give up on the tool due to a missing rule, you end up having to manually enforce tens of other rules that you'd otherwise be free from.

<comment><USER16> > And if you can't depend on it, why have it?

That's a bit rich. There are other conventions in programming that you can't depend on technically but serve a real purpose. Identifier naming and comments are the first that come to mind.

If a language gives you a choice of token that has no semantic distinction then different people _will_ adopt different semantics by convention.

As an aside, calling a tool "opinionated" is code for "my conventions are better than yours". That's fine if I don't have any conventions or I can't decide, but if I have decided, then it's just offensive.

<comment><USER2> Sometimes it's helpful just to have a decision; any decision, followed consistently, is better than no decision or continued debate. This is one of those situations.

So I don't read "opinionated" to necessarily mean "better than your opinions"; it's more like "makes decisions for you so you can avoid the cost of debating them."

<comment><USER16> And what if I have already incurred the cost and am happy with my decisions, and they differ to yours? I now cannot use your potentially useful tool, even if 90% of our decisions do accord with each other. That's disappointing.

</comment></comment></comment></comment></comment><comment><USER17> I love it. Something I always wish for with linters is an easy way to run them only for the lines changed in a particular diff, to allow a codebase to gradually converge on consistency without breaking git blame by reformatting everything. Is there a nice way to do that for any Python linter?

<comment><USER8> At Facebook we only tell you about lint violations for the lines you touch using arcanist from phabricator[1]. While it works great for most lint warnings, this hasn't worked that well for code formatters.

The most successful strategy was to add a flag in the file (@format in the header) to tell that a file is automatically formatted. The immediate benefit is that we enable format on save for developers on those files when they use Nuclide (>90% of penetration for JavaScript and Hack).

The other advantage is that when we release a new version of the formatter, we can re-run it on all those files so that people don't have lint warnings on code they already formatted in the past.

With that setup, there's a strong incentive for individual engineers to run the formatter on their team codebase in one PR and then everyone benefits from now on.

[1] [https://secure.phabricator.com/](https://secure.phabricator.com/)

<comment><USER18> Have you run into issues where the "let's reformat the entire codebase" commit makes `git blame` unusable?

<comment><USER3> It doesn't. Use `git hyper-blame` or `git blame $REV^ -- $PATH`.

Sure, there is an additional step but we feel this shouldn't be a blocker for significant workflow improvements.

In fact, a single big "reformat all" commit is better than a bunch of incremental ones that reformat areas that you also change semantically. That is harder to filter and makes diffs harder to follow (which changes are logic and which are just style?).

<comment><USER19> I hadn't head of hyper-blame before. It's part of chromium's depot_tools.

> git hyper-blame is like git blame but it can ignore or "look through" a > given set of commits, to find the real culprit.

[https://commondatastorage.googleapis.com/chrome-infra- docs/f...](https://commondatastorage.googleapis.com/chrome-infra- docs/flat/depot_tools/docs/html/git-hyper-blame.html)

</comment></comment></comment></comment></comment><comment><USER20> I'm so glad this is a thing. I get so tired of people arguing about the small stuff. Sometimes too much freedom is a bad thing. It seems okay at first, and you try to be as democratic as you can with your team, and then someone wants something really wonky, and PEP8 and PEP257 don't say it's absolutely wrong after all, and shit just wastes time.

I don't agree with every detail--double quotes as default is going to be hard for me to adjust to--but the things I don't agree with aren't as important to me as being able to set it and forget it and stop debating it every so often.

This is the gofmt the python world needs. As far as I'm concerned this is the new standard.

Well done.

<comment><USER21> Even if your team is totally on board with your style guide, everyone wants to stay pep8/257 compliant, no arguments, you use linters to warn about errors, etc. you will still have some instances of people committing code that breaks the guidelines.

Either it gets caught in code review and you have to waste time with nitpicking, or worse it makes it through to the repo and now you have to make a commit to fix what amounts to a typo.

Autoformatting with a unified, consistent tool means that you remove all those problems.

</comment></comment><comment><USER22> > _By using it, you agree to cede control over minutiae of hand-formatting._

I may be in a minority, but I do not want to cede control over minutiae of hand-formatting. Am I the only person that feels this way?

<comment><USER23> Why are you interested in minutiae? Esp that which has no functional impact and can be automated.

People are into things like this pep8 etc because they don't want to waste another second of their lives thinking about formatting. Or, worse discussing, arguing, bikesheding, documenting, enforcing, teaching the new guy how we format "here".

I'm sorry to sound snarky, but this is one of the things you slowly learn over years of development. I've had more than 25. Long ago I felt like you. No longer.

<comment><USER24> The phrasing "minutiae" is unfortunate because it makes it sound like the exact formatting is a matter of taste or doesn't matter. In my experience, there are always corner cases where either tools like these produce bad results. "Bad" isn't just some aesthetic property, it can mean the difference between being able to absorb the meaning of a block of code in 10 seconds, versus having to spend a minute taking it all in. Across a large body of code, those paper cuts really add up.

Personally, the only code formatter I've ever been really comfortable using is clang-format. And the reason is that they really try hard to get the corner cases right. Black might be fine, but I've been burned many times with other tools and in general would be reluctant to trust a tool like this without seeing what it does in practice to a large code base.

<comment><USER25> I think most people would agree that corner cases are an issue, but in large codebases the payoff of having a strong, unified standard provides a bigger payoff than spotty edge cases.

The larger the codebase and the more developers you have working on a project, the less important edge cases become and the more benefit you get from a common standard.

</comment></comment></comment></comment><comment><USER26> Love the idea of eliminating formatting debates when writing Python.

At the risk of being redundant, I also raise an eyebrow at the choice to prefer double quotes for strings. My company standardized on single quotes, mainly to be consistent with repr and also encourage the use of double quotes in messages displayed to the user.

Everything else seems in order. I might increase the line width to 90 just to use an easier value to remember when configuring editors and other tools ;)

</comment><comment><USER27> \--single-quoted-strings would be a really nice option for the vast majority of python programmers that use single quotes by default.

<comment><USER7> This isn't a vast majority by any stretch of the imagination.

<comment><USER28> The overwhelming response here saying use single quotes begs to differ.

<comment><USER3> That's not how this works. All the people who are just happy or indifferent about double quotes don't comment about it. And some of the ones that aren't happy about it commented here multiple times.

Judging from the additional stars on GitHub, and projects that just migrated (pytest!), I'd say there's a very vocal minority which is very attached to single quotes.

<comment><USER28> > Judging from the additional stars on GitHub, and projects that just migrated > (pytest!), I'd say there's a very vocal minority which is very attached to > single quotes.

Accuse me of selection bias. Immediately use even more biased selection bias.

</comment></comment></comment></comment></comment><comment><USER29> > _You will save time and mental energy for more important matters._

Exactly why every language, from here until the end of time, should have a "go fmt" equivalent.

</comment><comment><USER30> The problem with code formatters for Python is that you can't just break lines using whitespace; you need to insert symbols, ideally parentheses. For example, if you need to break this line of code:

         left[first][second] = right[first][second][third]

Manual breaking looks like this:

        left[first][second] = (
            right[first][second]
                [third]
        )

Code formatters will produce something like the following atrocity:

        left[first][second
            ] = right[first][second][
            third]

Comments and strings are also unwrappable if the formatter is afraid of inserting characters.

<comment><USER3> Did you actually try Black on a line like this?

<comment><USER30> I must admit I didn't. I felt confident it was restricted to adding and removing whitespace because the README says at the start:

> Black ignores previous formatting and applies uniform horizontal and > vertical whitespace to your code.

I now see it does sometimes modify non-whitespace characters e.g. later in the README it mentions:

> In [certain] cases, parentheses are removed when the entire statement fits > in one line

I'm not in a position to test black out right now (I can't run Python on the computer I'm posting this comment on). I'd be curious to know what it does on the code I posted, and on over-length comments and string literals.

<comment><USER31> I tried it. Black doesn't seem to touch long strings or comments. It just leaves you with "line too long" errors that you can clean up yourself.

For your code example, see my comment above.

</comment></comment></comment></comment><comment><USER32> I wanted to add a bit of positivity and mention that I'm really liking how the black project is approaching problems. For example, a few people brought up fluent interfaces[0] as an issue. There were many opinions about the right and wrong thing to do, but discussion got to a very pragmatic decision I feel.

Then there were requests to add command line arguments specifically so that tools could integrate with black that were added almost immediately.

Congrats on gaining so much traction so quickly, and thanks for listening to users (when it makes sense).

[0] [https://github.com/ambv/black/issues/67](https://github.com/ambv/black/issues/67)

</comment><comment><USER33> I chuckled at this _" If you're paid by the line of code you write, you can pass --line-length with a lower number."_

</comment><comment><USER34> Has anyone rolled this out to an existing codebase? What's the best practice? A single commit that reformats the whole codebase? How do you avoid creating merge hell?

<comment><USER3> You can see how this was done for Fabric, PyPA/Warehouse, and pytest.

General guidelines:

1\. One commit with _only_ the automatic formatting. Afterwards you'll be able to skip over it easily with `git hyper-blame` or `git blame $BLACK_REV^ -- $FILE`.

2\. Avoid leaving open pull requests. If you do, after landing the blackening commit, blacken all pull requests, too. They shouldn't conflict then.

3\. Set up enforcement with pre-commit or CI (you can run `black --check` on Travis or similar).

4\. Don't forget the repo badge ;-)

</comment></comment><comment><USER35> How does this compare with Yapf ([https://github.com/google/yapf](https://github.com/google/yapf))?

<comment><USER3> Answered here: [https://news.ycombinator.com/item?id=17155205](https://news.ycombinator.com/item?id=17155205)

</comment></comment><comment><USER36> Anyone know how I can get auto format on save to work in Vim with Black? I installed with Plug.

Figured it out:

`autocmd BufWritePre *.py Black`

</comment><comment> crooked-v 88 characters per line is a weird choice. Why not 90?

<comment><USER3> Originally PEP 8 had 79 characters. Now _that_ was a weird choice so most companies went with 80 instead, including Facebook. You _want_ a low-ish limit because it makes it possible to fit two files side by side on a typical screen resolution. Even if you don't edit like that, you look at diffs like that. More importantly, a low column limit is helpful to disabled engineers who don't have to navigate horizontally so much.

So we used 80. I always felt bad when the linter stopped people from pushing impactful changes because they went over the limit by two characters. So two years ago I set up a "highway speed limit" style warning in flake8 (code B950 in PyCQA/flake8-bugbear). What it does is it keeps your limit intact (for example "80") but doesn't trigger unless you went over by more than 10%. So the limit happens to be 88.

When I was working on Black, I was faced with a dilemma. Should the formatter stick to 80 or be able to "go over" a bit, too, as we would let humans do. I felt like the latter made more sense as the resulting code looks nicer (fewer occasions to break a single line into three or more). Then I remembered Raymond's talk "Beyond PEP8" where he mentions that experience shows "90-ish" is the wisest choice. So I went with it.

<comment><USER37> > More importantly, a low column limit is helpful to disabled engineers who > don't have to navigate horizontally so much.

I saw that you mentioned that - where have you seen a study that claims 100 is the cutoff? Would be interested in seeing that.

<comment><USER3> I don't have a formal study, just conversations with several legally blind engineers I work with.

</comment></comment></comment></comment><comment><USER38> How does this compare to yapf?

<comment><USER3> Answered here: [https://news.ycombinator.com/item?id=17155205](https://news.ycombinator.com/item?id=17155205)

</comment></comment><comment><USER39> What's with python 3.6 requirement? - Major stable distros are at python 3.5. So I can't even try it without messing with system python or OS.

<comment><USER3> It's open source software created by a volunteer. Using the latest version of Python lets me leverage features which help me focus on the problem at hand. f-strings, pathlib integration, the latest typing module, and so on.

I'm sorry this makes using my tool harder for you but I'm sure there is an easy way for you to install Python 3.6 without destroying your system Python. There's Homebrew for macOS, deadsnakes for Ubuntu, EPEL for RedHat, and so on.

</comment></comment><comment><USER20> After testing this some tonight, I'm committed to my first-blush response. This is my standard from now on, and it is the standard for my team.

Someone needs to ask a StackOverflow question about Python formatting and we need to answer it with "Just use Black." Upvote the fuck out of it, and be done with this forever.

</comment><comment><USER40> I like the spirit of it, but the implementation seems to contain too many exceptions (e.g. trailing comma, whilespaces around :). This problem is not unique to Black, it is actually too common for most auto-formatters.

I usually prefer a set of dead-simple formatting/styling rule, easier to enforce, lower cognitive load.

<comment><USER3> What don't you like about the exceptions? The code and the documentation would both be simpler without them. They are there because the end result is closer to what a human would do in those situations.

And the two exceptions you mentioned are ones you will also have to make if you want to stay PEP 8 compliant (pycodestyle's E203 is invalid inside slices) and you want your code to execute on Python pre-3.6 (where you can't add trailing commas to calls and signatures containing _args and_ *kwargs).

<comment><USER41> > where you can't add trailing commas to calls and signatures containing args > and _kwargs

I think that's signature only. You don't have problems with calls:

        $ python3.5
        Python 3.5.5 (default, May 17 2018, 07:04:26)
        [GCC 7.3.0] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> def foo(*args, **kwargs):
        ...   print(*args, **kwargs)
        ...
        >>> foo(
        ...   'abc',
        ... )
        abc
        >>>

The argument black made about not adding trailing comma is also quite unconvincing to me:

> Unnecessary trailing commas are removed if an expression fits in one line. > This makes it 1% more likely that your line won't exceed the allotted line > length limit. Moreover, in this scenario, if you added another argument to > your call, you'd probably fit it in the same line anyway. That doesn't make > diffs any larger.

Who cares about the 1% chance of not exceeding the line length limit? If you really care about that, use one-per-line style, not all arguments in one new line.

<comment><USER3> Yeah, call side was fixed in 3.5 but I don't split hairs here. I consider it either 3.6+ or don't put trailing commas after neither signatures nor calls with stars.

BTW, your signature doesn't demonstrate a call with unpacking. What you meant to test was:

l = [1, 2, 3] foo(0, *l,)

This works in 3.5+ but fails on 3.4 and before.

</comment></comment></comment></comment><comment><USER42> Is it possible to bind blackcellmagic[1] to run automatically everytime a cell is ran in a Jupyter notebook?

[1] [https://github.com/csurfer/blackcellmagic](https://github.com/csurfer/blackcellmagic)

<comment><USER14> You can explore putting something like :

        require([
          "base/js/namespace",
          "base/js/events"
        ],
          function(Jupyter, events){

            events.on('finished_execute.CodeCell', function(){
              // execute black here
            });
        });

In ~/.jupyter/custom/custom.js.

</comment></comment><comment><USER43> This is great - especially _removing_ hanging indents which is a real pet hate of mine! Only issue is the quotes - I'd love to see Black leave those as single if flake8 is configured to do so, for all the reasons mentioned in the comments.

</comment><comment><USER44> Maybe I missed it, but I don't see a comparison with PyCharm's built-in code formatter. Why would I integrate this code-formatter, "black", into PyCharm when PyCharm already does this for me and the whole team?

<comment><USER38> You can run this on pre-commit. While you can set PyCharm to run on file save, it is not guaranteed to run on all files. By using a command line tool, you can enforce that all files across your project are formatted this specific way and never let someone check in something that doesn't conform to it. If you have newbie developers, it can be a lifesaver.

<comment><USER7> You edit code, test it, and then have some program rewrite your code after testing but before it becomes an immutable commit hash?

</comment></comment></comment><comment><USER41> On the example there's:

        # in:

        TracebackException.from_exception(exc, limit, lookup_lines, capture_locals)

        # out:

        TracebackException.from_exception(
            exc, limit, lookup_lines, capture_locals
        )

I don't like this one. I would prefer that if you have )/]/} on the next line, then you should have a trailing comma, e.g.:

        TracebackException.from_exception(
            exc, limit, lookup_lines, capture_locals,
        )

Also I would prefer one-per-line over all in the same line (but not on the same line with the parentheses), but I feel less strongly about that one.

<comment><USER45> Sure you can prefer this but it is not the point. The point is that having ONE average way to do it > several best ways for several people.

<comment><USER41> I'm saying this is a weird/below-average way to do it.

If this cannot fit in one line:

        foo(arg1, arg2)

My first choice would be:

        foo(
            arg1,
            arg2,
        )

Second choice would be:

        foo(
            arg1, arg2,
        )

While Black chooses:

        foo(
            arg1, arg2
        )

And made some unconvincing argument about it:

> Unnecessary trailing commas are removed if an expression fits in one line. > This makes it 1% more likely that your line won't exceed the allotted line > length limit. Moreover, in this scenario, if you added another argument to > your call, you'd probably fit it in the same line anyway. That doesn't make > diffs any larger.

Who cares about the 1% chance of not exceeding the line length limit, really?

<comment><USER45> I know and I completely agree. Maybe a kind of vote could be made on this kind of choices. But what would be really nice would be git "style lenses" : having different styles to edit or share.

</comment></comment></comment></comment><comment><USER46> I just tried this on a Django project, and it formatted all the migration files as well. Is there a way to exclude certain directories when formatting a whole project?

<comment><USER47> So what? How is that harmful?

<comment><USER48> I take it it's because the migration files are auto-generated anyway, so it's odd to auto-format previously auto-generated files. You also don't really want to have repository churn on those files since they're generated once (and then never edited again) along with the feature they're for.

<comment><USER49> It would be a one-time auto-format just like the one-time auto-format that black will do for the rest of the project. Any newly auto-generated files can be formatted before they are committed. So I don't see it actually adding to the harm.

</comment></comment></comment></comment><comment><USER50> I find as I write code I no longer worry about alignment or long lines. When I have vim paste a section of code and its at a different indentation I just run black.

</comment><comment><USER51> I wish there was something like this for C#/.NET

 _.editorconfig_ is a start but the amount of time saved through automation and removing customization is significant.

</comment><comment><USER52> Is this conceptually different from using pylint, failing the build for any warnings and saying anyone who modifies the `pylintrc` file gets fired?

<comment><USER3> Sounds like you're joking but I'll bite. Yes, it's different because doing what you suggest introduces barriers for people which make landing changes harder. By forcing people to conform to any style manually, especially by blocking them from landing important features and bug fixes due to styling preferences, you are building up opposition. It's just a bad experience for everybody involved.

In contrast, when you're promising that this exact problem won't happen anymore because an automatic tool will handle stylistic preference for your team, people are more willing to accept stylistic choices they (mildly) disagree with. Because on average the style is still better and on average everybody can move faster.

<comment><USER52> Agreed auto-correct is a big plus. Maybe a better way to phrase my question is this: Can auto-correct be implemented in pylint? Or does allowing configurations create too much of an obstacle?

In the ruby world for example, rubocop has an auto-correct feature. However it is only implemented for a subset of the style checks.

</comment></comment></comment><comment><USER53> Any word out about a version for emacs?

<comment><USER54> From the linked GitHub page, it says for Emacs integration use [https://github.com/proofit404/blacken](https://github.com/proofit404/blacken) . I haven't tried it.

</comment></comment><comment><USER55> This is so cool. I like all the choices and will be adding it to my workflows for my personal projects.

<comment><USER56> Choice. There is only one (line length). And I think that's a good thing. Which were you referring to?

<comment><USER32> I think the commenter likes the choices made by the project so they don't have to make them :)

</comment></comment></comment><comment><USER57> Why is this better than autopep8?

<comment><USER3> Black and YAPF introduce consistent formatting within an entire file. Ironically, autopep8 goes against PEP 8 by only targetting the places in the file that generate pycodestyle warnings. Some of the warnings are also incompatible with PEP 8 (W503, E203) and the chosen formattings might very well be inconsistent with the rest of the file.

</comment></comment><comment><USER58> I've been long awaiting a Python equivalent of gofmt and prettier.js!

</comment><comment><USER59> Paulo Torrens is crying.

</comment><comment><USER60> 88 column wrap? Yeah - no thanks.

<comment><USER61> just specify a different --line-length argument? Easily solved.

I have mine set to 120. I code my python code in Pycharm, on a high resolution screen. Having a column limit of 88 only makes sense if you are inside of VIM or something.

<comment><USER62> Almost everyone agrees that there should be a column limit, but there is general disagreement about what that limit should be, exactly. There are plenty of sound arguments for 80 and as many for 100 or 120.</comment></comment></comment>


Watch the Ridgecrest earthquake shatter desert floor in before-and-after images - <AUTHOR> https://www.latimes.com/california/story/2019-07-22/ridgecrest-earthquake-images-broken-ground <comment><AUTHOR> The frequency of earthquakes in this regions is remarkable. Here is a list of earthquakes of 3.0 magnitude or greater in the last 3 days.

       MAP 3.7 2019/07/23 16:45:48 35.887N 117.720W  6.9   18 km (11 mi) ESE of Little Lake, CA
       MAP 4.1 2019/07/23 00:45:02 35.626N 117.428W  5.2   16 km (10 mi) S   of Searles Valley, CA
       MAP 3.9 2019/07/22 18:36:18 35.743N 117.560W  3.0   14 km ( 9 mi) W   of Searles Valley, CA
       MAP 3.0 2019/07/22 13:12:27 35.643N 117.445W  2.9   14 km ( 9 mi) SSW of Searles Valley, CA
       MAP 3.0 2019/07/22 11:31:20 35.852N 117.666W  3.6   24 km (15 mi) ESE of Little Lake, CA
       MAP 4.2 2019/07/22 09:26:56 33.996N 116.044W  7.9   16 km (10 mi) S   of Twentynine Palms, CA
       MAP 3.1 2019/07/22 02:45:10 35.957N 117.714W  3.1   18 km (11 mi) E   of Little Lake, CA
       MAP 3.0 2019/07/21 10:09:22 35.699N 117.543W 10.1   15 km ( 9 mi) WSW of Searles Valley, CA
       MAP 3.1 2019/07/21 04:56:11 35.656N 117.513W 10.0   15 km ( 9 mi) ENE of Ridgecrest, CA
       MAP 3.1 2019/07/21 03:41:37 35.609N 117.475W  7.2   18 km (11 mi) E   of Ridgecrest, CA
       MAP 3.0 2019/07/21 00:36:57 35.778N 117.618W  7.7   18 km (11 mi) NNE of Ridgecrest, CA

<comment><USER2> Paul Nicholls made an excellent visualisation of the sequence after the Christchurch (New Zealand) quakes [https://www.christchurchquakemap.co.nz/all](https://www.christchurchquakemap.co.nz/all) . The [https://geonet.org.nz](https://geonet.org.nz) site also got an update at that time and is fantastic for live data.

</comment></comment><comment><USER3> What happens if you have a property boundary that gets offset by a fault moving - do you own the moved land or do you own own the land that has moved into your area on a map and lose the land that moved out?

<comment><USER4> Isn't land still mostly defined by physical markers? The distances between the markers would change, and thus the property sizes.

<comment><AUTHOR> If my house moved to my neighbor's yard after an earthquake...he could have it. I'm outta there.

Just kidding. It is an interesting question though. I suppose the legal answer would vary by locality. It seems that any definitions derived by GPS, which normally would seem to be most accurate, would be too inflexible in this circumstance. It would seem hardly fair to get sued because you left your house in their new front yard.

</comment></comment></comment><comment><USER5> [http://archive.is/N7blH](http://archive.is/N7blH)

</comment><comment><USER6> The american obsession with the word "earthquake" ia fascinating to me.

I have never understood why, otherwise intelligent and eloquent native english speakers, choose to call small vibrations of tectonic plates as "earthquake" instead of what in theory should really be the more appropriate word:

Tremors

French, Spanish and German languages do not make this same error.

Is english at fault? ? Am i wrong? Or is there more to it?

</comment><comment><USER7> The visualization is fascinating, but the really interesting thing to me is that Google Earth had what appear to be custom imagery of the affected area within a day or two of the event.</comment>


GitHub API Authentication using OAuth 2.0 - <AUTHOR> https://insomnia.rest/blog/oauth2-github-api/ <comment><USER2> I'm seriously impressed with how useful Insomnia has become in my workflow. It goes to show how valuable a well designed user experience can be.

It's not the only available API testing tool, but it's by far the most productive tool to use in my opinion.

<comment><USER3> If you've tried Postman ([https://www.getpostman.com/](https://www.getpostman.com/)), how would you say Insomnia is better?

<comment><USER2> The differences are subtle but I would boil it down to attention to detail. The user experience is excellent.

<comment><USER4> I agree. The UI is so much better and more streamlined. I was also using Postman before I found this. It's really useful.

</comment></comment></comment></comment><comment><USER5> Semi-offtopic:

I was looking at Insomnia's pricing after reading this post, and was initially confused by the "Plus" feature-list, which includes a flat bulleted list containing "Data backup and sync" and "End-to-end encryption", among other things. My initial read didn't connect these two points as a single entity ("Data backups/syncing that use E2E"), so it seemed like the free version lacked support for some encryption of API activity?

I'm not immediately sure how I'd amend the list to fix it, other than perhaps nesting "E2E" and "unlimited devices" under the syncing rather than using a flat list.

It's worth noting that when I had this confusion, I clicked to the "Plus" page which cleared up my questions, but obviously it's not ideal for the pricing page to require that kind of clarification.

<comment><AUTHOR> That's really great feedback, thanks! I'll see if I can come up with any ideas on how to clarify this.

</comment></comment><comment><USER6> Just reading this on my phone, I have yet to try it. Anyone out there with experience, how does it compare to Paw for OS X? I moved from Postman and cURL to Paw because of the ability to take response fields as inputs to other requests mostly, but I've found it to be very pleasing to work with.

<comment><AUTHOR> I added the ability to reference other response fields a few releases ago. As the developer, I'm obviously biased, but here are a few advantaged of Insomnia. (1) It's open source, (2) it's cross-platform, (3) the UI is simpler and easier to use (subjective). Since Paw is a much more mature project, it has more features (so does Postman) but, if you don't need them, Insomnia is very comparable.

[https://insomnia.rest/documentation/request- chaining/](https://insomnia.rest/documentation/request-chaining/)

</comment></comment><comment><USER7> This is so important it deserves its own article</comment>


Show HN: An attempt to measure fermentation activity from the sound of bubbles - <AUTHOR> https://www.anfractuosity.com/projects/bubbleometer/ <comment><USER2> Sampling at 48kHz seems like overkill. If you record at a lower sample rate (e.g. 22k) you will still be able to detect the bubbles, but the files will be about 4 times smaller, and as an added bonus it will function as a sort of high cut filter, which may help with stray high frequency noises or thermal noise (to some extent). Additionally, you can apply a band pass filter around the frequency of the popping, if you aren't already cleaning it up before processing. Given a clean recording, you can trim the silence and still have full sample data for re-running algorithms on later if you preserve the timing metadata.

You could match the spectral signature to a known sample to distinguish between bubbles popping and other types of noises, if there were any, but the recording conditions seem good enough not to warrant it.

You could also possibly use an array of two, three or more mics and do some fancy triangulation to get a 3D map of the pop locations and better distinguish between individual pops, but I doubt how useful that would be besides a few cool visualizations.

<comment><AUTHOR> Yeah I agree with respect to the sample rate. I wasn't really sure what sample rate would be best when I started recording the audio, so just picked the highest the soundcard could handle.

I'll definitely look into applying a bandpass filter, thats a good idea!

I had wondered about the spectral signature idea, I was wondering if I could simply slide a window across the data, applying some kind of correlation function, using the magnitude data from the FFT of a known 'bubble' output compared to the window. But I wasn't sure what kind of correlation function to use, whether maybe Pearson correlation coefficient would be sensible?

I like your idea of using multiple microphones to get a 3D visualisation.

<comment><USER3> You are better off squaring the signal. Applying an FFT to get the magnitude will smear your signal in time. I suggest you look into acoustic emission detection.

<comment><AUTHOR> Thanks! I'd not heard of acoustic emission detection, I'll look into that now.

Do you think my sample rate is high enough for acoustic emission detection, as I notice in your other comment you mention they often use sample rates many times higher.

Also is there a particular paper you'd recommend regarding acoustic emission detection?

</comment></comment></comment></comment><comment><USER4> Awesome! I attempted the same approach, but after discovering a cheap gas concentration sensor (MQ-135, tunable to CO2) I abandoned the audio approach for a minimum of data processing. I get very accurate bubble detection and highly recommend it :-)

<comment><AUTHOR> Ooh that sounds very interesting, I'd be interested in how that works, do you put the co2 sensor near the airlock and notice 'peaks' of co2 from it, when bubbles come through.

Or is the sensor in the fermenter itself and you're kind of measuring the pressure?

<comment><USER4> I put it near the airlock and detect peaks. For now, the most valuable information I extract is when the fermentation starts and stops -- with notifications on my phone :-)

</comment></comment></comment><comment><USER5> > 57 GB of audio files of bubbles

This made me smile. Did you take continuous measurements then? You could do a windowed FFT and just take snapshots.

<comment><AUTHOR> Heh, yeah it's a bit excessive.

I took the audio recordings first, then processed the .wav files later via FFT. That's a good point though, but having the raw audio does let me play around with different techniques at a later date.

I will have to look into a sliding window, if that's what you mean though, because at the moment I'm simply looking at each chunk of N seconds of audio.

When I've tweaked the approach it would definitely be better to switch to the type of system you mention.

</comment></comment><comment><USER6> Or you can use, ehem, this sexy method...

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

<comment><AUTHOR> Haha</comment></comment>


Ask HN: Looking for tool that adds links to Wordpress from Firefox - <AUTHOR>

I browsed around the WordPress plugins page, but couldn't find this tool:
When I come across a page that I find interesting, I'd like to be able to click an icon in Firefox that adds a link to the page on my blog. That way when people visit my site, they can see my recommended sites.
Preferably, I'd like this to be a section in the sidebar (do not want a new post every time I submit a new link). Currently, to do this, I have to copy/paste the URL into the the theme editor - which is a pain in the ass.
Does something like this exist? <comment><USER2> [http://www.sizlopedia.com/2008/03/16/fast-and-easy- posting-u...](http://www.sizlopedia.com/2008/03/16/fast-and-easy-posting- using-wordpress-bookmarklet/)

<comment><AUTHOR> Thanks!</comment></comment>


Fountain pen ink properties - <AUTHOR> https://crlf.site/log/notes/200430-inks/ <comment><USER2> Much as I like fountain pens (they're more or less the only pens I use) I have a suspicion they're a bit like a mini version of hi-fi - you can spend an arbitrary amount on admittedly beautifully made objects, which you then have to basically pretend are so much better than the cheaper ones.

My favourite pen is actually my cheapest - a Platinum Plaisir (a Japanese company - I see the author mentions Platinum pens). I bought it in an airport when leaving Japan in order to use up some left-over cash. It looked a bit crappy and I was surprised to find, first, that the plasticky body was actually metal, just somehow made to look like cheap plastic - and then, that it wrote really well. I still think it looks a bit crappy, but it's a pleasant case of a product being far better than it appears.

I still wouldn't advise going to any trouble to find one, though. Something like a Kaweco Sport - almost as cheap - is practically as good and, in the UK at least, much easier to find.

The article might be on to something in focusing on ink - that could well be the most important bit, much as the most important bit of your record player is the cartridge (hm, there's an analogy here that isn't quite what I intended). Different inks in the same pen can make or ruin your writing experience.

<comment><USER3> As a lefty, the ink's drying speed is key, but also, the size and shape of the nib. Lefties should be using big bulbous bold 1.0+ tip nibs that glide across the page instead of stab into it.

Unlike a rolling ball pen, it won't skip or fail to roll with pressure due to the rightward angle-of-attack against the paper, so a proper fountain pen is actually better than most other pens for us lefties. First time experiencing smooth writing in my life.

Ultimately, the enemy of lefties is the pointy tip, and the rolling ball that's expected to be rolled against the paper, not pushed against it. Felt- tip pens work just fine for us, so those pen Sharpies are alright, but so are the 1.0 bold tip roller ball pens from Pilot, at least all the Pilots I've tried. Can't say all the others work as well.

<comment><USER4> A friend of mine, a lefty, built a little writing table with a surface warmed by a small heating pad to dry his fountain pen ink rapidly. He used a smooth, rubber-like, or maybe vinyl, drafting table mat to cover the writing surface. It worked for him. I thought it was ingenious.

<comment><USER5> You could also use a Noodler's "bulletproof" ink on cheap paper. The cheap paper will have lots of exposed cellulose, and the bulletproof ink is designed to react to and bond with cellulose. A lefty will smear Noodler's bulletproof inks on high-quality paper designed for fountain pens and calligraphy, because the sizing (coating on the paper) keeps the ink and paper apart (for beauty), but on cheapo printer paper, it bonds (like ballpoint pen ink, it doesn't dry, it polymerizes and bonds) almost immediately.

<comment><USER4> Interesting. I use Noodler's Bulletproof for check writing due to its alleged strong resistance to erasure and check washing. I have seen it mentioned as being well-suited for use on cheaper, rougher paper but hadn't really given it much thought and it makes sense that it'd work well for lefties.

</comment></comment></comment></comment></comment><comment><USER6> I kept wanting to love fountain pens, and I bought a couple, but the experience was always meh and not really any better (to me) than a decent ballpoint. They certainly didn't help the writer's cramp I'd suffered with all my life like I'd heard they would.

Then I bought a Lamy Safari on a whim and realized I could barely hold the thing. I did some reading and found out I was using the "lateral tripod pencil grip"[1], but the shape of the Safari's wedged end really wants you to use the dynamic tripod grip. I fought through forcing myself to adjust the way I hold my pen for a couple of weeks, and what do you know: it really did end my hand cramps.

Ballpoint pens push you to hold them vertically. Fountain pens work much better at shallower angles. The difference in grip, and angle, and much lower writing pressure makes a huge difference (for me) in writing comfort. After trying and giving up fountain pens a few times, now I'm sold on them.

[1] [https://www.ot-mom-learning-activities.com/correct-pencil- gr...](https://www.ot-mom-learning-activities.com/correct-pencil-grasp.html)

<comment><USER7> Thanks, I didn't know there was a name for that grip. I sort of picked it up by osmosis through watching a ton of youtube videos. I wouldn't say one arrives at that grip automatically, but due to how fountain pen nibs behave and how ink flows, I have noticed many people stumbling upon that grip without instruction. It definitely is different from a ballpoint pen grip which as you've noted is more "hand-crampy".

I've a few Lamys but my favorite pens of the last year or so have been TWSBI ECO Fs, an upgrade from Pilot Metro Fs, which I find scratchy. I also have some super cheap Jinhaos that look good on the outside but are leaky. I gather most people buy Jinhaos for the exterior, and switch out the nibs.

An astoundingly cheap and surprisingly good fountain pen ($4) is the Japanese- made Platinum Preppy F. They write way better than Pilot Metros. I kind of think Preppys should be the recommended starter pens rather than Metros.

I grew up writing with cheap Parker fountain pens in elementary school-- those poor experiences colored my perceptions of pens until I tried better pens. If I had a Preppy, I would have started on my fountain pen journey earlier...

<comment><USER5> I like Preppies. I don't know where to get them for $4 (open to suggestions), but I often want to try exotic inks with some pigment or sparkle or acrylic or acid (iron gall ink) or whatever that risks damaging a fountain pen. I'm fine if I neglect to clean it and it clogs the Preppy. Oops. Throw it away.

<comment><USER7> Amazon has a multicolor pack of 7 for $25 (~$4 per pen after tax).

If you buy them individually, they're between $5-$7 retail.

</comment></comment></comment></comment><comment><USER8> In my European home country, all kids in school must write with Fountain pens. At least in Elementary school and as far as I can remember.

They may have some style and look good cool, but honestly, I prefer ink rollers.

This is one of the best pens I know:

[https://www.amazon.com/Zebra-Dx5-Liq-Ink- Rollerball/dp/B000T...](https://www.amazon.com/Zebra-Dx5-Liq-Ink- Rollerball/dp/B000TK56MI)

<comment><USER9> In Germany in the 70s when I was in elementary school and forced to write with fountain pens there were two camps: Geha and Pelikan - you were one or the other and they had different ink cartridges.

Later on we upgraded to fancier pens like Lamy or Montblanc but honestly, the mass market kid pens worked better.

There were also strict rules about which colors we were allowed to use.

When we spent some time in a US school during my dad's sabbatical we were amazed that the kids used pencils - so convenient and erases better than the "Tintenkiller" we had to use.

<comment><USER10> It is hard to beat a Pelikan and they have some fancy range.

It is strange you didn't mention Rotring. They are quite affordable, nice design, good pens.

<comment><USER9> I didn't use Rotring till college. For drafting I had a set of 4 pens with the thin cylindrical shaft in different diameters.

</comment></comment></comment></comment><comment><USER11> I'm a fountain-pen aficionado that was taught to write with fountain pens and cursive writing way back in the eighties and never stopped.

Now I have a sizeable collection, but by far my favourite is Faber Castell's Tamitio which features a collection of italic nibs (I myself use the most modest 1.1 size).

[https://www.graf-von-faber- castell.com/products/Calligraphys...](https://www.graf-von-faber- castell.com/products/CalligraphysetTamitio/141506)

I'd like to chime in with an appreciation for Noodler's ink. I first encountered it when I was in New York but I stocked up and then returned home and found (happily enough) that now it's very conveniently available online.

<comment><USER12> I've been using The Parson's Essential[1] with an italic nib for 5+ years, and have to drop a recommendation.

Also of interest to anyone exploring transitioning to fountain pens would be the Pilot Vanishing Point[2], which is a retractable fountain pen that is generally well regarded.

[1] [http://www.mrpen.co.uk/contents/en- uk/p866.html](http://www.mrpen.co.uk/contents/en-uk/p866.html) [2] [http://pilotpen.us/categories/fountain-pens/vanishing- point-...](http://pilotpen.us/categories/fountain-pens/vanishing-point- fountain/)

</comment></comment><comment><USER13> I have quite a few fountain pens - a few that are somewhat expensive, but my top tip is TWSBI. They make unreasonably good pens with large reservoirs.

Another tip is Noodlers Ink's fast-drying "Bernanke Blue" ;-)

<comment><USER14> I wrote all my university notes with Bernanke Blue, Bulletproof black (I think) and Widow Maker red. I had a few TWSBI pens, which were nice while they lasted, but unfortunately the plastic crazed after a few years of sitting in a box and at least two are now broken. I had the big one and two minis. I'm not sure if that was becuaee I didn't flush the ink out before storage, but something to be aware of.

My goto before that (and now) are Uniball Jet Stream. The ink dries faster than you can try and smudge it. Refills are slightly hard to come by in physical stores, but I don't write much these days and they last for ages. I got a nice metal one (Jet Stream Prime, I think, single colour) last time I was in Japan - wasn't too expensive. Very hard to find that version elsewhere, but it's lovely and heavy.

<comment><USER13> Crazed as in becoming brittle?

I keep ink in my pens constantly. My philosophy being that any tool that can't take the way I use it doesn't deserve its place. (Pens that don't work get thrown away mercilessly).

The environment where my pens are stored and used is very dry with little variation. Perhaps humidity and temperature is a factor?

<comment><USER14> Yep, they just cracked and broke. Maybe more of an issue with the TWSBI because the reservoir is part of the pen. Maybe environmental, but I don't live in a particularly extreme area. I never had an issue while I was using them regularly, and I believe they're reasonably maintainable in that you can strip them down to lubricate. Most of the internal mechanics are also plastic though.

<comment><USER15> TWSBIs have a certain reputation. They have excellent designs and are cheap, but there's something wrong with their plastic. They suffer a lot of breakage.

I haven't been following them lately, but they used to be very good about replacing broken parts. (Which would then break.)

</comment></comment></comment></comment></comment><comment><USER16> No idea if it's heretical in the fountain pen world, but I'm a fan of Pilot Varsity disposable fountain pens. They come in both fine and medium points and a variety of colors. One upside is I always know which pen is mine since I've never run into anyone else using them.

I also have some expensive fountain pens, but don't take those to work.

<comment><USER17> The Varsity pens are the only fountain pens that "just work" when I use them. Any other ones I own (Parker, Monteverde, Cross) seems to get dried up if they sit too long. My only complaint about the Varsity pens are they are too light -- I like a bit of weight to mine.

<comment><USER18> I wonder if the not-drying-up is to do with the ink solvent mixture?

It has a different smell to other inks.

<comment><USER19> It's possible. Another factor is simply how air-tight the seals are. My older fountain pens tend to dry out faster than most modern ones. There are also some pens (Platinum 3776 for example) which are designed to virtually never dry out.

</comment></comment></comment></comment><comment><USER20> Fountain pen inks are amazingly varied, and combining them with the particular properties of thefountain pen inks are amazingly varied, and combining them with the particular properties of the fountain pens themselves prove quite the rabbit hole of a hobby.

Example of this is below, but feel free to skip.

Just yesterday, I reached for my custom ink replacement for Parker penman Sapphire and was glad I had it handy. I was cleaning out some boxes and rediscovered my esterbrook SJ pen with a manifold fine nib. It has been restored, but I tend to not put modern inks in vintage pens oh, so having that ink sure was handy.

I remember not really liking the pen because it was such a nail to use, but with my current journal being a poetic Earth journal using handmade carbon paper that most fountain pens don't like, this one seems to do much better then any of the rest, and really the only other writing instrument in competition to write on this journal would be a pencil, and hard pencil at that. Silverpoint inkless metal pens are entirely useless, and fountain pens for the most part don't like the uneven paper surface, it's a bit like driving off road in a 4 x 4 sedan, well it can do it, it's not really liking it.

It is just interesting to me how even though I prefer my pilot myu 701 and other Japanese pens, because of the variety of nibs available in fountain pens, I can still find a use for a pen that at the time I didn't think I could use.

<comment><USER21> If you want writing excellence, the paper also matters a lot. This is especially so if you're using more specialized equipment, and in particular if you're using inks that are more prone to seeping into the paper. The ability for the paper to only hold the top layer, without "drowning" or seeping in like watercolour, is then paramount. Rough or uneven paper just won't do either. Rather carefully use an ink blotter if the ink doesn't dry fast enough.

</comment></comment><comment><USER22> Wow, I had no idea my crappy post ended on Hacker news! I just collected a bunch of info and links for myself :) I guess I have to update the post with some pictures, at least...

</comment><comment><USER23> Fountains pens are an experience and a statement. It's fussy in that it takes much longer to dry than most ball point pens, and it has a clear preference for pricy paper. In return, it makes a mundane part of life (writing notes etc) much more fun and personal. My signature ink is the Iroshizuku Asa-Gao. It's a punchy blue ink that comes in a gorgeously slick bottle. Every time I see the bright blue ink on paper, it makes me happy.

<comment><USER6> Regarding paper: I bought a Rhodia Webnotebook - no, I don't know why they called it that - and my fountain pen loves it. It's the first time in basically my whole life that handwriting has been pleasurable.

</comment></comment><comment><USER24> Here's a fairly extensive ink review: [http://www.richardspens.com/ref/care/inks.htm](http://www.richardspens.com/ref/care/inks.htm)

Based on his recommendations, I've been using Waterman Intense Black. It works great: I just write a lots of text, and don't need colors - and importantly dye-based inks are less likely to cause clogs. But one drawback is that the ink isn't water-resistant, so if my notes ever get wet, they're done. I was thinking about trying Noodler's, since a lot of people seem to like their inks.

Has anyone who has used the Noodler's Bulletproof inks noticed problems with clogging (or the pens needing frequent cleaning)? (The review I linked mentioned problems with the Buletproofs.)

<comment><USER25> Bulletproof ink means they are archival and forgery proof, if you don't necessarily need to write unforgeable stuff like checks, then you just need to archival inks from Noodler's.

But I have used plenty of his inks and other than Baystate Blue none of them truly give you any problem. and if you are into fountain pen and inks nobody should die without using Baystate blue at least once.

My favorite are noodler's Henry Hudson blue which is a fountain pen Hospital exclusive ink, and the general of the armies. they both are complimentary things in ways that Henry Hudson blue is blue on writing but greenish on drying. General of the armies is the opposite, it's green on writing and bluish on drying. I have my pens loaded up that Henry Hudson blue and I picked them once a week, and other than priming them a bit there is no problem.

<comment><USER20> TL;DR: I second your points and add some anecdotes of my own.

Like you say, Noodlers inks have various flavors of permanence, from none, to archival / eternal, bulletproof, and Wardens series. Almost all of them are PH neutral which helps keep them from harming the pen they are in or more commonly the paper they're put on.

I treat inks at my house on a spectrum, depending on how long I want whatever I'm writing to last.

0\. Goners - chucked because they couldn't even hit level 1.

1\. Non-permanent - often water soluble, looks great and behaves well, but I don't expect it to survive being in the sun, getting wet, or otherwise taking any torture at all. An example of this is Diamine Red Dragon, which has a cool name and a cooler look on paper.

2\. Bulletproof - my standard inks for journalling or other documents that I want to resist aging and be reasonably readable if dunked in a bucket of water. An example would be Noodler's Heart of Darkness (looks like a shiny onyx black on paper) or Noodler's Navajo Turquoise (optional Eel), or even the humble Noodler's Bulletproof Black (looks like a grainy black).

3\. Safe inks - My 'nice' non-permanent inks. Used for birthday cards, special occasions, and self-indulgent musings if the writing is not intended to be used more than a year or so. I also reach for these when I have a pen that is misbehaving with my usual inks. An example of this would be Pilot Iroshizuku Iro Ai.

4\. Top Security inks - There are only 2 of these in my house. Noodler's Bad Blue Heron, and Noodler's Bad Belted Kingfisher. I use the latter in my Myu 701 for things that I want to last till the end of time, and resist the sun, rain, bleach, forgery lasers, the works.

None of the above considerations can be applied to ballpoint or rollerball pens, indeed, you are lucky if you have a 3 color pack of something nice from the disposables, like the Uni-Ball Signo DX UM-151 if you are gonna go to JetPens, otherwise you are stuck with the Uni-Ball Vision Elite Needle Grip family, which does okay, but still doesn't hold up to all the color varieties, nib variations, and grip sizes that fountain pens offer.

When I need to reach for a pen that is not a fountain pen for whatever reason (half the time all my FPs are just clean and un-inked and/or out of ink and I don't have time to fill 'em) I reach for the Pilot Hi-Techpoint V7, which is a refillable version of the Pilot Precise series of pens.

</comment></comment></comment><comment><USER26> Speaking of which ... for the last year, I've been using a combination of these two for my daily note-taking. I'm extremely delighted with them (especially the nib):

\- Waterman _Hémisphère_ fine nib pen[+]. It costs between 80-105 euros, depending on where you buy.

\- Waterman "Encre Noir Intense" (Intense Black Ink)

[+] [https://www.waterman.com/en/hemisphere/160-black-fountain- pe...](https://www.waterman.com/en/hemisphere/160-black-fountain-pen- gt-3501170920619.html)

</comment><comment><USER27> Muji makes a fantastic, beginner friendly Fountain Pen. I use mine daily, and I bought it for a lot of my friends who expressed interest in it. It's only $15.

Image:

[https://i.ytimg.com/vi/1SvaitlOH40/maxresdefault.jpg](https://i.ytimg.com/vi/1SvaitlOH40/maxresdefault.jpg)

Link to Product:

[https://www.muji.us/store/aluminum-round-fountain- pen.html](https://www.muji.us/store/aluminum-round-fountain-pen.html)

</comment><comment><USER28> If you have the patience to handle Iron Gall Ink, they are a pleasure like none other. It was the penman's popular choice for good reason. They produce very fine hairlines and enable swift stroke production.

Cons wise, they require a good quality paper to reflect those hairlines. Also, given its nib-eating nature, instead of a fountain pen, I'd suggest pairing it with a holder and a good nib. More hassle, but more pleasure. McCafferey's Ink is a great recommendation if anyone would like to try.

<comment><USER15> [https://www.paperinkarts.com/mcaink.html](https://www.paperinkarts.com/mcaink.html)

"* McCaffery's inks are highly acidic and can eat away at nibs. When using this ink, clean your nib thoroughly and often to avoid corrosion. You may also find mold on the surface of the ink, or a dried skin. These developments are natural and do not mean your ink has gone bad. Simply remove the mold or skin, throw it away, and stir the ink well. You are now ready to keep writing!*"

Uh, yeah.

Glass dip pens are generally available, though I haven't used one. I also have a glass-nibbed fountain pen, but it's mostly for pondering the weirdness of the universe.:-)

<comment><USER29> "do not use this ink in fountain pens "

This is not a fountain pen ink but recreation of historic inks used with non- fountain pens.

For fountain pens try Platinum blue-black, Pelikan 4001 blue-black, Diamine Registrar's.

<comment><USER15> Noodler's Air Corps Blue-black, here! :-)

I was mostly looking at the mold comment.

</comment></comment></comment></comment><comment><USER30> There is [https://www.mountainofink.com/](https://www.mountainofink.com/)

Probably the most comprehensive ink reference I've come across.

<comment><USER31> Oh thanks a bunch, that's how many hours of my life I'm going to lose browsing that site?

</comment></comment><comment><USER9> If you think fountain pen inks are complex you'd be amazed what crazy stuff our inkjet ink chemists come up with.

</comment><comment><USER32> Pilot Namiki Black is also a very well behaved ink and easy on the pen.

<comment><USER33> That's what I use. My only complaint is that it evaporates so quickly. I don't write a lot, so anytime I want to use my pen the first thing I have to do is replace the cartridge and try to get the ink flowing again.

</comment></comment><comment><USER34> This is a strange blog post, almost like a Wikipedia page with more references than information. Also no images. Is there a name for this style? Is it very popular?

<comment><USER35> Martin Fowler has called his website a "bliki" ([https://martinfowler.com/bliki/WhatIsaBliki.html](https://martinfowler.com/bliki/WhatIsaBliki.html)).

</comment></comment><comment><USER36> Has anyone left-handed successfully used good pens? It's something I would like but it seems a waste when I know it'll just become a smudge.

<comment><USER37> There are 'quick dry' inks. Combined with a fine nib(lays down less ink).

A TWSBI Eco with a bottle of Noodler's Bernanke would do.

<comment><USER36> Thanks -- I'll give that combo a go.

</comment></comment></comment><comment><USER38> Would love a breakdown of ink viscosity so I can finally do a dropper build that doesn't leak.

</comment><comment><USER39> Surprising to see this on HN. Yes, fountain pens are a rabbit hole. No, they are not really useful - it's hard to edit or search through what you wrote on paper - but the feeling while writing is pretty amazing.

<comment><USER40> > No, they are not really useful

Pens aren't useful?

> it's hard to edit or search through what you wrote on paper

As opposed to every other document not written using FPs? I don't even know what your point is here.

<comment><USER39> > Pens aren't useful?

Yes, this is my point.

> As opposed to every other document not written using FPs?

As opposed to documents not written on paper. Please, read carefully.

<comment><USER41> I was also confused. Your first comment was poorly worded to convey the meaning you had intended.

More to the point though:

> it's hard to edit or search through what you wrote on paper

You'd be surprised how fast queries can be done in the type of physical organization systems that existed before computers! People weren't stupid, they came up with many _brilliant_ systems. There's a great art to organization, summary, and consolidation. Maximum flexibility is usually not synonymous with maximum efficiency. And we've never quite mastered the input system for computers.

Editing is generally much better on a computer though, but even that shouldn't be overestimated. As humans we are much more often limited by the speed at which we can think, than by the speed with which we can record that information.</comment></comment></comment></comment>


Victorian Gas Meter - <AUTHOR> http://www.parlington.co.uk/artifacts.lasso?process=8&subProcess=art14 <comment><AUTHOR> Diaphragm gas meters of this type were invented in 1844. The design is basically unchanged to this day.</comment>


Discussion of a band that enourages file sharing. - <AUTHOR> http://pavlovskitchen.wordpress.com/2010/04/23/is-file-sharing-okay-as-long-as-the-files-are-shared-widely/

<comment><USER2> I'm sure this idea will continue to catch on. Give away the infinite goods (digital files) and sell the scarcities (concerts, merch, etc...). They are building a fanbase the way many online companies have built customer bases.</comment>


How do i go back to regular Google? - <AUTHOR> http://www.google.com/support/forum/p/Chrome/thread?tid=6cfce150cf9655e0&hl=en

<comment><USER2> This is, in some senses, a sign that programming and computer systems are getting better. You don't _want_ people to have to learn the difference between a browser and the web and a search engine and an operating system - you want things to _just work._

For most people once their machine is set up this is the case, and then when they want something different, they don't know what they're asking. This is a sign of success, and not a sign that the users are stupid.

Although it must be admitted some of them are.

So here's the question. If you run a service, how much do you insist your users learn before they can actually use it? Anything? Nothing?

Added in edit:

"What is a Browser" is a similar issue (linked to elsewhere from this thread, and from previous submissions:

<http://news.ycombinator.com/item?id=662105>

<http://news.ycombinator.com/item?id=653962>

<http://news.ycombinator.com/item?id=626482>

As I say - having people not knowing about these things is a measure of success.

<comment><USER3> _You don't want people to have to learn the difference between a browser and the web and a search engine and an operating system - you want things to just work._

Except that things still aren't at the "just work" stage, and perhaps never will be.

People who are ignorant of cars or washing machines can nowadays use their cars and washing machines for _years_ without running into any weird situation they don't know how to fix. But people who are ignorant of computers seem to wind up having weird problems they don't understand quite regularly.

I'd say that's not a design issue, that's just to do with the fact that a computer is a more complex tool, with a much wider range of possible inputs, than a car is.

</comment></comment><comment><USER4> What is a Browser? (By the Google Chrome team): <http://www.youtube.com/watch?v=o4MwTvtyrUQ>

<comment><USER5> That's a good vid, one that I've watched several times, but each time I'm left with the following dilemma.

Should my takeaway be: "Geez, we live in a computer based society, and everyone is so insanely clueless".

or should it be: "Cool, people are getting along just fine with their daily tools, not needing to know the 'details' of them".

Which one is it?

<comment><USER6> How well do you know the inner workings of all of the tools you use on a daily basis? Obviously you have a mental model of them. But is it accurate enough to make a similar kind of distinction between a web browser and a search engine?

<comment><USER7> For things like a search engine I think it makes more sense to compare it to the supply chain that produces other things that we use. The page that shows up in the web browser that we interact with is more akin to a piece of fruit we buy in the grocery store. I certainly know how to eat a banana, but I couldn't begin to tell you how many companies and technologies were involved in delivering that banana to me.

</comment></comment></comment></comment><comment><USER8> I thought this would be about getting rid of Google Instant, which is ridiculous and distracting. You can turn that off in search settings.

<comment><USER9> Which you can only change when you are logged in.

<comment><USER8> No, they'll still save settings in a cookie if you're not logged in.

<comment><USER9> cookie == logged in

<comment><USER10> a) Incorrect. b) Easily checked. c) Numpty.

</comment></comment></comment></comment></comment><comment><USER11> I wonder what percentage of the broader audience has difficulties like the one mentioned in that thread. I'm within a few weeks of launching a Web 2.0 startup focused on the mortgage industry. One of our goals is to make shopping for mortgages _very_ easy to understand. But I'm not sure how we do that for someone who is also having problems typing "www.google.com" in an address bar. Should my goal be to make my product usable for the (I hope) 5%-10% of the market that has these sorts of difficulties? Or should I write them off, and focus on making the best product for the people out there who are more capable? It's an interesting question to ponder.

</comment><comment><USER12> From the comments: _When I click on Internet, I want the Google page to appear._

</comment><comment><USER13> I saw a company recently announce they would not be supporting IE6 any longer.

The questions in their forums ranged from confused to bizarre. My favorite was "will I have to back up all of my [member data on their site] or will it still be here?"

People truly do not understand what is going on here - they have no idea what is stored/processed a remote server, what is happening locally, what a browser or another desktop program is, etc. I thought computer illiteracy would become less of a problem as more people used computers every day, but unfortunately, it's worked differently than expected. The average level of confusion has stayed the same and the ranks of the confused have grown.

</comment><comment><USER14> Anyone know what is being taught regarding technolgy and the Internet in the us elementary and high school systems? Is Internet 101 a mandatory class that teaches these basics and some HTML? I sure hope so!

Will these type of clueless users always exist?

</comment><comment><USER15> From the top response:

 _Google Chrome is a web browser, kind of like your tool to let you connect to the internet. There are a lot of different web browsers you can use to connect to the internet_

You're doing it wrong :(.

<comment><USER16> Can I download a browser that will get rid of that loud annoying noise when I connect to AOL?

</comment></comment><comment><USER17> I think someone said in another thread that some users are not really clear on whether Google is a website, a browser, an OS or something else.

The user that posted this question seems to prove that point.

<comment><USER18> That's like being confused whether Pepsi is a soft drink or a company. The answer is: Yes, it is.

<comment><USER19> True, but in this case the asker doesn't know what a soft drink or company is to begin with.

</comment></comment></comment><comment><USER20> I bet it's mainly because of Google's super-aggressive pushing of Chrome on all its properties.</comment>


Top 10 Reasons Why Dating an Entrepreneur Rocks - <AUTHOR> http://www.ladieswholaunch.com/magazine/top-10-reasons-why-dating-an-entrepreneur-rocks/1457

<comment><USER2> I actually enjoyed this. They're generalist platitudes, but at least it helps to remind me of what I can bring to a relationship. Outside of academic circles, it's strikingly hard to find dates who aren't, well, intimidated by independent, able women. The way people 'turn off', on say, OkCupid, when I mention what I do, had become in equal parts amusing and frustrating.

<comment><USER3> I suppose I'd buy that being a 'hackrepreneur' women would have a polarizing effect on mens' interest, but would you really be interested in someone who had it polarized to the negative, anyway? If there is a shortage of guys who are into girls who can code, I'm grossly misunderstanding the bay area singles landscape.

<comment><USER3> In fact I can think of a ton of people in my immediate social network you should contact, heh.

<comment><USER2> I'm sure there are, for me, as for everyone, many people out there, however the issue is really just mending the psychological damage caused by impatiently sampling dating sites. Bad idea.

I also think that many men in tech or science tend to think like-minded women are, in the abstract, attractive, but _when it comes down to it_ , it's just not the sort of thing they're looking for while dating. After a while, helping people discover this loses its novelty.

<comment><USER4> It may be more than that. When you are an extraordinary person, your dating pool is necessarily more limited than it is for the merely ordinary person. I think this is true regardless of gender or sexual orientation.

In Boston, we have this term "The H Bomb," which is the moment one tells a prospective partner that one has gone to, or is currently attending, Harvard. You try to put it off until the second or third date, unless the person you're dating also has Ivy League credentials. Just that word can end things before they've started.

<comment><USER2> I know exactly what you mean.

Usually, when people ask where I went to school, I say 'a small college in New Jersey'.

</comment></comment></comment></comment></comment></comment><comment><USER5> Seems odd to me that female entrepreneurs would feel the need to market themselves like this. I guess a good entrepreneur never misses an opportunity, huh?

Regardless, I'd rather date an angel investor.

<comment><USER6> I'd rather date an heiress.

<comment><USER7> I'd rather date a world-class philosopher.

<comment><USER6> Well, let's just compromise and call Paris Hilton the perfect woman.

<comment><USER7> "The only rule is don't be boring and dress cute wherever you go. Life is too short to blend in."

"The way I see it, you should live everyday like its your birthday"

"A true heiress is never mean to anyone - except a girl who steals your boyfriend"

\--Paris Hilton

</comment></comment></comment></comment></comment><comment><USER8> "must control... fist... of... death..." - Alice (Dilbert)

</comment><comment><USER7> I dislike the collectivist slant in this (and similar) pieces. It's written as if 'female entrepreneur' is a category one can reasonably make generalizations about. In fact it is a very diverse category and the generalizations presented are not an accurate guide to any individuals.

<comment><USER9> Because no one will read "Top 10 Reasons Dating Me Rocks." Instead, the author derives a sort of "aspect" of themselves, and portrays it as an aspect of an entire group. This is really the base of quite a lot of the world's rhetoric-- people really talk about groups they don't identify with very rarely.</comment></comment>


Ask HN: How to datamine grocery stores? - <AUTHOR>

Ideally it would be real-time inventory data, but just a list of all items a store typically carries would be a good start. Some possibilities:

  * Self-checkout screenshots
  * Crowd-source customer receipts (thanks Kliment)
  * Browse aisles with camera
  * Ask store for listing
  * Mine store websites
 [Edit: Updated possibilities.] <comment><USER2> Grocery store websites tend to show very, very little of inventory. The typical grocery store considers the data a trade secret, and are unlikely to tell you if you ask. You could walk around the store with a camera mounted to your hat (seriously) and then work from the images. You are more likely to get data from smaller stores than from big chains, but they tend to have less accurate data (weekly inventory rather than real-time). But I don't know if you will get far without the big stores. If they notice you gathering data they may get suspicious.

One trick would be to ask people to upload receipts from stores. Then you work from the product listing on the receipt. This will tell you where people are buying things also, in the sense of "Store X is where most people in this area buy product Y." Think about it, this might be the easiest way.

<comment><AUTHOR> Crowd-sourcing receipts is an interesting approach, thanks for suggesting. The rest your comment makes a lot of sense.

</comment></comment><comment><USER3> I wonder how many receipts could be acquired from the ground or garbage cans outside the store? It would be a biased sample, possibly, but it is hard data and free of cost.

</comment><comment><USER4> Tesco offers an API (still in beta until later this year), although it's poorly documented and all the examples are in Microsoft languages...</comment>


Ask HN: Who is firing right now? - <AUTHOR> It's really hard to gauge how the crisis is affecting tech. On the one hand there will obviously be a general recession, but on the other hand tech as a portion of the economy should grow through the crisis and also afterwards.<p>Is it business as usual at your company? A freeze on new investments? Doors closing for good? <comment><USER2> Leafly: 50% (~150) staff reduction

Compass: 400 heads cut

Vacasa: Staff reduction (unknown count)

TripActions: 350 heads cut

</comment><comment><USER3> Whether and how tech companies will be impacted depends on who your market is - we have some market segments calling in, asking for help, asking for more services, while other market segments are refusing calls from sales people, saying they are not going to even entertain discussions during this crisis. It all depends on which markets you serve.

</comment><comment><USER4> (Not speaking on behalf of my current or former employers, or drawing from inside information)

I don't think you can bundle all of tech in one unit. During the 2008 financial crisis some tech products weren't affected or even saw increased demand. Of note were analytics software (used for cost-cutting) and some SaaS offerings (ongoing costs vs upfront cash).

</comment><comment><USER5> It's early. I would expect massive waves of layoffs in May/June.

The delay of income tax and evaporation of sales taxes is going to break state and local government and you'll see businesses with a lot of government business just die. Ditto with finance.

Hopefully the relief bill passes and is effective. Otherwise, we're in a bad place.

</comment><comment><USER6> Business is definitely not as usual, most companies here in Netherlands have freezed their hiring process till 2021.

</comment><comment><AUTHOR> O'Reilly firing events team, cancelling Strata etc: [https://twitter.com/LauraABaldwin/status/1242517013878071296](https://twitter.com/LauraABaldwin/status/1242517013878071296)

</comment><comment><AUTHOR> For our own part: we haven't really noticed anything in our business so far, I guess it takes a while for any cost-cutting orders to filter down. I definitely expect a recession, but even in pretty extreme scenarios we wouldn't need to make any layoffs.

</comment><comment><USER7> SpotHero</comment>


JavaScript Control: lies and wizardry - <AUTHOR> http://vimeo.com/stljs/control

<comment><AUTHOR> The video starts off a tad slow as Perrin finds his legs, but at ~2:30 the pace picks up and he begins to demonstrate an amazing tool he's been developing.</comment>


Facebook is the 21st century tech equivalent of cigarettes - <AUTHOR> http://oznathan.quora.com/Facebook-is-the-21st-century-tech-equivalent-of-cigarettes-And-now-I-can-finally-prove-it

<comment><USER2> This is consistent with my anecdotal experience. People talk about Facebook as something that gives no satisfaction, but they do anyway.

Facebook also has some extraordinary benefits, so it's hard to quit. I meet more people when I travel, I've made new friends in town, and I met my favourite author as a result of his Facebook presence.

But that's 1% of my time on Facebook. The other 99% is pure waste. But something about it makes it very hard to go in, take care of what I intend to, and leave. I don't have the same trouble with most sites.

</comment><comment><USER3> "How to quit XXX" can mean many things.

* Smoking: How to stop a nicotine additiction

* Alcohol: How to stop an alcohol additiction

* Vi: How to end the program once you have started it out of curiosity. (Hint: Kill process from another console and never look back)

* Facebook: How to find the hidden options to erase your account and data.

The pretense of the article is a bit idiotic, but I am not sure it is to be taken at face (haha) value.

</comment><comment><USER4> And this article is the 21st century article equivalent of cigarettes.. Both will give you cancer.

First off, he uses his personal google results, in incognito mode you wouldn't get these results (and you don't get anything related to facebook at all with this search query). Second, the term "How to quit facebook" isn't the same as "How to quit smoking" since "How to quit facebook" could be asking how to delete an account (which has nothing to do with addiction.) Third, there is a bias towards technology when using google search, things dealing with technology and especially the web will ALWAYS be higher up than searches relating to physical things, you can't use frequency of web searches as any type of statistic when comparing between a web based search and a physical based search.

So basically, this article is just as cancerous as cigarettes. Take it with a (HUGE) grain of salt.

<comment><USER5> The Google search is only mentioned once in passing in the text, and in the image.

Their argument is based on the number of users/groups on lift. This is of course, also pretty flimsy - but I don't think its being presented as scientifically rigorous; just as an observation that many people are trying to give up Facebook (and apparently having some trouble).

</comment></comment><comment><USER6> Its become fashionable to bash Facebook but comparing it to cigarettes is a bit extreme.

People need something to waste their time. Real life can get very bland at times. If Facebook didnt exist its not as if people would suddenly start self actualizing , writing novels and building companies. They'd probably be watching TV. We all need to turn our brains off for a few hours every day.

Till recently it was television and now its Facebook. But its way better as it is interactive and ties into the basic human need to gain the approval of others.

Those who profit are the ones who recognize these basic human needs and tap into them.

HN is the same thing but targeted at nerds. But the basic flow is the same. Its mindless and effortless , offering just enough novelty that you don't get bored.

People criticize things like Facebook and Farmville for being mindless and dull. But thats precisely why they're popular. Its an endless stream of slight novelty for very little effort. We need novelty and creating it ourselves can take too much effort. At the end of a long day our brains are just too tired.

Thats why we have Michael Bay Movies , Chick Lit and Twilight.

In the days before TV and electricity, alcohol and drugs may have been one of the ways to unwind and maybe in a weird way that validates OPs thesis.

I use Facebook mainly for the chat feature. Facebook turns acquaintances into friends and though some people dislike this ,for me its a big plus. It keeps me in touch with people who share common interests whom I wouldnt get to meet as often in real life.

Also Facebook is a gateway drug to participating in other online communities and realizing the power of people forming groups over the internet.

</comment><comment><USER7> Addiction is quite a vague word, and gets mistreated. It isn't a good word when we're considering whether continue with a particular behaviour. Instead, we should just be looking at whether something has a negative impact on the individual. Smoking is generally thought to have a overall negative impact on a person, and those around them, mostly as it significantly increases their chance of death. To some degree it's possible that someone who spends their whole day on Facebook wouldn't have time for more important activities, and would see some bad outcomes there. But those people aside, using facebook has a lot of very beneficial social effects, such as allowing friends who don't see each other very often to stay in contact. I think the effects of using Facebook are a net positive.

</comment><comment><USER8> He really should have used an incognito browser window for his Google "how to quit..." autocomplete example (facebook, smoking, vim, drinking), as it's apparently biased from his own browsing habits.

Going incognito in Chrome, the list is quite different (smoking, a job, your job, smoking weed): [http://i.imgur.com/wsH60zm.png](http://i.imgur.com/wsH60zm.png)

Which makes me curious: does everyone else see the same list in Chrome incognito, or is Google doing some tracking by IP / browser fingerprint?

(Someone should build GoogleCounselor.com, an automated service to tell you what your bad habits are.)

<comment><AUTHOR> I have never googled anything related to quitting facebook, cigarettes, drinking nor vim. I don't even know what vim is.

But it would have been better to search in incognito mode.

</comment></comment><comment><USER9> As a non-smoker currently reading Allen Carr's "Easyway" in order to find a solution against my procrastination problem, I completely understand the parallel but I don't agree. Facebook might be OP's habit to kill time but this works equally good with any Twitter, Reddit, or even HN. The problem (for addicts) is that those websites constantly stream some short new items, easily read, easily forgotten. It's the same dynamic indeed as going for a smoke instead of doing some work but it's not exclusive to facebook and facebook is not killing you.

</comment><comment> vezzy-fnord I lost it at the idea that there are more poor souls trying to figure out how you exit from vi[m] than there are alcoholics looking for advice on quitting.

Alternatively, one could argue that using vi[m] is equivalent to a harmful addiction and the only cure is Emacs.

Otherwise, the issue is more accurate when you do 's/Facebook/web/'.

<comment><USER10> Everything you said here exactly mirrors my response to this article. I understand intellectually how addictive Facebook is, but for me personally it's nowhere near as addictive as HN, or countless other intellectual stimuli on the web.

But the addiction is more like a food addiction than cigarettes, because I need to consume a certain amount for my career. It's just a question of reigning in excess and focus when I need it.</comment></comment>


The Congressional Black Caucus Is Asking Silicon Valley Why It's So White - <AUTHOR> https://motherboard.vice.com/en_us/article/bj59a3/the-congressional-black-caucus-is-asking-silicon-valley-why-its-so-white <comment><USER2> This is the same observation that I made to myself when I attended IEEE 802.11 meetings. So much people from so many places and nearly no black people (African Americans or African Europeans).

I tried to dig the subject and my conclusion was massive and deep bias (including in myself).</comment>


Nvidia Processor Has New Niche: High Perf Computing - <AUTHOR> http://online.wsj.com/article/SB120649136650364147.html?mod=googlenews_wsj

<comment><USER2> any links to a non subscription version?

<comment><USER3> Try faking a Google News referer. But it's just another gee-whiz CUDA/Tesla article; try these links instead: <http://en.wikipedia.org/wiki/CUDA> <http://www.nvidia.com/object/cuda_home.html></comment></comment>


Ask HN: How people get Ethereum - <AUTHOR> Hi all,
I don't know how do people get Etherum at first place. I aware of CoinBase but all google just says bad thing about them. Recently CoinBase eat $5,000 of some guy[0] on Hacker News.
So I would like to know how do people get into Ethereum
---
[0] https://news.ycombinator.com/item?id=14587941 <comment><USER2> You probably mean Ether (ETH), the currency. Ethereum is the name of the platform.

One approach is to buy Bitcoin (BTC) instead of ETH, because there are a lot more exchanges to choose from. Then use a exchange service to exchange that BTC into ETH. I used shapeshift before. Be aware of the fees that are usually hidden in the exchange rate.

</comment><comment><USER3> [https://cex.io](https://cex.io) looks like a great alternative</comment>


Microsoft plans to use Windows 7 to raise netbook prices - <AUTHOR> http://www.appleinsider.com/articles/09/07/31/microsoft_plans_to_use_windows_7_to_raise_netbook_prices.html

<comment><USER2> I really can't take anything Steve Ballmer said there. He claims:

>> any changes in reported share numbers are just "a rounding error." Share gains by Apple "cost us nothing,"

but then he says:

>> "Hopefully, we'll take share back from Apple. But they still sell only 10 million PCs a year, so it's a limited opportunity."

They haven't lost market share to Apple, but they're going to take it back? That makes no sense. And his attempts to make their market share sounds good are laughable.

And can anyone explain how raising netbook prices ISN'T going to result in the same situation cited in the article, where Acer/Linux netbooks undercut Vista? Seriously - if there is an explanation, please explain it, because I don't understand it. To me it just sounds like a random decision because they're desperate for something to say to their stock holders.

</comment><comment><USER3> Good luck with that Microsoft. I don't think Microsoft quite groks that prices _always_ go down on commodities, assuming there are many competing products and improving efficiencies in manufacturing.

While regular folks still prefer the OS they know over Linux, they will begin to think more and more about it when the price difference is 20%, or 30%, or 40% of the purchase price (as it will be on netbooks). Since the importance of Office and other stuff that requires Windows is declining every day, and nobody is gaming on netbooks, I just don't see how they can have any confidence that they can hang on to that market while charging full price for Windows.</comment>