Show HN: Pay-per-minute video/audio calls with WebRTC - <AUTHOR> https://eagledial.com/ <comment><USER2> I was interested in your service and decided to create an account. I stopped when I read your "Terms of Service" and noticed this provision:

4\. EXCLUSIVE USE OF FLIFFR 4.1 For clients acquired through EagleDial, Provider agrees to exclusively use EagleDial and the Platform for live services. When providing live services, Provider agrees to solely use EagleDial. Provider may not use EagleDial with the objective of recruiting new clients for physical or telephone meetings.

Who/What is 'FLIFFR'? Why do I need to use your services exclusively? :|

<comment><USER2> There's a typo on the buyer facing signup form: 'Agree to the Terms of Servie'.

Are there any plans to 'whitelabel' or offer a method of integration aside from requiring buyer to visit your site?

<comment><AUTHOR> Yes, actually that's something we are working on, we've nothing the web page yet since the offering isn't set in stone. But anyone interested in a whitelabel can contact me at email@example.com

</comment></comment></comment><comment><USER3> I'm not 100% sure but do you have to support the connection? If the call goes from one peer to the other and never touches your server why is there a fee per minute?

<comment><USER4> It sounds like the _recipient_ charges callers per minute, and the service takes a 20% commission.

<comment><AUTHOR> Yes, that's right.

<comment><USER5> So 20% commission to basically provide billing?

The company I work for charges a 6% "service fee" to run credit cards for me and that's at the high end of reasonable. Though they also will cancel your contract if you use something like square but I think that's mostly for the customers' benefit so they don't have to worry about dodgy charges and not because they really want the 6%.

All in all they usually get a lot more than 20% of my gross income (unless I have a _really_ good day) but they provide almost everything I need to do my job.

<comment><AUTHOR> It all depends on what you're comparing against. For you I can imagine that we'd be a bad fit. We're actually going after those that now operate premium- rate numbers. They usually pay a lot more than 20% to their providers (it's difficult to say exactly since they have very complex pricing schemes).

You're business has to be centered around charging for calls in order for EagleDial to make sense. But for those use cases we believe we provide a lot of value.

edit: I'd be happy to hear more about what you do, and how we can improve EagleDial. Please send me an email on email@example.com if you're interested in talking more.

</comment></comment></comment></comment></comment><comment><USER6> FWIW I'd love to see the UI from the buyer (callers) side even if it's just screenshots.

<comment><USER7> +1. I immediately wonder what the experience is like for my customers. Do they have to enter credit card data before they can call me? That sounds like a hurdle I don't always want to put in front of them.

<comment><AUTHOR> Thank you for the feedback. Right now they have to enter credit card details before calling.

<comment><USER8> Every time?

<comment><AUTHOR> Customers have the option of saving their credit card details.

</comment></comment></comment></comment></comment><comment><USER9> what is the business model here? Sorry, I am confused here and website is not explaining it correctly.

I dont see what kind of "premium numbers" are available. Why would someone pay to talk to me?

would the caller have to register and provide CC number?

Is this call-back model which was used few years back on some website where some voice companies would offer call-back option from website (I think it used java that time) and it would cost per minute.

<comment><USER10> Webcam/Phone sex?

</comment></comment><comment><USER11> What are the business cases for needing this sort of service, i.e., who are your customers likely to be? Who are you selling to that need t to charge their customers for calling them?

<comment><AUTHOR> Our goal is to replace the premium-rate phone number. So tech support, therapists, coaches, astrology and tarot stuff etc.

</comment></comment><comment><AUTHOR> Hi, co-founder of EagleDial here. This is the first version of our MVP, so if you have any feedback we'd really appreciate it.

<comment><USER12> I can enter "pricing" and "contact" and get to at least the next step. I haven't tried _actually_ registering them. You should probably ban such things, maybe some others you'd like to reserve too.

I haven't tried circumventing the client-side restrictions on which characters are allowed at all, but the content shown at pages like [https://eagledial.com/robots.txt](https://eagledial.com/robots.txt) makes me wonder. I don't imagine it lets me put just _anything_ into the page, so it's _probably_ not an attack vector (e.g. being able to register .well-known/acme- challenge things and get a TLS certificate for the domain, or convincing Google that you own the site via a site verification page at /google*.html), but something to think about and be careful of.

All of your "Follow Us" links have an empty href.

Angular favicon.ico.

<comment><AUTHOR> Yes, that's good feedback, thank you. As you noted we don't ban any names. It sounds like a good idea to block "special names".

<comment><USER13> [https://github.com/shouldbee/reserved- usernames](https://github.com/shouldbee/reserved-usernames) is a list that could be a good starting point

<comment><USER14> Interesting resource. I was surprised to see "m" as the only single-letter reserved name. Would've guessed at least "v" as well.

<comment><USER15> Why 'm' and 'v' ?

<comment><USER16> For services that put the username as a sub domain

m.example.com looks like a mobile URL for main site

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Interesting business idea, I would like to give it a try but I honestly was expecting screenshots or some short gif/video on how it works (instead of the pink icons with their descriptions). Also, I assume it could be useful for consultants and such but maybe you could actually suggest some use cases so people realize quicker why/how it could benefit them business-wise. I found the concept interesting because I know the tech but my friends and relatives would not understand the lingo at a first glance.

<comment><AUTHOR> Thanks for the feedback, you make good points. We'll make sure to incorporate it in our next version.

</comment></comment><comment><USER17> Congratulations, it looks like you've built something really awesome! Going with WebRTC and peer-to-peer should save you a ton of money. Since your service works 24/7, your service seems a lot better than Clarity.fm, and your revenue cut is quite reasonable. I hate to nitpick, but you've got a typo on your home page at "receive you earnings". Best of luck!... It looks like you're going to be a big success.

<comment><AUTHOR> Thanks for your kind words, and for the feedback :)

</comment></comment><comment><USER18> It says the calls are end to end encrypted but I thought WebRTC do not have E2E encryption. I would gladly see some technical details there.

<comment><AUTHOR> We'll do a write-up on the website in the future. In short the calls are encrypted between browsers. We do not have a PKI so we can not client-side check for MITM attacks, but of course we authenticate clients server-side. So, calls are encrypted end-to-end but also places faith in that our infrastructure is not compromised.

<comment><USER18> I'm mostly interested in whether it's only signaling that's E2E encrypted or audio/video peer to peer streams between the browsers.

</comment></comment></comment><comment><USER19> Cool! Small nitpicks: the link that's shown to you after you create a link doesn't work; it refers to eaglelink.com instead of eagledial.com. Also, perhaps you could make the error messages (e.g. "That link is already registered") red? I didn't notice them at first.

<comment><AUTHOR> Thank you for the feedback :)

</comment></comment><comment><USER20> Amazing idea. On Chrome Android the extended virtual keyboard seems to mess up the layout. You can test this in development in chrome desktop in the dev console's mobile view.

Also, clicking 'next step' doesn't seem to work for me. Good luck!

<comment><AUTHOR> Thanks, I'll take a look at it!

Edit: Next step works now

</comment></comment><comment><USER21> Is WebRTC usable in iOS Safari with 2-way audio? Both playing and recording caused certain distortions, probably related to the audio sample rate.

</comment><comment><USER22> The linked page (the lander) is kind of a mess on mobile, overlapping text and general chaos.

</comment><comment><USER23> "All Rights Reselved" in the footer.

<comment><AUTHOR> Thanks :)</comment></comment>


Elementary Knightship found in Conway's Game of Life - <AUTHOR> http://www.conwaylife.com/forums/viewtopic.php?t=3303 <comment><USER2> Context: a knightship is a glider (a structure that translates itself across the Life grid periodically) which moves 2 horizontal units for each 1 vertical unit (or vice-versa if rotated). This is in contrast to e.g. the most popular 3x3 glider which moves diagonally (1 for 1). A knightship is a type of oblique glider - one that doesn't move orthogonally (only horizontal/vertical) or 45º diagonally.

What makes this an _elementary_ knightship is that it isn't built out of smaller discrete components, unlike (for example) the oblique glider Waterbear ([http://conwaylife.com/wiki/Waterbear](http://conwaylife.com/wiki/Waterbear)). It's the first elementary oblique glider discovered.

It also happens to move exactly 2 vertical units for each 1 horizontal unit of motion, and carries this out in 6 time-steps (the theoretical minimum). Thus, in some sense it has the simplest movement of any possible knightship.

<comment><USER3> I find Game of Life utterly fascinating. Every time I read about it, I find myself wanting to understand more of the memephere surrounding it. One question that arises in me here:

> What makes this an elementary knightship is that it isn't built out of > smaller discrete components

How is that determined?

