Ask HN: Best WYSIWIG? - <AUTHOR>

To date we've used either markdown or HTML. We need to transition to something more user friendly for our merchants. Suggested WYSIWIG?
I've had issues in the past with WYSIWIGs producing poor quality or even confusing HTML. Any suggestions or recommendations?
We're looking at these 3 right now: http://imperavi.com/redactor/ http://ckeditor.com/ http://www.tinymce.com/ <comment><USER2> I'm a big fan of redactor. I'm using it for both of my projects right now. While it's not perfect, it's certainly the best that I've found. In some cases I do use tinymce because it has better browser support.

<comment><AUTHOR> We've been leaning towards Redactor. Main concern isn't browser support but clean HTML.

</comment></comment><comment><USER3> Check out Wysihtml5. We've been using over the last few months and found it ok. We had a strict requirement on good quality HTML, and so far, Wysihtml5 seems nice.

[http://xing.github.io/wysihtml5/](http://xing.github.io/wysihtml5/)

</comment><comment><USER4> Summernote looks pretty nice.

[https://hackerwins.github.io/summernote/](https://hackerwins.github.io/summernote/)

</comment><comment><USER5> I've used ckeditor for years and been happy with it.

</comment><comment><USER6> I found [http://www.aloha-editor.org/](http://www.aloha-editor.org/) useful. Very friendly for Word users.

</comment><comment><USER7> [http://quilljs.com/examples/](http://quilljs.com/examples/)

<comment><USER8> Is there no way to edit source?

That's a must-have feature in my book.</comment></comment>


My C code works with -O3 but not with -O0 - <AUTHOR> https://www.mulle-kybernetik.com/weblog/2020/compiler_or_cpu.html <comment><USER2> The title is actually wrong - the -O0 version is correct, the -O3 version is not (despite giving the output the author expected).

Casting the value to double ends up converting the long value 0x7fffffffffffffff to the nearest double value: 0x8000000000000000. As the -O0 version CORRECTLY reports, this does not round-trip back to the same value in the "long" type. Many other values, though not all, down to about 1/1024 of that value (1 / 2^(63-53)) will also fail to round-trip for similar reasons.

Unless my coffee-deficient brain is missing something at the moment, it should be the case that any integer with 53 bits or fewer between the first and last 1 bit (inclusive) will roundtrip cleanly. Any other integer will not.

Edit: fixed a typo above, and coded up the idea I expected to work and ran it through quickcheck for a few min, and this version seems to be correct ('int' return rather than bool is just because haskell's ffi doesn't natively support C99 bool):

        #include <limits.h>

        int fits(long x) {
          if (x == LONG_MIN) return 0;

          unsigned long ux = x < 0 ? -x : x;
          while (ux > 0x1fffffffffffffUL && !(ux & 1)) {
            ux /= 2;
          }

          return ux <= 0x1fffffffffffffUL;
        }

<comment><USER3> So the problem here is that in this line:

          if( value < (double) LONG_MIN || value > (double) LONG_MAX)
              return( 0);

The cast of LONG_MAX to double rounds upwards (which is allowed by the standard, which says that rounding direction is "implementation defined"), so that "value > (double) LONG_MAX" is false, right? Even though the mathematical value of "value" is larger than LONG_MAX?

Which then leads to this line:

       l_val = (long) value;

Where value is cast to a long despite being outside of the range of longs, thus causing undefined behavior. So to be clear, BOTH of the -O0 and -O3 versions are correct, since both invoke undefined behaviour.

When -O0 and -O3 give different results, either at least one of them is incorrect and you've stumbled on a compiler bug, or both of them are correct and you're invoking UB (the far more common situation).

EDIT: no, I think I misunderstood it: it's not that value is larger than (double) LONG_MAX, it IS (double)LONG_MAX, so of course "value > (double)LONG_MAX" is false.

The problem is that the "(long)((double)LONG_MAX))" is undefined behaviour on implementations that round (double)LONG_MAX upwards instead of downwards. Which is allowed by the standard. Ok, cool :)

<comment><USER4> Huh. So, how does one check that a cast from double to long would succeed in C? Just go and do lround()+errno check?

<comment><USER5> I think the most correct way would be to explicitly set the rounding mode to down or towards-zero, then calculate largest_double_that_fits = (double) LONG_MAX, then check value <= largest_double_that_fits. Since largest_double_that_fits is guarenteed to be <= LONG_MAX, and value <= largest_double_that_fits, it follows that value <= LONG_MAX.

<comment><USER6> This is not right. The current rounding mode is not guaranteed to apply to integer to floating point conversions. Quoting C99, section 220.127.116.11, paragraph 2:

"When a value of integer type is converted to a real floating type, if the value being converted can be represented exactly in the new type, it is unchanged. If the value being converted is in the range of values that can be represented but cannot be represented exactly, the result is either the nearest higher or nearest lower representable value, chosen in an implementation-defined manner. If the value being converted is outside the range of values that can be represented, the behavior is undefined."

See it says implementation-defined manner, not according to the current rounding mode.

Test case:

        #pragma STDC FENV_ACCESS ON
        #include <stdio.h>
        #include <stdint.h>
        #include <fenv.h>

        int main()
        {
            fesetround(FE_DOWNWARD);
            printf("%f\n", (double)UINT64_MAX);
            fesetround(FE_UPWARD);
            printf("%f\n", (double)UINT64_MAX);
            return 0;
        }

        $ gcc -std=c99 -frounding-math x.c -lm
        $ ./a.out
        18446744073709551616.000000
        18446744073709551616.000000

In both cases it rounded up.

<comment><USER5> I stand corrected, thanks! What a bizzare choice when floating point standards already have a well-defined system for determining how to round things.

</comment></comment></comment></comment></comment></comment><comment><USER7> Hoo boy. This is what happens the first time C programmers start to work with floating point and don't know the fundamentals.

When you work with floating point, you need to remember you work with a tolerance to epsilon for comparisons because you are rounding to 1/n^2 precision and different floating point units perform the conversion in different ways.

You must abandon the idea of '==' for floats.

This is why his code is unpredictable, because you cannot guarantee the conversion of any integer to and from float is the same number. Period. The LSBs of the mantissa can and do change, which is why we mask to a precision or use signal-to-noise comparisons when evaluation bit drift between FP computations.

He has the first part correct, < and > are your friend with FP. But to get past the '==' hurdle, he needs to define his tolerance, the code should be something like:

if (fabs(f1 - f2) > TOLERANCE) ... fits = true.

I was irked by his arrogance when he asks, "Intel CPUs have a history of bugs. Did I hit one of those?" First, learn about floating point, then, work on an FPUnit team for 10 years, and even then, don't assume you're smarter than a team of floating point architects, you're not.

<comment><USER8> Floating point is indeed hard. It's made harder because the C programming language, due to its history supporting a large number of targets, especially for high performance computing, does not even mandate IEEE 754. (C predated IEEE 754). IEEE 754 is actually very precise about rounding, rounding modes, etc. The x87 floating point coprocessor is also heavily to blame, because of its internal 80-bit precision. Decades of headaches. Other headaches come from ARM NEON's vector instructions not implementing subnormals (RTZ mode), which is not IEEE, which makes vector math differ from scalar math in corner cases. GPUs also went through a similar evolution. Slowly the industry is moving to all-IEEE 754 compliant arithmetic. There's a lot more to say, but yes, I agree with you, it's complicated.

<comment><USER9> Yeah and then we have the problem that most floating point variables shouldn't be IEEE 754. And we're mostly fucked because most languages don't support anything else.

<comment> mark-r If they shouldn't be IEEE 754 then what would you use instead? IEEE 754 exists because a lot of smart people put a lot of thought into what the best floating point representation should be. Then the hardware folks put a lot of work into making it fast and accurate.

<comment><USER9> IEEE 754 is designed for scientific computation and simulation. And it's very good for that. However it's terrible for representing decimal numbers and fractions. You end up with the exact problems described in the article.

It's kind of a problem since most programmers aren't writing programs to do scientific/modeling. They're writing programs that are doing decimal math and currency where IEEE 754 is inappropriate.

<comment> mark-r I ask again: what would you use instead? The industry has decided that IEEE 754 is the best all-around compromise, and everything is optimized for that case. Most programs aren't doing "decimal math", but programmer expectations are shaped by that since that's what they've used all their life.

<comment><USER10> > _I ask again: what would you use instead?_

And I'll repeat what the parent said, again: decimal math.

> _Most programs aren 't doing "decimal math"_

And yet they do. Most programs do decimal math with floats, either because the programmers don't know that's not a thing (and consider floats the same as decimals), or because the language doesn't give them anything else (e.g. Javascript up until recently), or because workarounds are cumbersome (e.g. representing as fractions or working with integers for money with a scale factor and downscaling in the end, etc).

But in almost all programs, the kind of math the program needs to be done, from money handling, to estimating distances, to layout, etc are better done as decimal.

Floating point don't represent a way to solve any kind of actual problem, except the problem of speed and memory representation. So their use is because of computer constraints, not because the problem domain requires floating calculations.

<comment> mark-r The only point I'll concede is monetary calculations. Estimating distances? Layout? I can't see how the difference between decimal and binary changes anything.

Decimal math isn't built into most of the languages or processors we use, so that's why I keep asking what you'll use. It's a kind of hand-wavy response. You'll need to seek out an appropriate library and use it consistently, which is a lot more trouble than just using the built-in IEEE. Not impossible, just usually more trouble than it's worth.

<comment><USER10> > _Estimating distances? Layout? I can 't see how the difference between > decimal and binary changes anything._

Whether it changes everything is neither here not there.

It might still result in the same output (e.g. the lack of precision might not matter for layout purposes), but there's absolutely no domain need to do the calculations in FP except for performance or lack of a better number type in the language.

In all of these cases, the exact match would be better than lack of precision, aside from the performance and similar (memory, etc) costs.

That is, if decimal was computing-wise as fast and as available as FP, there would be absolutely no reason to use FP. It's not a choice of mathematical need (e.g. not imposed by the calculation) but a choice of computing constraints.

> _Decimal math isn 't built into most of the languages or processors we use, > so that's why I keep asking what you'll use._

In my experience many languages have it (C#, Java, Python, Javascript is getting it, etc) and people don't use it.

And in most cases, being in the processors wouldn't matter - we use FP for all kinds of non-critical performance calculations, not because it's needed for the speedup, but because it's there.

When there is indeed a need for the CPU-support, I'd use FP myself, sure. But not in most other cases, and absolutely not for money and other cases where precision matters (but people still use FP).

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> This may be an instance of "you should really know the gcc/clang sanitizers and use them to test your code":

clang test.c -O0 -fsanitize=undefined

./a.out

[...]

test.c:17:12: runtime error: 9.22337e+18 is outside the range of representable values of type 'long'

Interestingly gcc doesn't throw that warning.

<comment><USER12> Does that verifier have a strong possibility of false positives? I'm curious why C compilers have such a strong history of making reasonable checks optional and hidden behind a bunch of switches.

<comment><USER11> No, actually the false positive rate of these flags is practically zero. (I'm not sure if it's 100% zero, but I used those extensively, reported many bugs and every time a developer told me "this is a false positive" they were wrong.)

The reason they aren't enabled by default is that that's not what they're designed for. They have a significant performance impact, you can't enable them all at once, they conflict with other security features and they may introduce security issues.

These are developer features. They aren't there to run your production code, they are there to test during development and bug finding.

<comment><USER13> Here's one that I encountered that I cannot figure out:

      $ g++ -x c++ -fsanitize=undefined -
      #include <iostream>

      int main() {
          int *a = nullptr;
          std::cout << std::addressof(*a) << std::endl;
      }
      ^D
      $ ./a.out
      <stdin>:5:29: runtime error: reference binding to null pointer of type 'int'
      0

<comment><USER14> You are not allowed to dereference a null pointer no matter how you use it even if you later convert it back to address.

<comment><USER15> You are allowed to dereference a null pointer, but you are not allowed to access the result or use it as an initialiser for a reference. You can only immediately discard the result, or immediately take the result's address. Using std::addressof(* a) first binds a reference, then uses that reference to take the address, hence the error. You won't get any UBSAN error with &*a.

<comment><USER16> > You are allowed to dereference a null pointer

Can you cite me something for that? The very first mention of dereferencing in the C++03 standard - ISO/IEC 14882:2003 1.9 Program exection ¶ 4 (page 5) - would seem to disagree:

> Certain other operations are described in this International Standard as > undefined (for example, the effect of dereferencing the null pointer). [ > _Note:_ this International Standard imposes no requirements on the behavior > of programs that contain undefined behavior. ]

EDIT: As does 8.3.2 References ¶ 4 (page 136):

> [...] [ _Note:_ in particular, a null reference cannot exist in a well- > defined program, because the only way to create such a reference would be to > bind it to the "object" obtained by dereferencing a null pointer, which > causes undefined behavior. As described in 9.6, a reference cannot be bound > directly to a bit-field. ]

<comment><USER15> The standard doesn't say dereferencing a null pointer is invalid. The fact that it gives it as an example of undefined behaviour is a defect in the standard. In the discussion on core language issue #232, the intent has been explicitly stated:

> Notes from the October 2003 meeting:

> ...

> We agreed that the approach in the standard seems okay: p = 0; *p; is not > inherently an error. An lvalue-to-rvalue conversion would give it undefined > behavior.

[http://open-std.org/JTC1/SC22/WG21/docs/cwg_active.html#232](http://open- std.org/JTC1/SC22/WG21/docs/cwg_active.html#232)

WRT your edit: no, that says dereferencing a null pointer and binding a reference to the result produces undefined behaviour. That agrees with what I was saying. "which" refers to the whole of "to bind it to the "object" obtained by dereferencing a null pointer", not just to "dereferencing a null pointer".

<comment><USER16> I see! Thanks for the reference.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> A precise integer value is only guaranteed to be representable losslessly in a double if it is up to `64 - 1 (sign) - 11 (exponent) = 52` bits in magnitude.

This should be fairly obvious with knowledge about how floating point numbers are represented internally IMO.

Edit: Be more precise about what can be represented.

<comment> yoz-y I've seen quite a lot of errors stemming up from assumptions about floating point numbers. Not sure there is a good way of handling this in the end, except exert caution. Even basic assumptions like f + 1 > f will have this issue.

<comment><USER18> i+1>i breaks even for unsigneds

<comment><USER19> At least for unsigned integers i+1!=i, and the only exception to i+1>i is i==UINT_MAX. For signed integers it may be undefined behavior, of course—again in just one instance—but for floating point you may have f+1==f, or (f+1)-f>1 depending on the rounding mode, for _many_ values of f which are nowhere near the limits of the range, not to mention other oddities like (f==f)==false when f is NaN. If you code involves floating-point operations then the number of corner cases you need to test increases greatly.

</comment></comment></comment></comment><comment><USER20> Clear your floating point exception register by calling feclearexcept(FE_ALL_EXCEPT). Convert to long by calling lrint(rint(x)). Then check your exception register using fetestexcept(). FE_INEXACT will indicate that the input wasn't an integer, and FE_INVALID will indicate that the result doesn't fit in a long.

Edit: check for me whether just calling lrint(x) works. The manpage doesn't specify that lrint() will set FE_INEXACT, but it seems weird to me that it wouldn't.

<comment><USER21> I had no idea this feature existed! Does it behave usefully in a multithreaded context?

<comment><USER22> Yes it does. N1570 7.6:

> The floating-point environment has thread storage duration. The initial > state for a thread's floating-point environment is the current state of the > floating-point environment of the thread that creates it at the time of > creation.

</comment></comment></comment><comment><USER23> To save some time for new readers, the author is unfamiliar with floating point representation and thinks that a double precision number since it is 64 bits can hold any 64 bit integer and is somewhat confused as to what an xmm register can hold(they believe that it has 128 bits of precision instead of being able to hold 2 64-bit doubles, or 4 32-bit singles). They attempt to find the issue a few ways. The correct solution is not to convert any integer larger than 2^53 in absolute value since only integers that large can be successfully converted to double and back( aside from a few others that exist sparsely).

</comment><comment><USER21> > When something very basic goes wrong, I have this hierarchy of potential > culprits:

I don't know if this is supposed to be a joke or part of the setup for an explanatory post about undefined behaviour, but that list is in exactly the wrong order.

<comment><USER24> I agree, but I'd also say that silicon bugs are rarer, so I put them at the end of the list.

</comment></comment><comment><USER25> SSE xmm registers might be 128 bits wide, but the precision is still 64 bits. The additional (high) bits are zeroed out.

What you're seeing is not excess precision due to wide registers but excess precision due to optimization and constant propagation, which means GCC calculates a fast path for (argc == 1) that doesn't round correctly and ends up with "it fits".

Interestingly it does optimize to the correct "doesn't fit" with -mfpmath=387 -fexcess-precision=standard, so I guess this is a bug in how GCC treats SSE math. The sanitizer (-fsanitize=float-cast-overflow) also notices the problem.

</comment><comment><USER26> Based on my experience, this title is a strong hint that some undefined behaviour is triggered.

</comment><comment><USER27>
        if( ! fits)

Why this (constently) terrible formatting though? Never seen anyone using this style.

<comment><USER28> Ahh you ought to see my style. I've been told it's unique and quite ugly. Linters tend to very much dislike it. Nonetheless my style has a purpose to me and I'm sure so does the author's.

<comment><USER27> I think glueing punctuation to the previous word but always having a space before the next one makes the words more readable. Probbaly makes sense although you always need research to back up such claims. For example there's research that says snake_case is more readable than camelCase (and yet most languages encourage camelCase for some reason)

</comment></comment></comment><comment><AUTHOR> With the help of your comments, I could now write the conclusion to my article. In a nutshell this is the solution:

        #include <math.h>
        #include <fenv.h>

        int   fits_long( double d)
        {
           long     l_val;
           double   d_val;

        // may be needed ?
        // #pragma STDC FENV_ACCESS ON

           feclearexcept( FE_INVALID);
           l_val = lrint( d);
           d_val = (double) l_val;
           if( fetestexcept( FE_INVALID))
              return( 0);

           return( d_val == d);
        }

The article explains it in more detail. Thanks for the help.

</comment><comment><USER29> The frst rule of floating point comparison is you do not compare them for equality, but instead calculate the difference and check if the difference is less than epsilon.

<comment><USER30> This is super common advice but it is generally wrong, at least the second part.

Comparing floats is more subtle than most programmers realize, and there really isn't a one-size-fits-all solution.

Things to consider due to the nature of fp representation \- comparing results close to zero is different (i.e. "is a small" needs a differen test than "are a & b close"

\- the distance between fp numbers depends on their magnitude, so comparing two large numbers to each other shouldn't have the same bounds as comparing two numbers near 1, say[1].

\- if you aren't quite careful you can easily create tests where a == b but b != a , which can cause sorting issues, etc.

Hand-wavily speaking if you want to do this "right", you should probably look at doing the analysis in ULP (units in last place) rather than directly on the floats. Don't do it for values near zero though. And have a fast path for differently signed values.

The above doesn't even get into denormalized values.

[1] note that what people usually mean for epsilon is the version of machine epsilon that is the difference between 1 and the next representable float above 1 [2]. So by definition this is smaller than the representable difference between any two numbers in larger decades

[2] MS .NET somewhat confusingly defines Epsilon as the smallest representable normalized number.

</comment></comment><comment><USER31> >I am still looking for a better way to check, if a double will convert cleanly to an integer of the same size or not.

I'd say the cleanest would be to decode exponent and mantissa, check if the exponent is within the 64-bit limit of long, then check if there's any bits set below the decimal point. (+plus some extra care for two's complement negative numbers)

The problem with this is of course that this would be platform dependent.

<comment><USER22> I'd say the correct way to is to use lrint or lround and check for errors the standard way.

</comment></comment><comment><USER32> This is why using safe languages is important. Even frequent users of C and C++ end up making mistakes that are difficult to track down.

<comment><USER33> I'm not sure what you mean by safe in this context. A language that forces type casts to be explicit? That throws runtime error when invalid/imprecise cast is done?

</comment></comment><comment><USER34> The most surprising thing for me out of this is that casting a high positive integer to double will output the _nearest_ double which could be higher, not the highest one smaller than or equal to the integer value.

Is there a way to get the largest double smaller or equal than some positive integer?

</comment><comment><USER35> > When something very basic goes wrong, I have this hierarchy of potential > culprits: the compiler buggy hardware OS vendor last and least me, because I > don't make mistakes :)

I really dislike the arrogant programmer trope. Can we all stop?

</comment><comment><USER36> How did you decide that "the method works for LONG_MIN"? Did the method return the expected output of false? Because it really seems like the code is working correctly on `-O0` and incorrectly on `-O3`...

<comment><USER37> Why would you expect the output to be false? On any typical system around (with 8-byte longs), LONG_MIN has the value of -2^63 which (converted to a IEEE double-precision float) passes the function's checks just fine -- even if the values around it don't.

<comment><USER36> Ah, my mistake. Still, seems like the -O0 is actually what's correct and the -O3 is reporting an incorrect answer.

</comment></comment></comment><comment><USER38> I had something similar happen but with GCC generating an internal compiler error and just plain failing. Still haven't figured out why.

</comment><comment><USER33> I'd say just put volatile and be done with it. Now your -O3 will also break, but at least it's consistent with -O0 :p</comment>


Ask HN: Bother them or not? - <AUTHOR>

I am applying for a job at a YC company and really, really want to get it. I've been interviewed and am just waiting now; I keep feeling torn between the urge to find a way to show them my determination somehow (terrible first thought: emails) and feeling that this is tacky and annoying. Should I just take a chill pill? For current or future reference, is there any respectful way I can improve my chances?<p>(Yes, it's my first time applying to a startup) <comment><USER2> I would suggest a follow-up email. I always remember the answer to a question, or realize a bug in some whiteboarded code, etc. It's also polite to thank them for their time...interviewing someone took time out of their day. I typically do it within 1-2 weeks and try to work in something that likely would be memorable from the interview (not a "remember me, I was the guy whose battery died" and more "since that blunder of my laptop dying during the interview, I've started carrying a spare battery!"). There's no feeling of obligation for them to respond, but puts you back in the forefront of their mind, shares some more of your personality and can lead to a follow-up interview/discussion.

That being said, I've only had one interview not result in a job offer of some sort (I've had some offers for contract work where I didn't get the full-time offer I consider successes) and I'm confident that had I been local and done an in-person interview I would have done much better (was my first remote/on the phone interview, and I imagine it must have been painful for the interviewer). When interviewing people, if they were good, I'm elated to see the follow-up. If they weren't, I dread it since it means I really need to start writing up rejection responses. What's the worst that'll happen, not getting the job?

<comment><USER3> I completely agree that a follow-up email is recommended.

I'm surprised more people don't do this. At the same time, do it once, and that's it. Understand that you likely won't get a response directly to the email, and the next contact you may have could be the yes or no.

If it didn't come up in the interview, make sure they understand what you like so much about their company, and what you can do for THEM. This isn't about you. Make it about them, and hopefully it will stick.

It always a surprise to me when throughout an interview, an interviewer talks about why the want the job by referring to how they'll benefit, rather than how the company will benefit from having them.

</comment></comment><comment><USER4> There might be others that want it just as bad as you. I'd just sit tight (unless you omitted something major from your application.) If you get rejected, then tell them how much you wanted it, and ask them to consider you down the line, and what you could do to make yourself more hirable.</comment>


Show HN: I trained GPT-2 to write like Goop - <AUTHOR> http://goopt2.xyz/ <comment><USER2> After trying a few to get a handle on things, I decided to make guesses based solely on if the sentence makes coherent sense. I judged 14 quotes before getting a repeat, having gotten 13 wrong and only 1 right.

Now, if it was 50/50, I'd have said they're just as coherent. But it's 13:1 which suggests to me that there is a bias here. I think the authors intentionally selected quotes which make the least sense out of context to be the Goop quotes and cherry picked GPT2 quotes that happened to sound the most sense without any context. This is supported by the fact that I only had to go through 14 quotes before it started repeating.

If that's the case, and I suspect it is, it's not really dishonest per se, but it is at least sensationalist and potentially misleading. It's asking you to draw conclusions by having you participate in an experiment where it has its thumb on the scales.

<comment><USER3> Heavy curation is unfortunately rampant in the genre of "wow check out this AI"

<comment><USER4> That's what my bot said.

<comment><USER5> Be nice, feelings that bots have too.

</comment></comment></comment></comment><comment><AUTHOR> Hey HN -- I had a slow weekend and built this thing. It's a little game that displays a sentence, and you decide if you think an ML model generated it, or if it's an actual quote from Goop.

I fine tuned the model (OpenAI's GPT-2) using Max Woolf's gpt-2-simple and by scraping articles from Goop's "Wellness" section. I generated predictions by feeding it a few words from the opening of actual Goop sentences (not sentences it was trained on) and seeing what it spat out.

There aren't many quotes (something like 25) in it right now, but I can add more easily if people have fun with it.

<comment><USER6> I would be interested in learning how you built it, do you have a blog entry about fine tuning the gpt-2 with the scraped text ? Or can you recommend a blog post that does something similar ?

<comment><AUTHOR> Thanks! I'm planning on writing something up this week. I can message you when it's done, if you're interested.

<comment><USER6> Yes, very much so. Good luck and thank you!

</comment></comment></comment></comment><comment><USER7> I can't believe how bad I am with this! It reminds me of the book "The Most Human Human." Every year, at the competition for the Loebner Prize (a five minute chatbot Turing test), an award is given not only to the AI which convinces the most humans that it is a human (The Most Human Machine), but also to the human who convinces the most humans that they are a human (The Most Human Human). The author of the book tried to set the record for being the highest scoring human in the test. His book dives into just how smart, curious, and empathetic you have to be to show your human-ness. The Goop authors, it seems, are not going to be in the running for "Most Human Humans" any time soon.

<comment><AUTHOR> 100%. Part of what made it so fun to generate the text was that all the usual data points I instinctively use to vet ML-generated text get thrown out the window with Goop. A Goop writer really may have used those seemingly unrelated nouns together and somehow connected them to medicine.

</comment></comment><comment><USER8> For people like me who didn't know: Goop.com describes itself as "Cutting-edge wellness advice from doctors, vetted travel recommendations, and a curated shop of clean beauty, fashion, and home." The company has been the eye of many criticisms specially for lack of scientific prove of their healthcare advices [https://en.m.wikipedia.org/wiki/Goop_(company)](https://en.m.wikipedia.org/wiki/Goop_\(company\))

<comment><AUTHOR> Thanks for this—I probably should have clarified. Goop is a psuedoscience-as- a-lifestyle brand that frequently publishes hilariously terrible medical advice under the guise of "wellness."

<comment><USER9> Many from here probably also know it from Netflix's "The Goop Lab With Gwyneth Paltrow" and the associated commentary the site has had about it in a few threads.

</comment></comment></comment><comment><USER10> When I see things like this I start to wonder if all of deep learning is actually getting this close to an uncanny valley like result, but because it doesn't really understand grammar (or an image, or a road etc.) we don't feel the weirdness of the result. There is just something a bit off about the structure and meaning of what is produced such that reading the ones not written by Goop usually clog up my brain. The Goop ones clog up my brain in a different way of course ;-)

</comment><comment><AUTHOR> Hey everyone—looks like HN traffic squeezed my server a little more than I expected. It's upgrading now, but might not be available for about 5 minutes. Sorry about that, and thanks for checking it out!

EDIT: All good now :)

<comment><USER11> Brilliant work.

The way you packaged it can be used to label data to improve ML models. I am thinking of such a link being sent out to numerous people to crowdsource labeling. Even if they answer one question, if a few million people answer it once, that's a few million responses to help train the model.

Is it using any notion of common sense?

[https://www.quantamagazine.org/common-sense-comes-to- compute...](https://www.quantamagazine.org/common-sense-comes-to- computers-20200430)

</comment></comment><comment><USER12> Very similar: [http://snarxiv.org/vs-arxiv/](http://snarxiv.org/vs-arxiv/)

</comment><comment><USER13> This reminds me of the time that MAD Magazine did parodies of entries in the old Spencer Gifts catalogs.

</comment><comment> fake-name I mean, it can't have been too hard. Anyone can do this. Just open your laptop and take a big watery shit right on the keyboard.

Volia, Content indistinguishably coherent from the original. Bring your own sanitation wipes.</comment>


The 'not the million dollar homepage' for eBay sellers...  - <AUTHOR> http://www.sponsoredonline.com An interesting site for ANYONE who sells stuff on eBay, SponsoredOnline is set to become the worlds biggest FREE tag based eBay items billboard. All you need is your item number and a few carefully selected tags. <comment><USER2> I'm not in favor of taking such an idea, and trying to mainstream it by slapping the name of something we use everyday and trying to make it worth something.</comment>


Ask HN: Is there a side project network? - <AUTHOR>

More specifically, is there a network for people to find others to collaborate on side projects with? I mean, we all know other developers/designers/marketers, but, the ones I know, are mostly too busy to take on another project. <comment><USER2> There is <http://www.weekendhacker.net/>

Though I have always found most of the projects posted on that list to be either sketchy ("I am a biz guy, build my thing!") or not weekend-sized.

<comment><USER3> Founder here.

Yeah it's been a little slow the last year. The reason for this are many but I am working on getting it back in shape.

</comment></comment><comment><USER4> Something like <http://www.techcofounder.com> ?

<comment><AUTHOR> Similar to, yeah. The word startup usually implies that there's a lot of long- term work involved. So that, but for weekenders or the guys who want to build a quick MVP.</comment></comment>


How to fix America's financial relationship to healthcare - <AUTHOR> http://micheleincalifornia.blogspot.com/2015/12/how-to-fix-americas-financial.html <comment><USER2> > My understanding is that health insurance originated in this country as a > means to plump up employee compensation in a situation where paying more > wages was not desirable. You could not entice good employees by offering > them a pay raise because it bumped them up into another tax bracket and it > just wasn't worth it to them.

Really hard to take the article seriously when it crams so much misinformation into one paragraph. There is no such thing as "bumping you up into the next tax bracket." The marginal extra dollar might be taxed at a higher rate, but the dollars below that will be taxed the same as before.

Moreover, the fact that health insurance isn't taxed now can't explain the origin of the industry. Initially, health insurance was taxed just like any other non-cash benefit. A _tax break_ on health insurance was implemented as a way to offer some relief from the wage controls of WWII: [http://www.npr.org/sections/health- shots/2012/12/04/16643424...](http://www.npr.org/sections/health- shots/2012/12/04/166434247/the-huge-and-rarely-discussed-health-insurance-tax- break). But such a tax break wouldn't have come about if the industry didn't already exist.

<comment><USER3> Employee health benefits been tax free since at least 1954, and the top marginal rates were _much_ higher then. So WWII controls were an early factor, but marginal tax impacts were significant too.

<comment><USER4> Sorry, could you explain what you mean by marginal tax impacts?

I assume this is something along the lines of:

Employer: "We can offer you an additional $3k/year in income but it will be taxed at 40%. Or we can offer you 3k in health benefits tax free. Which do you prefer?"

<comment><USER3> Sure. Employer observes that they can spend $10,000 on wages to increase the employee's take-home pay by $1,000; or they can spend spend $5,000 on insurance premiums and buy the employee an excellent health plan. The employee and employer both have incentive to take the tax break.

I'm taking about the 1950 here, when the top marginal rate was around 90%.

Edit: grammar.

<comment><USER5> The top marginal rate was 91%, yes, but that rate was for income over $200,000 _in 1950 dollars_ , which is (adjusted for inflation) nearly $2m in today's dollars:

[http://taxfoundation.org/article/us-federal-individual- incom...](http://taxfoundation.org/article/us-federal-individual-income-tax- rates-history-1913-2013-nominal-and-inflation-adjusted-brackets)

Meanwhile, the median household income in 1950 was under $5,000 (in 1950 dollars):

[http://web.stanford.edu/class/polisci120a/immigration/Median...](http://web.stanford.edu/class/polisci120a/immigration/Median%20Household%20Income.pdf)

So although there were very high marginal rates at the top, they applied only to people making over 40 times the median income. And just to pay a higher marginal rate than 2015's maximum of 39.6%, one needed to be making around three times the median income in 1950.

So you'll need another explanation, because it's unlikely that the risk of being bumped to an ultra-high marginal rate was an issue widespread enough to spur the offer of untaxed health care. And as others have pointed out, it's well-documented that the actual reason was a reaction to wartime wage controls -- given the choice, companies would have simply offered more cash.

</comment></comment></comment></comment></comment><comment><USER6> Direct primary care is a good thing, and I greatly appreciate you contributing your experience to this discussion.

On the other hand, having grown up with a public health system (in Ireland, whose model is almost identical with the UK's NHS), I'm strongly of the opinion that the necessarily higher rates of income tax are well worth it. Why? Because when you get sick you just go the doctor, and if the doctor's clinical opinion is that you need additional care, you go to the hospital. There is no financial decision-making involved, there's no additional paperwork to be filled out (not by you anyway), and you don't have to have conversations about who's in or out of your provider network in the normal course of events. The only focus is on your clinical care and recovery needs. Is it perfect, of course not - but when you develop a medical problem, you get to focus on that rather than having to split your attention between medical, financial, and administrative worries. My experience of the American healthcare system is that while there are many sincere and selfless people working in it, the system itself is badly corrupted and wildly inefficient.

One objection I've heard from opponents of single payer healthcare is that if going to the doctor is free or almost so, doctor's offices will be filled with hypochondriacs and genuinely needy patients will be crowded out. I have never seen any evidence for this claim, and it doesn't match my experience. Most people don't like going to the doctor because it makes them nervous, it's icky, and they dislike being around other sick people in the waiting room - same as everywhere. Of course there are some hypochondriacs out there, and doctors quickly become skilled at spotting them and running them off. It may be a bit harder in these days of WebMd, but I am disinclined to believe that a tiny number of hypochondriacs are the major obstacle to restructuring and industry comprising 10-15% of our economy.

<comment><USER7> I think the main opposition to single payer in the USA is that it's counter to some of the bedrock principles the country was founded on, such as freedom, independence, limited government and personal responsibility.

<comment><USER2> "Personal responsibility" is not a founding American principle. There's no Federalist Paper dedicated to "personal responsibility." Indeed, "independence" and "personal responsibility" along with "individualism" were retconned into American history during the settlement of the West.

Moreover, "limited government" in the context of American founding principles refers to the allocation of responsibilities between states and the federal government, not the overall scope of government.

There is, in fact, a principled originalist argument for universal healthcare. First, it has always been assumed that the states have the power to provide for the welfare of their citizens, as well as to police their behavior and morals. The states are, in that regard, decidedly not "limited governments" of "enumerated powers." State-level universal healthcare is contrary to no founding principle.

Second, the Commerce Clause was incorporated into the Constitution to allow the federal government to solve what we today would recognize as economic collective action or free-rider problems. At the time it was aimed to address the collective action problem of free trade. It's good for the United States as a whole, but individual states have a short-term incentive to erect trade barriers. The purpose of the Commerce Clause was to allow the federal government to counter-act those short term incentives. Precisely the same problem exists with state-level universal healthcare. Even if most people in a state want it, they can't enact it because it's too easy for people from neighboring states to free-ride on those services. The Commerce Clause is thus properly invoked for resolving that problem at the federal level.

<comment><USER8> > Precisely the same problem exists with state-level universal healthcare. > Even if most people in a state want it, they can't enact it because it's too > easy for people from neighboring states to free-ride on those services.

How so? If you are a resident, you get "free" care. If not, you get a bill. Is this not how Canada works WRT Americans who need to use the Canadian health system?

<comment><USER2> Say Arizona doesn't have universal healthcare, and California does. Someone gets cancer, so they move to California. Under the privileges and immunities clause, California generally cannot say "hey, you just moved here, so here is a bill." Consider also a company that doesn't like the extra taxes used to support universal healthcare. So they hop across the border to Arizona, and continue selling to California customers. California cannot, without violating the Commerce Clause, say "hey, you get the benefit of selling to healthy Californian consumers but you moved just to evade the tax that pays for it, so here is a tariff on your products."

The Constitution imposes an open market on commerce and movement within the United States. The Commerce Clause exists to give the federal government the power to address the economic issues that arise as a consequence of that.

</comment></comment></comment></comment></comment><comment><USER7> This post is confused. Employer-sponsored healthcare is excluded from both payroll and income taxation which makes it very attractive for employers to offer. The author doesn't understand how marginal tax rates work. Only incremental dollars are taxed at the higher rate so it's not like you hit some taxation cliff. If health "insurance" really was "insurance" it really would be a "bet". Instead, it's become more of a payment plan with an insurance component. "Real" insurance is now called "catastrophic insurance" and is dying in the US (I think Obamacare basically outlaws it).

<comment><USER9> Actually, high deductible health plans ($10k+ deductibles) are on the rise after Obamacare was passed.

<comment><USER7> Deductibles are part of it but coverage is the bigger element. What is typically referred to as "catastrophic insurance" is only available to people under 30 or with a "hardship exemption". Higher deductibles and higher coverage (i.e., higher premiums) are basically the worst of the worst situation.

</comment></comment></comment><comment><USER10> My dentist's office offers this. My work didn't offer dental coverage but the clinic itself offered "coverage" in the form of paying a flat fee and getting your cleanings and exams taken care of for the year (with discounts for other care). I was on that like white on rice: my money went directly to the dentist, no middleman taking their cut out of my paycheck, and my basic dental care was paid for.

<comment><USER11> If you don't mind me asking, how much did you pay for the "coverage"?

Did it offer any kind of discount for minor or major dental work (e.g., cavity removal, wisdom tooth removal)? Or was this covered by your health insurance?

</comment></comment><comment><USER12> What I don't get: why does the private sector have to be involved in insurance?

In my opinion, as the right to health care is a basic human right, the state should be responsible for providing its citizens with health care - and as all citizens are equal, so should the health care be.

Unfortunately, Germany isn't perfect either - privately insured patients get faster access to specialized MDs, they enjoy better quality of service (esp. dentals and glasses/eyewear) and the basic insurance (Gesetzliche Krankenkasse) is in fact a staggering number of distinct insurances, each of course carrying its own administrative bloat and its own deals with pharma companies. This may result in a doctor giving two identical receipts for medication - and because the two patients are insured at different companies, they get different generics with all the problems this causes (e.g. different colors of the pills, leading to lower stick-through rate because patients mistrust changes, or different composition leading to different absorption rate even though the medical compound is identical).

There's a shitload of money wasted in healthcare, not only in the US, and the poorest people (as always) have to suffer.

<comment><USER13> > the right to health care is a basic human right

Calling _healthcare_ a human right is implying that we have the right to take from others what we need, even if indirectly via the police-power of the state (i.e., threat of violence or actual violence if necessary). To take this further, it means we have the right to a portion of another citizens labor.

Now, don't get me wrong. Talking about what governments should provide their citizens as part of their _benefits package_ is important, but calling healthcare a right is a stretch. None of the rights on the UN or US Bill of Rights involve coercion towards other citizens to provide said _rights_.

<comment><USER14> Whenever someone says that some rivalrous resource is a 'basic human right', I have a hard time taking them seriously.

As I get older, I have mellowed a great deal, and I understand how smart people can reasonably disagree about a large number of things...but I honestly can't fathom how intelligent people can fail to grasp that you can't possibly have a 'right' to a finite, tangible resource which you yourself don't produce.

<comment><USER15> Healthcare is not a finite or tangible resource, it is a service provided by medical professionals. It isn't possible to run out of healthcare. It is possible to have a healthcare shortage, but as long as there is money to pay for running hospitals and training doctors, that won't happen. You might think that the amount of money it would take is impossibly large, but other nations provide free healthcare to 100% of their population for less money per person than we spend in the US already. If you disagree with the fundamental idea of taking money (taxes) from some people to pay for services used by others, than you may actually disagree with the entire concept of government.

<comment><USER14> Medical professionals and hospital rooms are absolutely finite resources. You can certainly build more, either by incentivizing their construction (capitalism) or have the state build them as part of some 5 year plan. Medical professionals are somewhat harder...we get them now by paying them handsomely...you could continue to do that, or conscript people into service. I'm not sure I'd want my heart surgeon to be a draftee..but ok.

How about donor organs? is there some infinite source of hearts and livers out there I'm unaware of?

Once you accept the fact that a given resource is rivalrous, you have to come up with some way to distribute it. Currently, that mechanism is money. If you get rid of that, then you have to replace it with _something_..whether it be algorithms, favor-economies, or central planning.

Now if you want to argue that insurance companies distort the market, then I probably agree with you (though I think there is room for interesting discussion here...). Certainly I think a single-payer solution is preferable to the current status quo, which mandates that individuals purchase insurance from private companies.

<comment><USER16> > Medical professionals are somewhat harder...we get them now by paying them > handsomely...you could continue to do that, or conscript people into > service. I'm not sure I'd want my heart surgeon to be a draftee..but ok.

You can also increase the supply by opening up medical schools and giving more students the chance to attempt to become doctors without needing 10s of thousands of dollars.

</comment></comment></comment></comment></comment></comment><comment><USER17> The problem you face with DPC is in the US you'd have to subscribe to 2-3 different healthcare providers, your GP, a hospital and perhaps another specialist (endocrinologist, cardiologist, etc.) Unless you have a DPC membership with a provider that supplies all of that. My GP has DPC, but I still have insurance from my employer that would cover any hospital visits.</comment>


Instagram to test hiding like counts in the US - <AUTHOR> https://techcrunch.com/2019/11/08/instagram-hide-likes-us/ <comment><USER2> I thought the headline meant Instagram was going to start lurking in dark spaces ready to suck your blood at night.

<comment><USER3> same. how do counts usually hide themselves?

</comment></comment><comment><USER4> One of the most convincing reasons I've heard for why certain social media sites succeed and fail have to do with how well they manage the balances between utility and status game (i.e. come for the tools, stay for the network). You tweet because you want likes/retweets. You post because you want likes/comments.

Even if you can see your own likes, removing visibility on others changes the nature of this dynamic. Half the reward for "scoring" a bunch of likes/upvotes/karma is that others see that you have scored a lot. What constitutes a "successful" post is all relative too. Effectively, Instagram is betting on the "utility" of sharing photos, which I'm not sure is all that strong. I've deleted my Instagram a while ago, but while I was using, it was clear that it was a highly comparative medium by nature.

A super interesting post on the nature of social networks here: [https://www.eugenewei.com/blog/2019/2/19/status-as-a- service](https://www.eugenewei.com/blog/2019/2/19/status-as-a-service)

<comment><USER5> I really wish Instagram had a proper "share" feature. The current state of sharing is these idiotic feature accounts stealing work from artists without paying them, reposting them with almost zero credit to the artist (they typically hide the artist credit under rows of single "." or "\---" so that the credits are pushed down beyond the "..." button), and Instagram promoting the feature account's post to peoples' discover pages instead of the original artist's post, resulting in tte artist getting very little exposure. It would be much better if it presented itself as:

Artist's name [Follow button]

reposted by (feature account name)

[picture]

<comment><USER6> You can already repost and it credits the original artist automatically like tumblr, this is available for posts and stories.

<comment><USER5> Didn't know there was such a feature, but most "influencer" feature accounts don't do that, they download and repost the image, and write captions designed to push credits to the bottom, like:

C o n g r a t u l a t i o n s,

YOU OWN THE NIGHT!!! AWESOME PICTURE! [clap] [clap] [clap]

.

.

.

\</comment></comment></comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-

photographer: @artist_username

And the problem? Instagram's ranking algorithm promotes _these_ idiots instead of @artist_username, and nobody ever sees who @artist_username is because it collapses the comment to the first 2 lines. It's really like a "congratulations but f-you", and I wish they'd crack down on this.

Artists often don't even get reach beyond their followers at all -- the influencer feature accounts fill up peoples' discover pages. Artists continue to fall for the feature accounts, trying to get featured for exposure (that they don't actually get).

It would be _much_ better if Instagram recognized good artist content and promoted it directly, avoiding this whole reposting nonsense. The easiest way would be

0\. See how the artist content does in their own personal follower network

1\. If it does well reaction/like-wise, increase the number of non-followers that see it that have similar hashtag interests

2\. If it continues to do well, continue to broaden the set of people that see it.

</comment><comment><USER7> I almost think the like counts being visible to the creator is also detrimental. When you post something you get that happy feeling seeing the like count of it, it makes you feel good and then you keep checking on it regularly which is a problem, and why I don't post anymore.

<comment><USER8> I wonder how the young adults who've grown up with this cope. If you're a standard issue 25 year old, Instagram and FB has probably been with you your whole life (the part where you meet people other than family), with likes and hearts replacing your feeling of self-worth...

<comment><USER9> I got an Instagram account in 8th grade after seeing pretty much every single one in my middle school already had one (which was 3-4 years ago).

I left 1-2 years into using it as I was realizing how detrimental it was to see so many people going into absurd lengths to obfuscate their very normal lives.

Lately I've heard people getting "business" accounts, which initially seems absurd, but it seems like _a lot_ of people are doing this to get more analytics about their accounts... which is very concerning.

Not sure how this will affect business accounts, but this will help some new people that come onto the platform initially I guess.

Do they still show following/follower counts? That should go next.

<comment><USER10> The main reason to hurt business accounts is to schedule posts and post from desktop IMO.

</comment></comment></comment></comment><comment><USER11> Weird that like counts fell when people couldn't see how many likes their were. I guess people are scared to be one of only a few likes? Or they want to be cool and like what everyone else likes? I'm the opposite, if something has 5000 likes, what's the point of adding more? They don't need my charity. I'll save my likes for the needy.

<comment><USER12> I suspect this is move to nudge the marketing dollars that go directly to influencers to reroute into FB's purse.

If you take away the primary signal for effectiveness, marketers are probably going to lose interest.

I doubt they'll hide likes from their users, though. It's essentially a neural network training free workers to optimize their posts so FB can get as much attention and dollars as possible. You stop the likes, you stop the training.

<comment><USER13> If you give marketers access to your account, and your account can see like counts, they'll still be able to measure the effectiveness.

This friction isn't probably worth it for a small-time influencer, but for the bigger players, the marketers will still spare the pain.

The ultimate impact is more advertising dollars collecting for bigger influencers, and smaller ones losing market share.

<comment><USER14> "Shop $url and use $code to receive $discount of your order," is pretty standard for those of us who are small time "influencers." They don't rely on our likes but on how much we actually increases their sales which they can see via our specific code. Likes do help us figure out what people might want to see.

</comment></comment></comment></comment><comment><USER15> They'd already taken steps to make it harder to see - it already says 'someone and others' instead of 'someone and 13 others'.

I immediately thought it was a glitch - or just an accidental poor UX.

If they got rid of like counts entirely I imagine people would start to leave the platform in hordes. I certainly wouldn't use it. I use my IG for promoting my music and need to know how well each post is doing.

It removes the value proposition from the platform for me if I can't tell how much people are engaging, or who. There's literally no point for me otherwise.

<comment><USER16> > I use my IG for promoting my music and need to know how well each post is > doing ... There's literally no point for me otherwise.

(assuming your comment wasn't sarcastic - maybe it was?)

I've never understood this. Shouldn't the metric for how well a promotional post performs be... actual sales (or at the very least, traffic to whatever you're promoting)?

Granted, likes might be a useful proxy metric for (roughly) gauging interest in something, but are you really making important business decisions based on a post's likes? What are you comparing those numbers to, and how do you know what they mean in terms of real business impact? How do you know people are responding to the product, and not just the model (or "influencer") you happened to use in your promotional image?

<comment><USER15> Some people just make music to share it and don't care about sales, you are aware of this? ;)

>> are you really making important business decisions based on a post's likes?

Yes and no, and only no because once again I don't care about 'selling' my music. There's no 'business decisions.'

For God's sake, my mixtape is FOSS on GitHub...like, the original project files. That's how little I care about sales.

It's very very easy to see what kinds of styles of music and singles people prefer over others, or what advertising techniques lead to more listens by analyzing who likes them. It's super logical.

<comment><USER17> > _It 's very very easy to see what kinds of styles of music and singles > people prefer over others, or what advertising techniques lead to more > listens by analyzing who likes them. It's super logical._

Sounds as though you're competing with an AI to make music for Instagrammers.

Which, now that I think about it, would make a cool short story.

</comment></comment></comment></comment><comment><USER18> Apparently, this is happening in Facebook as well.

I wonder how they are accounting for cultural ambiguity when it comes to Likes. In Philippines, most users click like on almost every post they scroll as kind of acknowledgement that they've seen it. Even in other places, many do this for comments when they have nothing to reply.

If removing 'Like' does improve quality of discourse, then it's great; but then again if improving quality of discourse was the motive they would have integrated the 'Dislike' button.

<comment><USER19> >users click like on almost every post they scroll as kind of acknowledgement that they've seen it

This is how my father in Indiana uses Facebook... haha

</comment></comment><comment><USER20> >"We will make decisions that hurt the business if they help people's well- being and health" says Instagram's CEO

Hmm, nah. This isn't a business decision any reasonable company would make on those grounds alone. It might be a part of it but I doubt it's the most important thing.

I think what they're seeing is people probably post more when the pressure of the total number of likes isn't something to take into consideration. It will become far less "curated perfect photos" and instead be more slices of everyone's life.

And when people post more, other people spend more time on the app because there is more content to consume, even when we roll our eyes as our buddy Chris posts the third photo of his toddler that day.

<comment><USER21> > It will become far less "curated perfect photos" and instead be more slices > of everyone's life.

It's just this, and for one simple reason:

This is snapchat's area of success, and Facebook is doing whatever it can to cut into it. Stories in _literally_ every app they own is as good an indication as any.

Disclosure: I'm speculatively long on snap

</comment></comment><comment><USER22> I am not sure that like counts mean anything anyway. If 10 people see a post that is 40% likeable and 40 people see a post that is 10% likeable, both will have the same like count. Since liking things is apparently what gets that thing in front of more people, all popularity ends up meaning is that the post had some early traction. It could be intrinsically likeable, it could be intrinsically engaging, or it could be a statistical anomaly.

I would be really interested to see what social media looked like if you could, say, only post once a day. Then there would be less need to filter things, and things would not be artificially put in front of you for you to like or dislike. You'd just have everything, but it would be manageable.

"Time on site" would probably decrease, though, so it will never happen. We need people to be on Instagram for 16 hours a day. It's crucial.

</comment><comment><USER23> Most of my interactions on Instagram are via stories, which don't have like counts. In fact, going through the feed has become a chore because I have to like almost all of the posts (from people I like at least, I usually don't bother with big accounts that already get tons of likes on every post). I'd rather not have to bother with all the double tapping. If I really, really like a post I can always leave a comment.

</comment><comment><USER24> One effect of hiding like counts is elevating feed position (which ig has more control over) as the primary indicator of social proof.

<comment><USER9> This brings up a good point:

If you remove likes, now Instagram can truly manipulate your feeds in any way they want (obviously if you want to scroll through how many people liked posts, that's one way to get around it, but very laborious).

</comment></comment><comment><USER25> All of the stats about likes from the third party focus only on influencer profiles — I wonder how removing like count has affected and will affect an average user's engagement.

</comment><comment><USER26> This is bs. The reason for this is they're squeezing the last ad $ out of their product. If as me you also had a bunch of 100K+ accounts (and a bunch of friends with them) you would have noticed a steady decline during the last year in likes. That's the same that FB does with each of their properties. they limit reach so you have to pay.

This is the definitive RIP on IG's organic reach. Between the ineffective reach, scummy ways to track clicks and views, misleading reach numbers, a great % of FB being bots and all this, I can't consider FB anything but a scam for advertisers/creators and cigarettes for users.

To see how to operate a network correctly look at Google with Youtube. The reach is pretty much always the same (15 years later, you still can go from 0 to millions without spending a $ or any kind of boost), and you get paid for every view, based on your kind of content while users aren't sucked into dopamine loops (except from the one provided by simply watching a video).

<comment><USER27> Have no idea what your point it. You're suggesting this is a backend change, meaning that Facebook is going to stop tracking like count, but all they are doing is hiding it in the app. Users can still see their own like count.

<comment><USER28> Less people will bother to like posts. Aka less organic reach. It has been demonstrated that a post with more likes is more likely to be liked. Advertisers buy fake likes just for that very same reason on their ads.

</comment></comment></comment><comment><USER29> Old versions of the app do not remove the like count.

</comment><comment><USER30> The number of comments gonna increase with thumbs up and hearth emojis :).

</comment><comment><USER31> Cease to show and you'll cease to envy</comment>


The Secret Number - <AUTHOR> http://www.strangehorizons.com/2000/20001120/secret_number.shtml

<comment><USER3> Strage Horizons is a fantastic speculative fiction publication. They're considered a professional market and pay their authors at professional rates. The archives are worth checking out. Clarkesworld is another similar publication and has won the Hugo award for best semi-pro zine two years in a row (<http://clarkesworldmagazine.com/>). If you enjoy this type of writing, support these places! They're run by small communities and often do quite a bit of independent publishing.

</comment><comment><USER4> Only bleem is not the secret integer between 3 an 4 but the smallest real number greater than zero. Yes, I know real analysis and all about supremum and coverings and epsilons and all the other ways to hide its existence. John Conway gets close in "On Numbers and Games" (there is some of the secret in non-standard analysis) but the conspiracy pushed him off into knot theory when he got too close... Still if you drop the real number line from (0,1) something has to hit the ground first. Bleem.

<comment><USER5> No, no, no. See, I think it's between 0.99999999_ (repeating) and 1. I mean, something has to go between the two, or people will think they're secretly the same number. But they're not. Numbers can't be Superman. They can't just change costumes in the blink of an eye. They should always look the _same_ , dammit.

Sure, you can multiply 1/3 (== 0.33333_) by 3 and make it look like they're the same, but there's really a tiny little epsilon of something that's getting zeroed out.

It's a conspiracy I tell you! They hide all the cool stuff with infinity and you can't see it any more, then it's like it never existed.

<comment><USER6> Hrm, I can't tell if you're joking, but the existence (or non-existence) of infinitesimals is an axiom:

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

It took thousands of years to accept that the parallel postulate might not be required, and lots of neat geometry emerged. Why not have number systems where infinitesimals are allowed?

<comment><USER7> > Why not have number systems where infinitesimals are allowed?

There are. A few of them, in fact. Look up the hyperreals.

<comment><USER6> Yep, exactly :). (Should have made it more clear that I was referring to other systems like surreals and hyperreals, but wasn't clear whether the parent was joking or not).

<comment><USER5> I think you might like this:

<http://www.cut-the-knot.org/WhatIs/Infinity/9999.shtml>

<comment><USER6> Thanks for the pointer! I enjoy discussions about .999... because it really makes us question what we mean about infinity (and assumptions about the reals).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Apparently it has been made into a film (12 minutes, mind you):

<http://secretnumber.colinlevy.com/>

<comment><USER9> Too bad the kickstarter project didn't offer a reward at a donation of $bleem.

<comment><USER10> Link to the kickstarter project, <http://kck.st/vvTBR9>

</comment></comment></comment><comment><USER11> That's a great short story. It reminds me of the movie Pi, in which a man obsessively searches for a secret number, to the point of debilitating paranoia. If you enjoyed this short story even slightly, then I highly recommend watching Pi.

<comment><USER12> Could Pi somehow actually be Bleem, hiding in plain sight all this time?

<comment><USER13> Pi is not an integer.

<comment><USER14> Or is it....

<comment><USER15> I've always thought about stuff like this; a numerals system based upon quantities appearing in nature. 3.1415... is silly. Make that 1 or 4, and see where everything else "fits", or something similar based on a universal constant as the base.

<comment><USER16> But, in your number system where π is 4, what is e?

More to the point, we aren't just making up numbers here to enjoy infinite decimal expansions; the reason is that you can wrap the radius of a circle around its circumference more than 3 times (or, if you don't like numerals, as many times as letters in 'pie'), but fewer than 4 (not as often as letters in 'easy')—and no changing of units is going to get around that.

</comment></comment></comment></comment></comment></comment><comment><USER10> Very cool short story. One of the lessons I got from it is that you should never consider somebody crazy for having a crazy idea. Some of our most brilliant scientists, mathematicians, entrepreneurs, etc have been called crazy fools for having radical ideas (That ended up being right). Our society needs radical thinkers to shake things up, and revolutionize the world. Next time somebody tells you about their own "bleem" just consider it, and don't throw them to the street as a heretic.

<comment><USER17> _Next time somebody tells you about their own "bleem" just consider it, and don't throw them to the street as a heretic._

Mathematicians are aware of bleem. It's what you get when you remove the induction axiom from Peano arithmetic: A number which is not in the set {0, 1, 2, ...}.

In general the higher up you go in academia the more open people are to "variant realities". Most of our analysis of curved space-time comes to us thanks to mathematicians who thought they were playing with entirely theoretical constructs ("what happens if we remove the parallel postulate?").

<comment><USER18> You actually do not have to remove any axioms from Peano arithmetic to prove that a model of PA with such a 'bleem' exists. It is a straightforward consequence of the compactness theorem: just enrich PA with a new constant c and an infinite series of axioms 'c != N' for every numeral N. For any finite set of these new axioms a model exists (just set c to a large enough number), therefore by the compactness theorem there exists a model which satisfies all our new axioms.

See also [http://en.wikipedia.org/wiki/Non- standard_model_of_arithmeti...](http://en.wikipedia.org/wiki/Non- standard_model_of_arithmetic)

<comment><USER17> Sorry, I should have been clearer -- I meant arithmetic with Peano's original axioms (i.e., with 2nd-order induction).

<comment><USER19> Except the number you get this way is not between 3 and 4. It's essentially infinite with no functions in the model that separate it from the finite numbers (and this can be proven in PA: if a number isn't 0..N, then it's greater than N).

Generally, I don't think it's fair to characterize this story as something studied by mathematicians. Really, it's an exercise in reasoning about nonsense.

<comment><USER17> Depends what your definition of < is. Some definitions leave unspecified what the relationship between two values not in {0, 1, 2, ...} is.

<comment><USER19> Inequality can be defined in Peano arithmetic in a total way. Maybe you're talking about defining some relation on the model? But what justifies calling such a relation an inequality?

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> The "applied" number theory reminds me of a couple other stories:

-the Laundry novels (Charlie Stross). Here's one novella: <http://www.goldengryphon.com/Stross-Concrete.html>

-Luminous/Dark Integers (Greg Egan).

<comment><USER20> Here's another great Laundry story: <http://www.tor.com/stories/2008/07/down- on-the-farm>

</comment></comment><comment><USER21> Greg Egan has written a couple of less-jokey stories that deal with a related idea (that is more plausible).

The first story is "Luminous" from 1995, but I don't have a link to a free copy.

The second is "Dark Integers" which you can find here: <http://www.asimovs.com/_issue_0805/DarkINtegers.shtml>

<comment><USER21> (Though here's a link to a synopsis of Luminous): [http://kasmana.people.cofc.edu/MATHFICT/mfview.php?callnumbe...](http://kasmana.people.cofc.edu/MATHFICT/mfview.php?callnumber=mf19)

</comment></comment><comment><USER22> I thought 137 was the secret number? Feynman, Heisenberg, Weisskopf and Pauli were intrigued by it.

<http://www.1377731.com/137/>

<comment><USER23>
        The current recommended value of α is 7.2973525698(24)×10−3 = 1/137.035999074(44).

<http://en.wikipedia.org/wiki/Fine-structure_constant>

</comment></comment><comment><USER24> This reminds me of a short story I read when I was a kid, where a guy discovered a shape with zero sides. I think at the end he made his boss disappear by folding him into the shape.

<comment><USER16> This story is in either "Fantasia Mathematica" or "The Mathematical Magpie", both edited by Clifton Fadiman. I don't have my copies here to check, but a look at the table of contents suggests that it might be "The Hermeneutical Doughnut", by H. Nearing Jr. (Even if it's not, it's worth picking up the books to look; anyone who liked this story is guaranteed to like them.)

EDIT: Sorry; on looking closer, it's clearly Gardner's "The No-Sided Professor" (<http://en.wikipedia.org/wiki/Fantasia_Mathematica>).

</comment></comment><comment><USER19> I prefer to read this as a parody of science fiction lacking internal consistency (e.g. most stories about time travel).

</comment><comment><USER25> Wow, that story captured me! I want more.

<comment><USER26> one of my favorite sci-fi short stories is The Nine Billion Names of God by Arthur C. Clarke

<http://downlode.org/Etext/nine_billion_names_of_god.html>

<comment><USER25> Thanks I saved both of these stories off after reading them. This story gave me the chills. I have NO idea how the author made me feel like the narrator.

I was absorbed with the story and I could feel the silence of my companion as he traveled behind me gazing at the disappearing stars.

<comment><USER27> Another classic short story that gave me chills is Isaac Asimov's _The Last Question_ (1956):

<http://www.multivax.com/last_question.html>

</comment></comment></comment></comment><comment><USER28> Anyone that liked that story should pick up a copy of Mathenauts - <USER2> anthology of Mathematics themed short stories put together by Rudy Rucker. Many of the stories have a similar feel to that one. You can find it on Amazon here: [http://www.amazon.com/Mathenauts-Mathematical-Wonder-Rudy- Ru...](http://www.amazon.com/Mathenauts-Mathematical-Wonder-Rudy- Rucker/dp/0877958904)

</comment><comment><USER29> I don't really get this...can someone explain (in 6 year old terms please) what the hell it actually means?

</comment><comment><USER30> This is great. It reminds me of Ted Chiang's short story _"Division By Zero"_.

</comment><comment><USER31> Reminds me a bit of something I wrote a few years ago: <https://md401.homelinux.net/fiction/sample%20%2327.html>

<comment><USER32> I read the story above and I did like it. It has a blend of math, insanity, and consciousness like the story in the main article.

A synopsis for others to decide if they want to read it: Chloe is a beautiful humanoid companion. Deliberately implanted in the programming of her mind is a minor reasoning defect. Whereas an ordinary person could live with it, and perhaps not even be aware of it, Chloe cries and has fits whenever she becomes aware of the flaw in her chain of thought. A psychologist is brought in to figure things out.

By the way, "Sample 27" is the title and not the 27th sample story from the author as I originally thought.

A suggestion to the author: You might want to either not use HTTPS or buy a certificate. I don't think it's a barrier to Hackernews readers but most people won't get past the browser's security exception box.

</comment></comment><comment><USER33> Who is more insane: a madman, or a sane man who invents a madman?

</comment><comment><USER34> This looks like a fun list too of math movies: <http://www.qedcat.com/moviemath/index.html>

</comment><comment><USER35> Bleem is three itself. Because three is more than an integer, or any number.

</comment><comment><USER36> As I was reading I imagined at the end Dr. Tomlin back home found the bag of jelly beans he emptied onto the table still in his pocket only he would find one jelly bean still in it.

</comment><comment><USER37> Bleem (in the story) = 3 + i?

</comment><comment><USER38> Nothing profound to add, just thanks for sharing!

</comment><comment><USER39> Professor Ersheim = John Titor.

<comment><USER40> +1</comment></comment>


Unix and the design of modern Linux systems - <AUTHOR> http://www.pappp.net/?p=969

<comment><USER2> The talk that datenwolf is talking about is on YouTube at <https://www.youtube.com/watch?v=ZTdUmlGxVo0>

I have posted that comment on the linked blog (it's awaiting moderation) without noticing that this post is several months old, so I've posted that same information here in case the author decides there's no reason approving a comment on a blog post that's several months old!</comment>


Occupy the Web Hackathon (in San Francisco this Weekend) - <AUTHOR> http://www.eventbrite.com/event/2325537746/efbnen

<comment><USER2> _"Thousands of people are saying that they've had enough of Wall St, DC, and an economy that only works for 1% of us."_

It seems a bit ironic that the economy is working just fine for many of the people that will attend this gathering, which will make the whole 1%/99% thing visibly inaccurate. "We are the seventy-something percent" doesn't have the same ring to it, though.

<comment><USER3> Inequality has hit a level that has been seen only once in the nation's history, and unemployment has reached a level that has been seen only once since the Great Depression. And, at the same time, corporate profits are at a record high.

I don't see how it's ironic to care about these problems even if we happen to have nice jobs

<comment><USER2> I said no such thing.

</comment></comment></comment><comment><USER3> Good stuff. I've been involved in Occupy Oakland which has been growing amazingly since Monday. They have a pretty savvy web and tech team, they got a donated generator yesterday to power all the equipment, they're setting up a livestream, they are currently running a Wordpress site that could use some sprucing up <http://www.occupyoakland.org> There are a ton of other ideas that could use volunteers. Anybody on this side of the bay with some time and skills should stop by, it's pretty easy to plug in, there's an info tent onsite, there is contact info at the website, and if you ask there's also an irc site. I would suggest getting in contact with them if possible, Occupy SF probably has similar needs.

As far as ideas I think there is a need for a trusted decentralized network for inter-city communication, occupations are sprouting up all over the world and communication would help with the spread of good ideas and coordination. Dave Weiner at scripting.org has been blogging about these types of things this week and is offering occupyweb.org subdomains for webapps.

<comment><USER4> Maybe Dave wiener can provide showers and common sense to some of the protesters. Wall Street isn't the problem -- the problem is the White House. These protesters love to scream about Wall Street all while tweeting about it on their computers that were built by companies that are traded on Wall Street. Many of the people that read HN are hoping to one day have an IPO -- all handled by those same banks that are supposedly 'bad.' Perhaps they should e protesting the Solyndra loans where billions was given to a company because they bribed the right people in the White House.

I support people's right to express their opinion, but when hypocrisy such as demonstrated by these protests reaches this level, I have to call bullsh#t.

I would much rather see a 'Smaller Government Tea Party Hackathon' or perhaps an Occupy the White House Hackathon. The problem isn't the banks it's the government. A government that feels like profits are something to be punished when in fact, profits are the reason innovation happens. No one is forced to have a Bank of America account, but all Americans are forced to pay for bad policies every day. Any time the SIEU is involved in a protest you know the motives are suspect.

<comment><USER5> Aren't you falling into the same trap? You claim it's all the governments fault. I say you're wrong: it's not all the White House's fault neither is it all Wall Street's fault. It's both.

(And it's irrelevant if the protesters "use computers" or "use banks". Should they write on parchment and exchange stone tokens with each other? No.)

</comment></comment></comment><comment><USER6> We invite you to join Hackmeet, a hacktivism unconference Oct. 15th and 16th at Noisebridge. Many folks who've been involved with #occupysf and #occupyoakland will be participating. More info: <https://hackmeet.org>

</comment><comment><USER7> I'd love to see the list of ideas they get.

<comment><USER8> We're going to work on making that really easy for anyone who's interested to see the ideas we come up with. Probably going to use google moderator to source ideas from occupations, and definitely using github for code that's created. We'll stick it up at occupyhack.com when it's ready (this is all being pulled together last minute)</comment></comment>


Samsung Announces TecTiles, Brings Programmable NFC Tags to the Masses - <AUTHOR> http://www.droid-life.com/2012/06/12/samsung-announces-tectiles-brings-programmable-nfc-tags-to-the-masses/

<comment><USER2> ... or you could get them here: <http://www.tagstand.com/> for a third of the price and use an app that ties in with the existing profile infrastructure like tasker.

<comment><AUTHOR> thanks. kul from Tagstand here. Submitted this to see what HN had to say. We've been working on NFC Task Launcher ([https://play.google.com/store/apps/details?id=com.jwsoft.nfc...](https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher)) for a while now, which is similar to this Samsung app.

<comment><USER3> This tool is great. I have an NFC sticker on my nightstand lamp now so when I trigger it, my ringer/notification volume goes to zero, alarm volume goes way up, and I set an alarm to wake up the following morning.

I used to be really sloppy at muting the phone at night and this cures that. My wife is a light sleeper and I can now make sure I am not waking her up at stupid o'clock in the morning when I get an email overnight.

I bought a bunch more tags from Tagstand and I am looking forward to finding more stuff to do with them.

</comment></comment></comment><comment><USER4> Simple use... two of these by the door would make my life easier.

Going out: turn off WiFi, turn on GPS, Bluetooth, turn up the ringer volume and screen brightness, etc.

Coming in: do the reverse.

Of course I can make it even easier with On{X} and trigger the same on detection of my home WiFi network (other than turning off WiFi of course)

<comment><USER5> When you lose the home Wifi signal, do the 'going out' actions (including turn off Wifi). When GPS tells you you're back home, do the 'coming in' actions (including Wifi back on). Seems even smoother than NFC touchpoints.

<comment><USER6> That requires running GPS a lot. Better to just look for certain sets of cell towers. Llama does this on Android already.

<comment><USER7> iOS does this with Location reminders. Not editing system settings, but you can geofence like this.

</comment></comment></comment></comment><comment><USER8> Its things like this that will hopefully continue the push of automation in general society. We as hackers have long seen the power in automation, but the general public sees a computer as something that is powerful, but adds complexity to their life. Apple does a great job at fighting this image that technology == complexity, and that's part of why they are successful, IMHO. I just can't wait until the real wave of automation hits the general market with force.

</comment><comment><USER9> Are these things rfid under another name? If so, what rfid tech do they use? I have an rfid tag implanted in my hand that I'd love to find a use for in this context :)

<comment> a-stjohn As I understand it, NFC is similar to RFID, but RFID provides one-way communication, while NFC provides two-way communication. Someone please correct me if I'm wrong.

</comment></comment><comment><USER10> How is this different from handing your unlocked phone to a stranger and telling them to have at it?

</comment><comment><USER11> The price ($3 each) is huge. Passive RFID tags usually cost less than $0.15.

</comment><comment><USER12> Doesn't ICS out-of-the-box support the majority of what this app is trying to accomplish?

<comment><USER13> Yeah, you could say that. Lots of the features are simply writing uris that trigger intents. That said, they're selling passive tags for $3 each. The user who buys that is likely not going to know how that placing a uri on a tag is easy and free...</comment></comment>


Show HN: KickPaper – Reliable football transfer news - <AUTHOR> https://kickpaper.com <comment><AUTHOR> Hi,

I made this little side project. not perfect yet, a little like techmeme but for football news (with a focus on transfers).

It aggregates articles from newspapers and blogs then groups them so you can focus on a core set of headlines. It ranks the articles in terms of importance and filters out the rumours with few or poor sources.

so now you can weed out the dodgy rumours - hope people find it useful :)

(uses StanfordNERTagger and scipy Hierarchical clustering in case anyone's interested)</comment>


Raspberry Pi's PIXEL Linux desktop now available for x86 PCs - <AUTHOR> http://arstechnica.co.uk/information-technology/2016/12/raspberry-pi-pixel-pc-download-details/ <comment><USER2> A customer in Singapore gave me a Raspberry Pi as a parting gift when I left for home, and I enjoy it immensely, including the Pixel desktop: minimal but all the functionality to run programs and work.

Off topic, but I wish the Raspberry Pi would be widely used in schools here in the USA. Having programming languages, Wolfram, etc. already installed and the neat gadget aspect of the Pi might encourage more kids to experiment with computers and not just play games. At least that would be my hope.

<comment><USER3> This x86 version of PIXEL doesn't include Wolfram Mathematica and Minecraft, btw.

 _You'll find all the applications you're used to, with the exception of Minecraft and Wolfram Mathematica (we don't have a licence to put those on any machine that's not a Raspberry Pi)._ [0]

[0][https://www.raspberrypi.org/blog/pixel-pc- mac/](https://www.raspberrypi.org/blog/pixel-pc-mac/)

</comment></comment><comment><USER4> Is there a reason they went with LXDE instead of LXQt?</comment>


Woman discovers Renaissance masterpiece in kitchen - <AUTHOR> https://www.theguardian.com/world/2019/sep/24/woman-discovers-renaissance-masterpiece-in-her-kitchen <comment><USER2> Ah man, you can see paintings like this in the Louvre, by the same artist[0]. If I saw something like this in my old heritage home, I'd be suspecting its extreme rarity/value immediately!

[0] [https://www.flickr.com/photos/wallyg/1486362947](https://www.flickr.com/photos/wallyg/1486362947)

<comment><USER3> I think the grime makes it easy to miss.

</comment></comment><comment><USER4> "Proto-Renaissance" (13th-century), not "Renaissance".

</comment><comment><USER5> If I wasn't aware of it's market value, I wouldn't pay $25 for it. Beauty is in the eye of the beholder and status seeker.

<comment><USER6> You wouldn't pay $25 for a clearly well executed 13th Century painting by the artist who taught Giotto, _unless_ you knew other people would pay more?

That comment isn't painting you in as good a light¹ as you might think.

¹Hah!</comment></comment>


Ask HN: What are the SecOps-related tasks that you wish to automate? - <AUTHOR> Hi!
We're working on early version of SecOps automation software (think Zapier for security) and we're looking for good use cases that many people struggle with and hopefully we can help with.
Also, feel free to ping me at firstname.lastname@example.com! I'll be happy to have some casual chat with you about your work.
Thanks! mm <comment><USER2> You mean a SOAR system? like Demisto, Swimlane etc?</comment>