In other words, can't you take small components, smash them together to get a bigger thing, and then pass it off as elementary?

Don't we need to "reverse the hash function" to determine if it's possible to make Sir Robin (that's what thing thing is going to be called) out of smaller things?

Or is it possible to prove for a given larger object that it can't possibly be the result of smaller things combining?

<comment><USER4> _"Or is it possible to prove for a given larger object that it can 't possibly be the result of smaller things combining?"_

For some, that is possible. Trivial examples are objects of zero, one, or two pixels; less trivial are gardens of Eden ([http://conwaylife.com/w/index.php?title=Garden_of_eden](http://conwaylife.com/w/index.php?title=Garden_of_eden))

However, I don't think "elementary" is synonymous with "can't possibly be the result of smaller things combining". [http://conwaylife.com/wiki/Elementary](http://conwaylife.com/wiki/Elementary) defines it as

 _"A pattern is said to be elementary if it is not reducible to a combination of smaller parts."_

If one takes two gardens of eden and place them far enough apart, the result is a new garden of Eden that "can't possibly be the result of smaller things combining" (even stronger: it can't possibly be the result of anything), but it is reducible to smaller parts.

I don't think there is a formal definition of 'elementary' that everybody can agree on. In the limit, only patterns of a single cell are elementary.

<comment><USER5> The "elementary" vs. "engineered" distinction might be clearer with an example of an engineered spaceship, like one of the Corderships: [http://conwaylife.com/wiki/13-engine_Cordership](http://conwaylife.com/wiki/13-engine_Cordership) .

Inside the 13-engine Cordership are thirteen switch engines, each of which moves at a twelfth of the speed of light, but leaves junk behind. The thirteen pieces basically collaborate on cleaning up each other's junk to make a clean spaceship.

It's very difficult to prove that a large elementary spaceship can't possibly be created by crashing gliders together (for example). Several elementary spaceships do in fact have known glider constructions, but that doesn't stop them from being elementary -- you can't pick those spaceships back apart into their constitutent gliders once they're constructed, and often they're traveling a totally different speed and direction than a glider anyway.

<comment><USER4> I understand that, but those are the easy ones, and I think they are the exception, when looking at all possible spaceships, rather than the spaceships we know of.

A definition for 'elementary' that I think is closest to intuition is that 'elements' are connected (for some definition of connected) subsets of a pattern do not touch other parts of the pattern and that would survive individually in isolation.

Problems with that definition are that, after cutting of the obvious elements, you may be left with stuff. Using the term 'elementary' implies that that stuff either must be elementary, or be built of other elements. The former is the easiest way out, but (as an extreme example) the resulting element might be a garden of Eden with a billion cells that, in isolation, would die out. Would you really want to call such a monster an element?

Also, if a pattern of <50 cells can be constructed from a few dozen carefully placed small 'obvious elementary' parts, less than 100 or so time units in the past, I think many would agree the pattern's elements are those parts.

Problem 1: AFAIK, it is an open problem to decide whether such a set of items exists for a given pattern.

Problem 2: that set may not be unique, and there may not even be a unique smallest (for whatever definition chosen) one in the set of solutions.

Problem 3: if the smallest such set is way, way larger than the pattern it constructs, and must be constructed way, way in the past, do you still consider the pattern to be constructed from those many, many elementary parts?

<comment><USER5> Yeah, Problem 1 definitely is a (very difficult) open problem, not likely to be solved any time soon.

Problem 2 just looks to me like a known fact, not really a problem... and Problem 3 is only a problem if you don't accept the standard definition of "elementary", and/or if you worry too much about leftover pieces.

As soon as you can see two separate pieces inside a larger spaceship, and each of the pieces in isolation would travel at the same speed as that larger spaceship, then that larger spaceship is _not_ an elementary spaceship.

Once you take out the recognizable pieces, there may well be sparks and other junk left over. But they might just be side effects of the interaction of the recognizable pieces, not anything that can function independently. There are way too many such fading sparks and such for each one to deserve its own name.

Minor side note -- no spaceship of any size will ever contain a Garden of Eden, because every spaceship by definition has at least one predecessor (itself).

</comment></comment></comment></comment></comment></comment><comment><USER6> Here it is for anyone interested (click the image)

[http://catagolue.appspot.com/object/xq6_yyocxukcy6gocs20h0a3...](http://catagolue.appspot.com/object/xq6_yyocxukcy6gocs20h0a38bac2qq73uszyjo4w8y0e4mo0vu0o606s6444u08clav0h03g440qq1333333x11zy9ecec2ik032i210sw3f0hy011w70401011033547442zy0emj896he1e1kif6q2gc50ew9qb30dzgo403gg066m32w11z34407q441n6zy311/b3s23)

<comment><USER7> Click the text "Show In Viewer" above to code snippet in the OP to watch it working.

<comment><USER8> I don't see "Show In Viewer", do I need an account?

Edit: Not the same page, but you can find an animation of it here: [http://conwaylife.com/wiki/282P6H2V1](http://conwaylife.com/wiki/282P6H2V1)

<comment><USER7> Perhaps you have JS disabled? It opens an interactive widget.

</comment></comment></comment></comment><comment><USER9> From the comments in the link:

      FlameandFury » March 6th, 2018, 11:52 pm

      I don't know when people started seriously searching for
      knightships, but this is the first elementary spaceship to
      have a new slope in 48 years. As well, it's been 14 years
      since the almost-knightship was discovered. Congrats!

Its a long time coming! Congrats!

</comment><comment><USER10> It's not often that I find a post that, after reading it, I have absolutely no understanding of what I just read.

Usually I have at least some very basic knowledge of the topic at hand.

I guess I should start by reading up on Conway's Game of Life...

<comment><USER11> Conway's Game of Life is probably interesting to most people here because it's a programming / mathy thing. And it's very worth exploring that angle.

However it's also worth noting what it is in far more general terms. It's a system with very simple rules (only 4) that can produce very complex looking behavior. And then you could ask yourself where else you might find similar systems.

The highly influential composer Steve Reich experimented with this idea in some of his earlist compositions. "It's Gonna Rain" was simply two tape recorders "perfectly" synced to play the same recorded loop. Of course they fell out of time and the resulting piece is pretty complex when you consider the source system is so simple.

Brian Eno in turn was influenced by this, is also a fan of Life, and has used and spoken often about very simple musical systems that produce very complex sounds or songs.

The idea in general is more far reaching than one might guess by looking at the game, and is worth becoming familiar with.

<comment><USER12> Quantifying the complexity of the GoL ruleset is slightly more complicated than enumerating the rules, I would imagine.

<comment><USER13> Certainly more complicated, but we do know the answer. It's Turing-complete.

[http://rendell-attic.org/gol/tm.htm](http://rendell-attic.org/gol/tm.htm)

</comment></comment></comment></comment><comment><AUTHOR> The first elementary non-orthogonal, non-diagonal glider has been found.

Small (as of now) summary on the Life wiki:

[http://conwaylife.com/wiki/282P6H2V1](http://conwaylife.com/wiki/282P6H2V1)

<comment><USER14> What does "elementary" mean in this context?

<comment><AUTHOR> tantalor is correct. If you look on the knightship[0] page links a non- elementary ship: the Waterbear[1][2]. It is essentially a circuit built out of gliders, rather than a compact mass.

[0] [http://conwaylife.com/wiki/Knightship](http://conwaylife.com/wiki/Knightship)

[1] [http://conwaylife.com/wiki/Waterbear](http://conwaylife.com/wiki/Waterbear)

[2] [https://www.youtube.com/watch?v=on3ZLLKQp-4](https://www.youtube.com/watch?v=on3ZLLKQp-4)

<comment><USER15> That waterbear looks very complex. How did they ever manage to find it?

<comment><USER16> Its software built up from useful abstract blocks. Small parts like generators, gliders and eaters are used to build an information storage tape, and a tape fed universal constructor.

From there it's the "simple" process of designing a tape and constructor setup that will build a copy of itself at a certain offset, and delete itself upon completion.

<comment><USER5> The part above about "tape and constructor" is exactly right for the self- constructing Gemini spaceship and its descendants. But it's not quite right for the waterbear. There's no universal constructor in the waterbear, or in its relatives the Centipede and the original Caterpillar.

Large parts of these macro-spaceships never get constructed or destroyed, they just travel along a support structure. That support structure is the only thing that gets constructed, and the construction recipe is encoded not in a simple "tape" glider stream but in the entire body of the spaceship.

Self-supporting spaceships like the waterbear are built with a very limited "toolkit" that only works at one particular speed. In general they're harder to put together successfully, and thus in a way are more impressive than self- constructing spaceships. Once you have a universal constructor, after all, you can build anything that's buildable. The trick is figuring out how to get along without that much power.

</comment></comment></comment></comment></comment></comment><comment><USER17> That is a pretty amazing result. I enjoy reading the life forum as it has an entire set of nomenclature and vernacular that allow experienced users/explorers/researchers communicate really complex interactions in a concise an unambiguous way. It really drives home the depth of the rabbit hole from something that started so simply and elegantly in the 70's.

<comment><USER18> So it's deep rabbit holes full of precise arcane nomenclature and vernacular that you like huh? ;) Are you ready to have your mind blown? Don't click this link unless you're sitting down and have a lot of time:

[http://lazyslug.no- ip.biz/lifeview/plugin/lexicon/lexlv.html](http://lazyslug.no- ip.biz/lifeview/plugin/lexicon/lexlv.html)

Marvin the Paranoid Android: "Life! Don't talk to me about life!" ... "Making it up?" said Marvin, swiveling his head in a parody of astonishment, "Why should I want to make anything up? Life's bad enough as it is without wanting to invent any more of it."

</comment></comment><comment><USER19>
      x = 31, y = 79, rule = B3/S23
      4b2o$4bo2bo$4bo3bo$6b3o$2b2o6b4o$2bob2o4b4o$bo4bo6b3o$2b4o4b2o3bo$o9b
      2o$bo3bo$6b3o2b2o2bo$2b2o7bo4bo$13bob2o$10b2o6bo$11b2ob3obo$10b2o3bo2b
      o$10bobo2b2o$10bo2bobobo$10b3o6bo$11bobobo3bo$14b2obobo$11bo6b3o2$11bo
      9bo$11bo3bo6bo$12bo5b5o$12b3o$16b2o$13b3o2bo$11bob3obo$10bo3bo2bo$11bo
      4b2ob3o$13b4obo4b2o$13bob4o4b2o$19bo$20bo2b2o$20b2o$21b5o$25b2o$19b3o
      6bo$20bobo3bobo$19bo3bo3bo$19bo3b2o$18bo6bob3o$19b2o3bo3b2o$20b4o2bo2b
      o$22b2o3bo$21bo$21b2obo$20bo$19b5o$19bo4bo$18b3ob3o$18bob5o$18bo$20bo$
      16bo4b4o$20b4ob2o$17b3o4bo$24bobo$28bo$24bo2b2o$25b3o$22b2o$21b3o5bo$
      24b2o2bobo$21bo2b3obobo$22b2obo2bo$24bobo2b2o$26b2o$22b3o4bo$22b3o4bo$
      23b2o3b3o$24b2ob2o$25b2o$25bo2$24b2o$26bo!

Could someone please kindly explain what all this means?

<comment><USER20> Right above the code, click "Show in Viewer". It'll bring up a player. Click the play button and adjust speed to your liking.

<comment><USER19> Cheers.

I still don't get it, but at least I got visuals now :)

</comment></comment></comment><comment><USER21> Here's an idea that I once had about how to visually determine if a program terminates or not:

Convert a program to a Game of Life equivalent program. Observe if there are any run-away gliders. If there are, the original program doesn't terminate.

<comment><USER22> This may be a more general form of what you're describing: look for small parts of programs (which re-appear often in many programs) which are proven to never terminate; if any of those simple non-executing subprograms are found, the larger program also will never terminate.

<comment><USER23> This is a valid method of deciding whether a program hangs. Another very simple approach is searching for global state recurrences (if your program goes back to exact same state at least once, and it is deterministic, then it never halts).

Note this has no bearing on the Halting problem though (famously proven impossible). You cannot decide whether an arbitrary very complicated program halts -- it may do all sorts of weird stuff that doesn't involve any of the previous behavior (having necessary subfunctions never terminate or global recurrence) -- it could try counting up to infinity until a certain complicated binary function of the number is true, then you have to decide the truthiness of this arbitrary function. In general you face a self-referential problem: imagine you try deciding whether a program of size N halts if it runs for too long. You'd need a program (say of size K) that produces a function f(N) of maximum running time for programs of size up to N -- then you could just check whether a program runs for more than f(N) steps. But by definition your program cannot run for more than f(K) steps, thus it cannot output a number greater than 2^(f(K)). Thus your program can only decide finitely many instances, and is not an algorithm (instead it is a sort of compressed look up table).

The proof of the Halting problem undecidability is more general, but uses similar self-referential arguments.

I like to think of it this way: an algorithm is really a compressor function. It compressed an infinite set of (input->output) relations into a finite program. But some infinite sets are inherently incompressible -- think a string of random numbers -- and in particular the set of all programs. Incompressible (actually finitely compressible) sets must exist because otherwise you would have infinitely many different sets that are output of finitely many programs, which is obviously impossible (this is the pigeonhole principle).

<comment><USER24> I like the idea behind your compression analogy, but it doesn't quite work. In particular, you assume the solution when saying that the set of all programs is incompressible. Indeed, there are programs which operate on the set of all programs, e.g. trivially "is the first bit of the program a 1".

I think you're correctly proving that non-computable functions exist (though the proof needs to mention countable vs uncountable infinities I think, based on a power set over the input/output set), but you still need some sort of self referential statement to prove the halting problem.

<comment><USER23> Oh yea my bad, I meant the set of all halting functions (which is (program->halts)) -- those are incompressible (again actually finitely compressible). The set of all programs can be trivially enumerated depending on the Turing machine (it's usually just a form of the set of binary natural numbers).

Note I did not prove incompressibility, only that there exist some incompressible functions; indeed there are as many functions as there are real numbers (in cardinality), so almost every function is incompressible! (imagine all different strings of random bits) For the halting function I believe the proof is a little involved and can be found on the book "Elements of Information Theory".

I find wikipedia's proof ([https://en.wikipedia.org/wiki/Halting_problem#Proof_concept](https://en.wikipedia.org/wiki/Halting_problem#Proof_concept)) not quite illuminating though, since it is a basic proof by contradiction. Those tend to leave you wondering if you cannot replace the halting function halt(x) with a self-reference-free function halt_noself(x). Compressibility give a wider intuition that sure, there are special subsets of the halting function (program->halts) that are compressible, but in general it will be incompressible, and therefore a program will only be able to decide finitely many sequential programs -- and this table can only be done by a "luck-based" search: you test the programs to see if they halt. The ones that do not halt in any reasonable amount of time, you may try searching the space of _proofs_ that it doesn't halt. This search is again undecidable, because at some point there will be a program which doesn't halt but that you cannot prove.

So in some ways the best you can do is grow the list with holes such as "program 1 halts, program 2 does not halt (proof), ...., program k-1 halts, program k ???, program k+1 halts, ..." \-- you may never be able to fill any particular hole. You can also build a set of heuristics to accelerate both the simulation of the programs (to show they halt) and the evaluation of proofs (to show they do not halt).

This is essentially the process by which we do mathematics, or even computer science :) We use a growing set of heuristics to prove statements we deem "interesting" or "useful", and sometimes simple statements will come up (such as Collatz conjecture, Goldbach's, Twin primes, Riemman hypothesis, ...) that we cannot prove and we do not know if we will ever be able to.

</comment></comment></comment></comment></comment><comment><USER25> I love the name Sir Robin, but to me it looks like there is the profile of a cat at the top:

[http://www.conwaylife.com/wiki/Knightship](http://www.conwaylife.com/wiki/Knightship)

</comment><comment><USER26> Sort of a tangent, but I'd be curious to know what sort of recent advances there have been in the study or applications of cellular automata. It's been awhile since I picked up Wolfram's "A new kind of science"

</comment><comment><USER27> How hard would it be to create a gun that produced this new knightship and is that something the community would be interested in doing?

I could imagine it being trivially easy or mind-blowingly hard and have no intuition on what's more likely :)

<comment><USER5> Everyone would be completely floored if someone built a gun for the new knightship. It's likely to be several orders of magnitude harder to find a glider synthesis for the knightship, than it was to find the knightship itself.

To build some intuition on the difficulty, check out the list of spaceships for which a glider synthesis is known: [http://conwaylife.com/wiki/Glider_synthesis#Spaceship_synthe...](http://conwaylife.com/wiki/Glider_synthesis#Spaceship_syntheses) .

Except for the macro-spaceships (some of which are pretty trivial to construct because they're self-constructing anyway!) and the Corderships, which aren't elementary and are made out of easily constructible pieces, the biggest spaceships with known constructions are all far smaller than Sir Robin, and most of them are lower period.

Every time you add a few cells to the size of an active pattern like this, you probably double the total difficulty.

"The task of constructing such a spaceship has been likened to building a Formula-1 race car whilst it's on the track and travelling at 200mph." ( [http://www.conwaylife.com/forums/viewtopic.php?f=&p=55205#p5...](http://www.conwaylife.com/forums/viewtopic.php?f=&p=55205#p55205) )

<comment><USER18> The Universal Constructor [1] running in John von Neumann's 29 state cellular automata [2] is able to construct passive configurations that aren't "powered up" with excited states in them (encoding information and synchronizing activities).

Once it's done building a machine (like a copy of itself, or anything else), it can connect its construction arm up to the "umbilical" plug of the child (like a usb port for downloading data into its storage loop), switch from "execute instructions" mode to "copy instructions" mode, and loop through its own instructions again, injecting a copy of its program into the child's storage loop, which the child can then start executing and eventually pass on to its own child.

It would be impossible to construct a "powered up" machine -- the signals would leak out into the world from the partially constructed machine and cause havoc. So you have to build a passive machine in the "powered down" state, then activate it by injecting a signal and (possibly) downloading instructions.

There are certain unconstructible "garden of eden" configurations (like a real-time crossing gate that looks and acts like an intersection with synchronized stop lights [3, p. 468, fig 3]) that are possible for God to build with a cell editor, but are impossible for a universal constructor to construct, because there is no practical way to inject and synchronize the signals into the machine after it's constructed [4].

But there are constructible "auto initializing" machines [3, p. 474, fig. 17] with one-time initialization circuits that trigger once then deactivate by firing "explosive bolts" when you power them up, bootstrapping all the internal synchronized signals necessary for the machine to operate. But of course they tend to be larger and more complicated than equivalent unconstructible machines.

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

>As defined by von Neumann, universal construction entails the construction of passive configurations, only. As such, the concept of universal construction constituted nothing more than a literary (or, in this case, mathematical) device. It facilitated other proof, such as that a machine well constructed may engage in self-replication, while universal construction itself was simply assumed over a most minimal case. Universal construction under this standard is trivial. Hence, while all the configurations given here can construct any passive configuration, none can construct the real-time crossing organ devised by Gorman.

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

[3] [http://uncomp.uwe.ac.uk/free- books/automata2008reducedsize.p...](http://uncomp.uwe.ac.uk/free- books/automata2008reducedsize.pdf)

Buckley, William R. (2008), "Signal Crossing Solutions in von Neumann Self- replicating Cellular Automata", in Andrew Adamatzky; Ramon Alonso-Sanz; Anna Lawniczak; Genaro Juarez Martinez; Kenichi Morita; Thomas Worsch, Proc. Automata 2008 (PDF), Luniver Press, pp. 453–503

[4] [http://www.molecularassembler.com/KSRM/2.1.4.htm](http://www.molecularassembler.com/KSRM/2.1.4.htm)

>2.1.4 Limitations of von Neumann's Cellular Automaton Model

>For instance, one might wish to introduce a new primitive cell state in the system to permit signals to cross without interference. A "wire-crossing" organ can be devised using only the original von Neumann primitive cell types, but this introduces an unnecessary complexity into the machine design process since the organ contains initially active cell states whose creation involves considerable extra care to avoid the propagation of spurious signals. This extra care is especially critical because the cell system, as von Neumann originally constituted it, is highly susceptible to signal errors. (He undoubtedly intended his probabilistic machine model to mitigate this sensitivity and fragility.)

<comment><USER18> Here's another cool self replicating machine with moveable parts that uses some of the same principles:

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

Self Replication #2

>A simulation of a self replicating programmable constructor in a two dimensional discrete space supporting about two dozen different types of component part. The machine can create new parts out of nothing as it needs them. See www.srm.org.uk for more details.

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

Self Replication #3

>A simulation of a self-replicating programmable constructing machine in a simulation environment that supports moveable parts. The machine obtains parts from its environment and uses them to make a duplicate machine. Visit www.srm.org.uk for more information.

[http://www.srm.org.uk](http://www.srm.org.uk)

>Self-Replicating Machines: Will Stevens. This site is about work related to self-replicating machines that I carried out for my PhD thesis with the Department of Physics and Astronomy at the Open University in the UK between 2004 and 2009. I am interested in physically realistic simulations of self- replicating machines made from simple component parts. On this website you will find an introduction to self-replicating machines, published papers about my research, animations from simulations of self-replicating machines, simulation software that you can download, and links to other work related to self-replication.

For a wildly bold approach to robust computing, with moveable damage-resistant self-repairing parts, check out Dave Ackley's Movable Feast Machine!

[http://movablefeastmachine.org/](http://movablefeastmachine.org/)

>The Movable Feast Machine is a robust, indefinitely scalable, computing architecture.

[https://news.ycombinator.com/item?id=14236898](https://news.ycombinator.com/item?id=14236898)

>The video "Distributed City Generation" demonstrates how you can program a set of Movable Feast Machine rules that build a self-healing city that fills all available space with urban sprawl, and even repairs itself after disasters!

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

>A rough video demo of Trent R. Small's procedural city generation dynamics in the Movable Feast Machine simulator. See [http://nm8.us/q](http://nm8.us/q) for more information. Apologies for the poor audio!

[https://www.youtube.com/playlist?list=PLm5k2NUmpIP-4ekppm6Jo...](https://www.youtube.com/playlist?list=PLm5k2NUmpIP-4ekppm6JoAqZ1BLXZOztE)

>Robust-first Computing playlist. Videos introducing and exploring inherently robust computational systems.

[https://www.youtube.com/playlist?list=PLm5k2NUmpIP8qwttAS5Ba...](https://www.youtube.com/playlist?list=PLm5k2NUmpIP8qwttAS5Batnd7u2UpBtaL)

>Movable Feast Machine v2 demos. Presentations and demos of research projects built on the MFMv2 simulator.

<comment><USER5> Von Neumann's 29 states were custom designed to make it easy to construct passive configurations, similar to the way a 3D printer builds things -- one layer at a time.

You can't do that in Conway's Life, because stable patterns in Life aren't necessarily stable when you add one cell at a time. But you can do the next best thing, which is to design circuitry that's made out of small stable "Spartan" pieces -- and then build the pieces one at a time.

Related to this, there's an equivalent for building passive structures and then activating them. In Life you can build a static "one-glider seed constellation". Hit the stable constellation with a single glider, and a few ticks later you have a working spaceship. Example:

[http://www.conwaylife.com/forums/viewtopic.php?f=&p=57674#p5...](http://www.conwaylife.com/forums/viewtopic.php?f=&p=57674#p57674)

However, there's no reasonable expectation of figuring out how to build a one- glider seed for the Sir Robin knightship any time soon -- the knightship is way too fast, active, and complex. With current techniques a search for such a thing would likely take millions of years.

</comment></comment></comment></comment></comment><comment><USER28> Given the fact that, often, in mathematics "things" are elegant, I'm rather curious why achieving a "simple" 2x1 move requires such a complex structure. Is there an explanation ?

<comment><USER29> My understanding is that up til now the existence of a pattern that moves >1 square per generation was only theoretical.

[https://en.wikipedia.org/wiki/Speed_of_light_(cellular_autom...](https://en.wikipedia.org/wiki/Speed_of_light_\(cellular_automaton\))

<comment><USER30> This moves 2x1 over 6 generations, which is apparently the theoretical minimum, so it does not violate game of life's c. I'm not sure why that is true however, my naive guess is that for any movement forward, some 'reset' action must be taken, so 3 cells forward, 3 reset steps. Otherwise a period 3 knightship should be possible...right?

<comment><USER31> >3 cells forward, 3 reset steps

Yes, you've got the right idea. It's actually more like "3 preperation steps, 3 steps forward"

There's a proof ([http://www.njohnston.ca/2009/10/spaceship-speed-limits-in- li...](http://www.njohnston.ca/2009/10/spaceship-speed-limits-in-life-like- cellular-automata/)) that a spaceship that travels n cells vertically and m cells horizontally must take at least 2*(n+m) generations to do so.

</comment></comment></comment></comment><comment><USER32> Wow. I briefly played with searching for these, but was skeptical if there was such a thing. This is one of the greatest discoveries in Life ever. (Though perhaps of little "practical" importance in building other things?)

<comment><USER2> Maybe people are just too used to building with the non-oblique ships. Give Sir Robin a little time :)

<comment><USER5> It's easy to stop one of these knightships -- an eater has been built already -- and just as easy to make a knightship detector. However, a gun to make new "Sir Robin"s is not likely to appear any time soon: there are construction problems that are thousands of times easier, that are not anywhere near being solved yet.

</comment></comment></comment><comment><USER33> That was much larger than I was expecting.

<comment><USER5> In B3/S23 Life, there just happened to be small c/4 diagonal, c/2 orthogonal, and c/7 orthogonal spaceships. The c/7 "loafer" ( [http://conwaylife.com/wiki/Loafer](http://conwaylife.com/wiki/Loafer) ) was only found a few years ago, and was a huge surprise. Seems to be more or less the luck of the draw which velocity vectors happen to have smaller spaceships. There probably _is_ a knightship somewhat smaller than Sir Robin, but it's harder to find because it's a little wider, so it's still hiding somewhere in a much larger search space.

</comment></comment><comment><USER34> Fun fact: Apparently this is based on a discovery by Tom Rokicki who was also able to prove God's number to be 20 (the maximum number of moves to solve the Rubik cube).

<comment><USER35> How is a move defined? Is it rotating a _single_ side by any amount? If I hold the central 'column' of one face and rotate both outside columns simultaneously, is that one move or two?

<comment><USER36> That example is two moves. Come on, it's not that hard.

<comment><USER35> Well, it's two moves relative to the centre column, but it's a single move relative to each of the outside columns. I was just interested in whether the rules are 'physical' or 'theoretical'.

<comment><USER5> Certainly with a good cube you _could_ hold the outside and push to twist a center slice. From www.cube20.org -- "We consider any twist of any face to be one move (this is known as the half-turn metric.)"

Also, "New results: God's Number is 26 in the quarter turn metric!"

</comment></comment></comment></comment></comment><comment><USER37> Please, someone, post a video or a way to turn that posted code into an animation...

There is already a wikipedia page: [http://www.conwaylife.com/wiki/Knightship](http://www.conwaylife.com/wiki/Knightship) on Sir Robin.

<comment><USER5> If you have Javascript enabled, then there are several places that should work: the Sir Robin LifeWiki article

[http://conwaylife.com/wiki/Sir_Robin](http://conwaylife.com/wiki/Sir_Robin)

the original link (via the Show in Viewer option), or the Catagolue page

[http://catagolue.appspot.com/object/xq6_yyocxukcy6gocs20h0a3...](http://catagolue.appspot.com/object/xq6_yyocxukcy6gocs20h0a38bac2qq73uszyjo4w8y0e4mo0vu0o606s6444u08clav0h03g440qq1333333x11zy9ecec2ik032i210sw3f0hy011w70401011033547442zy0emj896he1e1kif6q2gc50ew9qb30dzgo403gg066m32w11z34407q441n6zy311/b3s23)

(click on the knightship in the upper left -- the word "Launch" should appear when you hover over the image).

They all use the same LifeViewer to do the animation, though, so you're out of luck if Javascript isn't available.

<comment><USER37> Thanx, very nice!

</comment></comment></comment><comment><USER38> Perhaps a dumb question: how hard is it to do a "3D" game of life?

<comment><USER39> Not very; you just change the grid to a 3d space instead of 2d and change the basic algorithm a bit to count neighbours in 3d space.

<comment><USER35> Do we know whether or not there is an equivalent set of 3d rules that behave anything like 2d GoL? The same sort of algorithm (count neighbours, update state) can be applied, but it doesn't necessarily mean an extra dimension will result in similar behaviour, does it?

<comment><USER5> There are in fact various 3D rules that can be made to behave _exactly_ like Conway's Life -- starting with some discoveries by Carter Bays involving a two-cell-thick "sandwich" of Life cells that emulated standard Conway's Life. Without the sandwich trick it can do other interesting things:

[http://www.complex-systems.com/pdf/04-6-2.pdf](http://www.complex- systems.com/pdf/04-6-2.pdf)

The two problems with 3D life have always been

1) 3D is computationally very expensive compared to 2D, so you tend to get stuck working with much smaller grids; and

2) you need a really good visualization system, otherwise interesting patterns and uninteresting patterns both look like ugly random blobs of cells and you can't tell what's going on.

That said -- not promising anything, and especially not on any definite timeline, but the next version of Golly might have a Lua-based system for experimenting with 3D CAs.

</comment></comment></comment></comment><comment><USER40> Hey I took a video of this and put it on youtube, just so I can show my friends (who I know are too lazy to click on a link, and then click additional buttons)

Is that ok from a copyright perspective and stuff?

<comment><USER31> No one in the Game of Life community cares at all about copyright. The point of discovering patterns is to share them.

</comment></comment><comment><USER41> It's always nice to see how such a simple set of rules can lead to such complex items. An entire Universe that runs on these rules can probably exist.

<comment><USER42> [https://www.youtube.com/watch?v=xP5-iIeKXE8](https://www.youtube.com/watch?v=xP5-iIeKXE8)

</comment></comment><comment><USER43> Is someone gonna make an x86 simulator on Conway's game of life?

<comment><USER44> Well, it's an RISC emulator rather than x86, but take a look at this: [https://codegolf.stackexchange.com/a/142673/45727](https://codegolf.stackexchange.com/a/142673/45727)

</comment></comment><comment><USER18> I'd love to know more about the LifeViewer component -- it's wonderful! Is the source code available, and what is the license?

Here's what I've found so far -- it's by Chris Rowett:

[http://conwaylife.com/forums/viewtopic.php?f=7&t=1026](http://conwaylife.com/forums/viewtopic.php?f=7&t=1026)

[http://lazyslug.com/lifeview/](http://lazyslug.com/lifeview/)

Years ago I made a cellular automata AfterEffects plug-in that let you zoom in and pan to follow gliders around. It also had a colorization feature (since the cells were 8 bits and AfterEffects deals with RGBA) that let you sample a colormap of 256 colors from another layer along a line between two animatable points (so you could easily animate natural color gradients from images and video). You could initialize and draw into the cells by overlaying or combining channels of other layers, so you could use the full power of AE to precisely control and visualize the simulation.

It wasn't particularly "interactive" (beyond tweaking control points on the timeline then running it in AfterEffect's preview mode), but you could control all the rule parameters and animate them with the timeline, and apply any AfterEffect transformations and filters to the drawing overlay input or the colorized output.

This video shows the CA AfterEffects plugin, and also the same CA code running in a couple of live interactive editing tools (including SimCity).

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

I've rewritten the CA code in JavaScript, but the current user interface is arcane, and I would like to rewrite it in TypeScript as a module that can plug into some nice interactive playing and editing tool like LifeView.

[http://donhopkins.com/home/CAM6](http://donhopkins.com/home/CAM6)

[https://github.com/SimHacker/CAM6](https://github.com/SimHacker/CAM6)

It's really hard to make one user interface or visualization that works well for all rules. A cellular automata viewing and editing tool that supports different rules needs to be deeply customizable.

It turns out that each CA rule needs its own specialized user interface with rule-specific drawing tools, effects, controls and presets for visualizing, playing, painting, explaining, etc.

I wonder if anybody working on a free successor to AfterEffects that runs in a web browser?

<comment><USER5> LifeViewer has evolved in a somewhat different direction from the original LifeView, and is still a work in progress -- Chris has been contributing a lot of useful LifeViewer functionality to [http://golly.sf.net](http://golly.sf.net) , and vice versa.

LifeViewer is currently used primarily on the conwaylife forums and the LifeWiki, but it's easy to borrow it to embed in independent Web pages.

The source code is not currently available -- see [http://www.conwaylife.com/forums/viewtopic.php?f=&p=35511#p3...](http://www.conwaylife.com/forums/viewtopic.php?f=&p=35511#p35511) . That's also probably the best place to ask any further questions about LifeViewer -- I'm just a beta tester.

<comment><USER18> Thank you for that!

LifeViewer and Golly have a lot of great ideas in them, and a huge library of rules, patterns, and configurations. I'd love to have access to the source code for LifeViewer, so I can integrate my own cellular automata rules, editing tools and visualizations with it.

Here's a great video of Will Wright and Brian Eno discussing generative systems and demonstrating cellular automata with Mirek's Cellebration to Brian Eno's generative music, at a talk at the Long Now Foundation,:

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

[https://en.wikipedia.org/wiki/Mirek%27s_Cellebration](https://en.wikipedia.org/wiki/Mirek%27s_Cellebration)

<comment><USER5> Does the starting point have to be Javascript?

If so, a good bet might be this HashLife Javascript implementation:

[https://copy.sh/life/?gist=31aa52b9430970a28e4c199444e5a873](https://copy.sh/life/?gist=31aa52b9430970a28e4c199444e5a873)

If not, well, Golly is open-source, cross-platform, supports custom rules via rule tables, and would welcome contributions to its editing-tool department:

[http://sf.net/projects/golly](http://sf.net/projects/golly)

There's even a lifeviewer.lua in the Scripts/Lua folder that duplicates some of LifeViewer's functionality, and is also obviously open source, though it's definitely also a work in progress.</comment></comment></comment></comment>


Mitre-Harvard's Nanocomputer May Point the Way to Further Miniaturization - <AUTHOR> http://www.mitre.org/news/press-releases/mitre-harvard-teams-ultra-tiny-nanocomputer-may-point-the-way-to-further

<comment><USER2> Link to the abstract for the lazy: [http://www.pnas.org/content/early/2014/01/23/1323818111.abst...](http://www.pnas.org/content/early/2014/01/23/1323818111.abstract)

</comment><comment><USER3> It's interesting ,but the abstract lacks any concrete details, like feature size in nm. Does anybody has access to the paper , and can share such details ?

</comment><comment><USER4> There is a drawback to having really small computers, they are easier to lose.

</comment><comment><USER5> I can imagine a whole new class of software that has to run on these things. Talk about a network problem.

</comment><comment><USER6> So I'm guessing that if it's a nanoelectrical FSM, you have to hook it up to some kind of nanoelectrical RAM to get a "real" computer, in the sense of a limited-tape Turing Machine?</comment>


Six coders can do anything and there is nothing six coders can't do - <AUTHOR> http://6coders.com/whats-in-a-name-six-coders-can-do-anything-an

<comment><USER2> I guess 6 coders is kind of like 100 ninjas.

In other news, I don't understand why so many people would up-vote a post which is has almost no content and is ostensibly promotional.

<comment><USER3> It gets exactly 6 points

</comment></comment><comment><USER4> Quantitative data time.

In research quoted in _Software Estimation_ by Steve McConnell, for completing a medium sized project (in that research defined as 10,000 to 100,000 lines of code) there was a local minimum of calendar time with teams of 5-8 people. To reach that level of calendar time again you needed a team of at least 20 people. However there is reason to believe that 50,000 lines of code delivered by 20 people will have more duplication of effort and less quality than the same delivered by 5. Which makes the relative productivity of the small team even better.

The reason is simple. The natural loose and open structure of a small team breaks down if the team is too big. Depending on the specific people, it tends to happen somewhere in the range of 6-9 people. Past that you have to manage lines of communication carefully, which results in process and overhead with reduced productivity.

The lesson to draw from this is the following. If you want the project delivered as cheaply as possible, let one programmer work as long as it takes. If you need it delivered quickly you can increase team size to 5-8 people. If you need stuff delivered faster than that you'd better swallow hard, accept a several-fold increase in costs, start hiring, and do careful planning because you'll need it.

(You can pass the small team limit in practice by having different teams on different pieces of software. But they had better be really different. When people have to interact closely, they are part of the same team no matter what the org chart says.)

</comment><comment><USER5> Great! The FAA needs a new radar system. You six can tackle the software portion. Let me know when you're done.

<comment><USER6> You know, I'm not sure that's a counterexample. If there were six _good_ and _careful_ coders, I think I could be convinced that they'd make a more reliable system than a few hundred broken into several carefully-spec'ed and rigorously documented teams, where it would be much harder to avoid having a few bad apples, not to mention the impossibility of having even a general idea of what someone else's code is doing.

It's not a guarantee, no. But I don't think it's a knockout counterexample, either.

</comment></comment><comment><USER7> Five developers is the maximum that I will put on a project. That doesn't mean the larger hunk of software doesn't have other teams working on it; just that they need to be separated by a well defined API (service based or otherwise). If the project isn't big enough yet then you don't need that many developers.

So yeah, I agree.

<comment><USER8> 6 developers makes 3 pairs.

<comment><USER9> I've used pairs off and on at work but never long-term. The part I find most useful about coding side-by-side with someone is that there is someone to question (or reassure) every small decision I make (for better or worse!). Particularly in coding, there are always many ways to solve each problem and having two sets of eyes (with even mediocre brains attached) frequently yields a better solution.

I find that a necessary part of pair programming is to switch up the pairs fairly often. Pairs have a tendency to become "comfortable" with each other's habits and can fall into a rut -- pairs should be shaken up to keep each everyone on their toes.

Also, you can learn a lot (about programming, people, life, etc.) when pair programming.</comment></comment></comment>


Power of Dreams - <AUTHOR> http://munyukim.blogspot.com/2012/10/power-of-dreams.html

<comment><USER2> Amazing article. If you can't dream, you can't do it. Some of us have come so far chasing our dreams and believe me that has not ended. But we are enjoying doing that.

<comment><AUTHOR> Definitely spot-on. You don't have to give up on your dreams, no-matter the hardships. Whatever your circumstances, someone in much worse situation have succeeded.</comment></comment>


Montreal is taxing churches (2017) - <AUTHOR> https://montreal.ctvnews.ca/mobile/no-more-religious-exemptions-montreal-is-taxing-churches-1.3415164 <comment><USER2> Some commenters are pointing out that _all_ nonprofits are tax-exempt in the United States. This is true, but religious organizations enjoy an extra benefit. Secular non-profits have to apply for 501(c)3 status and then file an annual return. Churches and the like are _presumed_ to be 501(c)3 organizations and have no filing or disclosure requirements, and the IRS is loath to investigate them.

<comment><USER3> That's sounds like corruption could easily happen, what's the justification?

<comment><USER4> Do you want to be the one to persecute churches? That's what you will be perceived as.

<comment><USER3> Why would "you must prove you aren't fiddling the books Just like any charity" be persecution in a non theocratic state?

</comment></comment></comment></comment><comment><USER5> Churches get a bad rap these days, for many reasons. I want to take a minute to defend them. Right away, I want to say that I am not defending religion- driven bigotry, nor megachurches, nor abuse.

I don't know about Canada, but in the U.S. churches are still where communities meet, where people connect with the spiritual world, and also the ones doing most of the "heavy lifting" on any kind of charity activity.

They are also generally nice and reasonably centrist-progressive, meaning treating everyone respectfully, nor expecting you to sit through a sermon like the old days. (I heard of one place where this may have been the case, but never saw it myself.)

Food Not Bombs might have a weekly freegan cookout, but most of the e.g. feeding people, distributing donated clothes, counseling without having to do paperwork first, food banks, and so on, are done by churches, or church-like organizations, or by people who met at church. There are some exceptions, like in Western Mass and a few places in the Catskills.

Source: Traveled around the U.S. with no base income. I don't go out of my way to take advantage of these things, but I'll go if a friend is going.

<comment><USER6> This is such an important point.

It's going to go against the grain at hackernews, but taxing churches in the US is a terrible idea. If you wanted to further the divide between the "liberal city"/"conservative rural" American cultures, this would be a great way to do it.

If you grew up in a rural area of the flyover states you would know that churches form the backbone of these rural communities. For example, the church in my hometown organizes youth gaming nights (yes, D&D style), widow support groups, and hosts food drives along with so many more things. They're so poor that every year they have a board meeting and the board divides up the operating expenses that are unpaid and they pay them out of pocket. The board members are 'well-to-do' community members with job titles like firemen and teacher. If they were not tax-exempt, they would have to shutter.

This is not to condone or justify the negative impacts that some churches have on this country, and religion often serves as a cloak for a lot of bad cultural habits like racism. I understand why people want to combat abuses of the non-profit status of the church, but taxing them is not the way to accomplish this.

<comment><USER7> Maybe you could earmark the collected taxes for creating secular alternatives? Or maybe create a system where people don't have to rely on churches and rich people for charity.

<comment><USER8> Churches provide much more than just money. Solace, peace, love, community etc... I'd say this is more important than money.

I used to be a Christian. There are a lot of bad sides of Christianity and that is why I left. But it does help many people and after studying Buddhism I understand how the right approach to Christianity can bring a lot of peace to believers:

Unconditional love. Many people grew up made to feel they had to earn their parents' love.

Letting go of control. You can't control everything in life. Whatever is going to happen is up to God now.

Forgiveness. When people ask for God's forgiveness, it helps them to forgive themselves.

Gratitude.

<comment><USER9> I feel these things should exist without God. That is, they can be helpful to non-believers too. But I am having a hard time creating secular versions of these.

I think the root of the problem lies in the fact that God here is an abstract entity with whom the believer communicates but no such abstract entity exists for non-believers (duh!).

May be some form of general artificial intelligence can fulfil this role in the future?

Real people can fulfil this role too but they are probably not abstract enough. edit: And hence not "powerful" enough (to forgive, to protect etc.).

Just spit-balling here. Also not trying to offend anyone here.

<comment><USER10> The purpose of being a Christian is to love God and to love your neighbour as yourself. In if you wonder how far the love of your neighbour stretches, the goalpost has ben set at the very end: Love your enemies.[See: Mark 12:30-31 and Matthew 5:44] And this follows and is natural because God is LOVE [1 John 4:7-21].

I have a hard time believing AI will fulfil this role. For would it be optimized for gains here and now, or actions of sacrifice now that will be payed back fully in an everlasting life and that is built on faith? :-)

And I must admit that love is hard and I mess up a lot! But i try to do the same as is written here:

"Brothers and sisters, I do not consider myself yet to have taken hold of it. But one thing I do: Forgetting what is behind and straining toward what is ahead, 14 I press on toward the goal to win the prize for which God has called me heavenward in Christ Jesus."[Philippians 3.13-14]

<comment><USER7> What about all the people who are considered "sinners" ? There's no love for them in the Bible

<comment><USER10> If that was the case, I would be the last in line! ;-)

But God's whole purpose was to save sinners like me and you through Jesus Christ: "If we say that we have no sin, we deceive ourselves, and the truth is not in us. If we confess our sins, He is faithful and just to forgive us our sins and to cleanse us from all unrighteousness. If we say that we have not sinned, we make Him a liar, and His word is not in us". [1 John 1, 8-10 NKJV]

<comment><USER7> So hell is not a thing ? i'm confused ?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> IMO this post should not be on HN. Per the guidelines [1] "stories about politics" are off-topic. I would consider this political for obvious reasons.

[1] [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><AUTHOR> Here's the complete guideline:

"Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon"

Did you purposefully leave out the full sentence? I would argue it is/was a new phenomenon. Nevertheless, would like to hear why you think HN should be exempt from political discussion anyways? We see thought-provoking discussions here each day. This is one of the positive aspects of HN that I value that it allows you to be politically and socially aware of ideas to get you out of your role as an "engineer" or "hacker".

<comment><USER12> Yes, hackernews will never pass up the opportunity to discuss highly divisive content that will cause community drama.

Let's post about rent control while we're at it and really set off some flamewars.

<comment><AUTHOR> I thought you were against censorship as your bio says:

"Censors have never been on the right side of history. If you support censorship, consider that you may be advocating evil."

If this was a sarcastic bio, then forgive me for misunderstanding.

<comment><USER12> Censorship isn't the same as having community rules for positive discussion and sticking to them. The latter implies consent -- if you don't agree with the rules, participate and voice your speech somewhere else.

You can be a free speech absolutist and still think it's a bad idea to shout fire in a theater. Being against censorship doesn't mean you welcome anyone into your home to shout whatever the heck they want.

Also, perhaps you should review them again:

Be kind. Don't be snarky. Have curious conversation; don't cross-examine. Comments should get more thoughtful and substantive, not less, as a topic gets more divisive.

Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith.

Eschew flamebait. Don't introduce flamewar topics unless you have something genuinely new to say. Avoid unrelated controversies and generic tangents.

Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.

Please don't use Hacker News for political or ideological battle. That destroys the curiosity this site exists for.

</comment></comment></comment></comment></comment><comment><USER13> I don't mind charities being exempt from paying municipal taxes on church land, but I do object to things like Sanitarium making Weetbix and Peanut butter, selling it in the supermarket, and not paying any company tax on profits.

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

</comment><comment><USER14> Makes sense to me, and should be done in the US as well. Providing a tax exemption is in a way the opposite of a separation of church and state. The state is giving them special treatment.

<comment><USER15> > The state is giving them special treatment.

No it's not. All non-profits are untaxed. If you are going to charge churches, then charge all non-profits.

Personally I think that's a bad policy.

<comment><USER16> But non-profits have to pay property tax, right?

I don't think religious institutions have to pay property taxes.

Ok, I looked it up: "states subsidize religions to the tune of about $26.2 billion per year by not requiring religious institutions to pay property taxes for property worth about $600 billion. This subsidy is of particular interest because property taxes pay for services such as firefighting and police, which religious institutions use the same as corporations and private citizens."

<comment><USER15> > But non-profits have to pay property tax, right?

No, non-profits do not have to pay property tax.

So by that measure states also subsidize non-profits. And your math does not take into account the amount of services religions provide residents.

If you went by the internet religions do nothing except take money, but if you visit the real world, religions are the backbone of social services in the US.

</comment></comment></comment></comment><comment><USER17> What's bizarre to me is that they are tax free for worship (in my mind fair enough). But get taxed for hosting community services, e.g., foodbank. Definitely think usage in charitable functions warrants tax exemption as much as service

<comment><USER18> I don't think it's that bizarre. I find it quite subversive when a church group does 'community events' when there are other organisations which those church members could join to achieve the same result, without flying the banner of $ideology.

See [https://en.wikipedia.org/wiki/Souperism](https://en.wikipedia.org/wiki/Souperism) for a more blatant historical take.

<comment><USER19> That article says the practice was actually very rare, even though it features very prominently in literature from the period. Maybe not the best example.

<comment><USER18> Sure, thus my sentence saying 'blatant', not 'common' or 'widespread'.

</comment></comment></comment></comment><comment><USER20> Slightly off topic but I think it would be interesting to observe the German example as I think it's a good "fair" system.

[https://en.wikipedia.org/wiki/Church_tax#Germany](https://en.wikipedia.org/wiki/Church_tax#Germany)

" The church tax is only paid by members of the respective church. People who are not members of a church tax-collecting denomination do not have to pay it. Members of a religious community under public law may formally declare their wish to leave the community to state (not religious) authorities. The obligation to pay church taxes ends once such a declaration has been made. Some communities refuse to administer marriages and burials of (former) members who had declared to leave it. "

In many European countries, everyone (community member or not, believer or firm atheist) has to pay full taxes to pay for the churches/synagogues and mosques. Including the salary of priests. This in addition of them also not being taxed due to their special status.

Despite not living in a theocracy, many are forced to participate directly in a cult that might be of zero interest to them.

<comment><USER21> In some countries, like mine, churches are funded by taxpayer money and they are also allowed to have commercial activities with no taxes at all.

In a way there is the irony of atheists providing support for churches, but it's just one of the ways the democracy fails with majority rules (55% religious vote that non-religious people pay taxes for churches) and governments as immoral institutions that exist to rule over people, not to care about them.

</comment></comment><comment><USER22> Churches are one of the biggest business entities in any part of the world. Most churches are structured like a proper business entity (Eg. they have equivalent of directors, CEOs and managers) and have revenue targets and KPIs set.

Most churches are also located in some of the prime real estate of top tier cities and I always wondered how they were able to afford paying $1500+/Sq.M in a prime, central area.

About the charity work - I know for a fact the charity work the churches do cost less than 10% of the income they make, I got this number from a former church member who was a top level guy in his church. Given that churches are anyway structured like a business entity internally and manage money like a proper business, why shouldn't they be taxed as one?

It makes no sense to not tax them no matter how you try to justify it. If they did get an exemption, so should Mc Donald's for giving away a free Cola bottle with every $20 meal you get.

<comment><USER23> So churches should be taxed because they use effective organisational structures and are well run? That's a new one. You could say the same of well run charities.

<comment><USER22> You know the point I'm making - It's a business entity because it makes money and manages money like any other business. Why shouldn't it be taxed?

<comment><USER24> There are an enormous number of (small) churches that _don 't_ function as business entities in the way you describe. Taxing churches would adversely select against these, encouraging all churches to behave more like businesses. It's unlikely to me that that's the outcome that _anyone_ wants.

If you think Christianity is broadly good and correct, the trend towards business-like megachurches and celebrity pastors is deeply corrosive to the faith.

If you think Christianity is broadly bad and corrupt, the trend towards business-like megachurches and celebrity pastors entrenches and effectively promulgates many of the religious ideas that you abhor.

</comment></comment></comment></comment><comment><USER25> I am an atheist but I don't see how this is tech related or why it should be in HN.

<comment><USER26> Agree the content is very divisive but ah well I guess censoring is also not sustainable.

</comment></comment><comment><USER27> All orgs that have the ability to enrich their employees should pay their fair share. I'm looking at you churches, charities and california golf courses... The fact that mega churches got PPE forgiveness loans would make my blood boil if I was a small business who didn't make the cut.

</comment><comment><USER28> Much needed step considering most religions are more business-like than faith- focused.

<comment><USER15> Your definition of "most" is rather suspect here. Obviously the "business- like" religions get lots of press, but in the real world they are a tiny minority.

</comment></comment><comment><USER29> This article was published in 2017. Have there been any more recent developments?

<comment><USER30> For the way the article is worded, it sounds like a lot of noise is being made about some select reinterpretations of a law by bureaucrats. I would be shocked if the situation hadn't changed.

</comment></comment><comment><USER31> They pay taxes in the UK and we still have functioning communities and community groups.

<comment><USER32> Do other non-profits pay taxes (eg food banks)? Do mosques and temples also pay tax?

</comment></comment><comment><USER33> Wasn't there just a post about not posting political stuff? How does this interest tinkerers or hackers?

</comment><comment><USER34> Ok but personally I would have started with the people in the Panama papers.

<comment><USER35> You can't tax people with money!

</comment></comment><comment><USER36> The issue with this is always the same: which taxes ddo you want them to pay? Since most churches don't make a profit in the strict accounting sense, their won't be much Corp tax. And (AFAIK) they already pay payroll taxes (the main place church money. You could maybe tighten that up and make sure everyone is declaring benefits (use of the private jet) properly. But the USA just made that whole mess much more generous for CEOs so presumably a mega pastor would benefit from the same allowances. So what's the plan here, sales tax?

<comment><USER37> Given the absolutely incredible amount of real estate churches own, I imagine property taxes would be the big one.

</comment></comment><comment><USER38> I acknowledge this is anecdotal but in the Bay Area CA I drive by many churches (of different faiths) occupying large areas of land on prime hilltop real estate. I'm astonished by this.

<comment><USER21> I am astonished by your astonishment: churches were one of the first buildings to create a nucleus of a new city, so you can say they created the value of that estate out of an empty hilltop in the middle of nowhere.

<comment><USER39> A binding agent?

</comment></comment></comment><comment><USER40> This is quite strange. In most jurisdictions both churches and nonprofit organizations are exempt from taxes.

</comment><comment><USER41> To briefly make a few points:

\- Fundamentalism and literalism is a fairly modern phenomenon which is mostly a Protestant reaction to the Enlightenment and the lionization of scientific, empirical knowledge over other forms of knowledge. Early Christian leaders didn't believe in literalism. In the Middle Ages, there was a fourfold method of interpreting scripture. And so on.

 _Church father Origen (184-253 CE), due to his familiarity with reading and interpreting Hellenistic literature, taught that some parts of the Bible ought to be interpreted non-literally. Concerning the Genesis account of creation, he wrote: "who is so silly as to believe that God ... planted a paradise eastward in Eden, and set in it a visible and palpable tree of life ... [and] anyone who tasted its fruit with his bodily teeth would gain life?"_

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

\- There have been near-infinite forms of Christianity (and every other religion) since their founding. To say that "Christianity is XYZ" is simply wrong. It has embodied entirely different values at different times and the Christianity of 2020 would be nearly incomprehensible to the Christian of 1600 or 1000 or 500. This is true even today.

\- Many of what are considered "humanistic" or "secular" values are more-or- less directly traceable to the influence of Christianity. Universal value of human beings, that is, that everyone has fundamental dignity, rights, the ability to vote (democracy), and similar human rights concepts that have Western origins are almost direct extensions of Christian thought. In many ways, modern secular Western democratic society is post-Christian one, in the sense that it's a direct extension, not a radical departure.

\- The concept of secularity has been redefined and come under attack in the past few decades. See writers like Charles Taylor, who have argued that secularity hasn't resulted in less religious beliefs, but merely their multiplication and changing of form. This falls in line with other social trends.

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

TLDR: It's complicated.

</comment><comment><USER42> Next thing you know, they'll enforce smoking bans in church?

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

</comment><comment><USER43> Perhaps they should worship the government?

</comment><comment><USER44> Will this also affect synagogues?

</comment><comment><USER45> "As a result, many churches in Montreal that host community groups, such as food banks, or Girl Guides or Boy Scouts, are facing mounting tax bills."

Those evil grifters, we need to clamp down.

</comment><comment><USER46> Much needed. USA should follow.

[https://www.washingtonpost.com/investigations/mormon- church-...](https://www.washingtonpost.com/investigations/mormon-church-has- misled-members-on-100-billion-tax-exempt-investment-fund-whistleblower- alleges/2019/12/16/e3619bd2-2004-11ea-86f3-3b5019d451db_story.html)

</comment><comment><USER47> My whole life was destroyed by religion.

I suffered conversion therapy and could never get on hormone blockers young; because of the nonsense faith results in from people with authority over administering a medical treatment. As an adult I'm now trying every year to afford surgeries I cannot afford while my peers save for homes. Also parents disowned me and I have ptsd from the physical & mental abuse.

Nice to see religion coming to an end before my shorter life from it. Of course it will out last me but I'm hopeful; as the younger generation is aware of the countless injustice while malevolent people attempt to disguise religion as what the "community" needs.

The facade known as religion should rot to nothingness with all the people that forced it upon others.

edit: Yah religious patrons don't like it when victims of religion speak out. Similar you all don't ever remedy the victims of what you support exist in this cruel world because of people like you.

<comment><USER21> I am an atheist, but I don't understand your blame on religion.

<comment><USER47> How so? Do you need more detail from me or do you think people denying others of medical treatment because of their religion isn't deserving blame on religion. Do you have any idea why conversion therapy existed at all? I find your statement about being an atheist irrelevant a well. I'm agnostic and I find atheists to be just as irrational compared to religious people. You cannot prove their is a god and similar to proving there isn't a god. I do prefer how doctors that are atheist don't deny medical treatments for patients because of their religious beliefs.</comment></comment></comment>


Ask HN: Hacker-friendly, simple e-commerce solution? - <AUTHOR> Shopify is questionable, eBay not ideal, Magento too heavy. What do you recommend?<p>Use case: Selling a few, simple physical products online. Ideally with some sort of subscription support. <comment><USER2> Woocommerce. It just works. Dont over think it. Tome deciding is time not selling.

<comment><USER3> This. WooCommerce is very well designed and has an excellent plugin ecosystem as well. Yes it is WordPress but if you are looking for something open source and self hosted, it is the easiest to get started with and has great documentation. For subscriptions, they have a paid plugin but it is totally worth it (used it for many years and works like a charm

<comment><USER2> Yup. Made good money from it and have helped others as well.

</comment></comment></comment><comment><USER4> Used Shoop in the past. A Django based magento like system. Pretty flexible and saw some good development.

<comment><USER5> You mean [https://github.com/shuup/shuup](https://github.com/shuup/shuup) ? It does seem nice, been looking for an e-commerce app that isn't written in PHP for ages. Thanks!

<comment><USER4> Correct! Shuup, was a couple of years ago.

</comment></comment></comment><comment><USER6> You can start with GumRoad [https://help.gumroad.com/article/85-physical- products](https://help.gumroad.com/article/85-physical-products)

</comment><comment><USER7> Why is Shopify questionable?

<comment><USER8> I don't know about OP but they did lie to me to get me to sign up to a paid plan, then told me what I was asking for was actually not supported.

</comment></comment><comment><USER9> Scipio ERP is very hackable and free. [https://www.scipioerp.com](https://www.scipioerp.com)

</comment><comment><USER10> I would love to know what other choices HN recommends as well.

I'm at the stage of choosing such a service as well.

I would add woocommerce to that list.

</comment><comment><USER11> [https://commercelayer.io](https://commercelayer.io)

</comment><comment><USER12> Big Commerce.

I wrote a lot of custom themes/scripts for it when I started freelancing.

</comment><comment><USER13> Prestashop could be what you are looking for.

</comment><comment><USER14> What problems does Shopify pose?</comment>


Ask HN: What does showdead and noprocras mean? - <AUTHOR>

<comment><USER2> From the FAQ [link at bottom of page]:

In my profile, what does showdead do?

If you turn it on, you'll see all the submissions and comments that have been killed by the editors. They're mostly spam and duplicates.

In my profile, what is noprocrast?

It's a way to help you prevent yourself from spending too much time on News.YC. If you turn it on you'll only be allowed to visit the site for maxvisit minutes at a time, with gaps of minaway minutes in between. The defaults are 20 and 180, which would let you view the site for 20 minutes at a time, and then not allow you back in for 3 hours. You can override noprocrast if you want, in which case your visit clock starts over at zero.</comment>


You Can Master the Facebook Coding Interview - <AUTHOR> https://medium.com/better-programming/how-you-can-master-the-facebook-coding-interview-591ca3cbb508 <comment><USER2> I think this is a great example to show that the interview in it's current state is a broken process. It's not testing you on what can you achieve, do you fit with the team, and can you do the job. It's more about can to jump over these non-related hurdles until we say stop?

</comment><comment><USER3> Can't help feeling that the hiring procedure has turned into a skill that is quite unrelated to the job your applying for. Take for example Leetcode, it's a quiz game where the solutions often comes around as a hack that would never pass a serious PR review...

<comment><USER4> "Turned into" implies there was a time when software interviews weren't a series of sideshow feats. I realize it's a tough sword to swallow, but have no evidence that's the case.

</comment></comment><comment><USER5> Not sure how I feel about the word "master" in the title.

<comment><USER6> I see you, I hear you. Your perspective is valid.

</comment></comment><comment><USER7> 2 LC session and 3 system design? It looks like e6+ level at Facebook. Lower ones have more LC grind.</comment>