Ballparking Ello's active user statistics - <AUTHOR> https://ello.co/dredmorbius/post/gxpvKs_tp-SL10nNJ1Rlbw <comment><USER2> When you're comparing your user engagement to Google+, you know things are not going well. They don't call G+ a ghost town for nothing.

Also, I find Ello's font pretty hard to read. I'm all for minimalism and I use monospace fonts for coding all the time, but perhaps it's not the best choice for long blog posts?

<comment><USER3> I use both sites extensively, and have investigated activity and engagement on both. I'm the source of a fair bit of the G+ ghost-town press coverage. That said, there's more to a community than simple size (take HN as an example).

I also disagree with many of Ello's styling decisions (and G+'s for that matter). My Ello CSS revise: [http://stylebot.me/styles/9519](http://stylebot.me/styles/9519)

(That only works on logged-in sessions, unauthenticated still uses the earlier Ello v1 style.)

</comment></comment><comment><USER4> 6-10k DAU? That seems minuscule to me. Also, shows how skewed is HN viewpoint: although by these parameters, Ello is tiny, everyone knows about it, while other application and games that are used by thousands amount of people are completely unknown.

<comment><USER3> First: remember that TheFacebook launched at a school with a total undergraduate enrollment of 6,700, of which its first user cohort was a subset. Of course, that school happened to be Harvard University....

Ello's got at least that many _daily actives_ , and about 200k monthlies. That's much larger than Facebook's founding class, though also a different mix.

It's also worth realizing that many influential online communities were _very_ small relative to their impact. The WELL and Usenet had core userbases in the tens of thousands of users, best I can make out.

I'd chalk Ello's exposure up to a few factors. One was the whole "David vs. Goliath" meme that struck when Ello was first revealed. World+dog are trying to figure out how to take on Facebook, and that's how the story was pitched. Ello's leadership makes quite clear that's not their take on things. Another was that, at least for a time, Ello had attracted quite the credible crowd. Clay Shirky, Charlie Stross, Bruce Sterling Paul Mason (UK/BBC journalist), Quinn Norton, Meredith Patterson, Tim Bray, danah boyd, Jonathan Zittrain, and others all created accounts, some posted for a while, a few still do.

It was too early. I've posted a few long lists of features Ello desperately needed to be viable, and lack of those, along with various bugs, were really hampering it.

While it's still got some technical shortcomings, the team's been addressing them quickly, doing a good job of it, and surprising me with some quite ingenious (and not always technical) solutions to problems or ways of offering capabilities. And they've directly addressed most of my major issues. _That_ responsiveness has been notably missing at Google.

The site also has quite the creative set present, which tends to be a good early adopter set -- think artist colony.

But technical features and a cool vibe aren't enough. Though they're a good start. I'm encouraged by the feature set, community, leadership, direction, and foundations. Rather more so than by a few other systems -- G+ was already faltering badly in its first months out of the gate, Ello's avoided those _faux pax_ entirely.

I'm also getting some sense of the HN effect: a front-page placement seems to be good for about 3.5k hits in 3 hours or so, based on this item.

<comment><USER5> > _First: remember that TheFacebook launched at a school with a total > undergraduate enrollment of 6,700, of which its first user cohort was a > subset. Of course, that school happened to be Harvard University...._

You can't compare user activity/behavior in 2015 with user activity/behavior in _2004_.

<comment><USER6> It's not fair to trivialize the traction that services like Ello are able to get. It's really hard to gain any ground when something is dependent on network effects, especially in a field as competitive as social networking. 6-10k sounds like a perfectly reasonable base to me, and with that inertia, there's no reason to believe it won't continue to grow. All businesses start somewhere (generally much lower than 6-10k, as Ello surely did), even the business that will eventually outcompete Facebook.

<comment><USER7> Ello's DAU is down from 6 months ago. They may be trending up locally, but most of us who gave them a shot when they launched found the site ugly, unusable (buggy, impossible to find friends), and unneeded. I know roughly 4 dozen folks that gave Ello a shot and all of us have not been back.

<comment><USER3> _Ello 's DAU is down from 6 months ago._

Do you have _any_ sources on that?

I can attest to a lot of early-user attrition. But also lots of new users. Churn's part of the game.

</comment></comment></comment></comment></comment></comment><comment><USER3> Author here. I've made something of a habit of doing various site-based activity estimates:

[https://ello.co/dredmorbius/post/nAya9WqdemIoVuVWVOYQUQ](https://ello.co/dredmorbius/post/nAya9WqdemIoVuVWVOYQUQ)

</comment><comment><USER3> Another site-comparison datapoint: Metafilter, a small but significant forum, reported about 12,000 daily actives as of a year ago.

That from a HN post, by way of comments at Ello:

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

</comment><comment><USER8> Who here remembers ADN (App.net)? I think even towards the end, ADN had better metrics than this.

I like the premise of Ello, but it's metrics and user-engagement figures are not promising.

</comment><comment><USER9> Ello could be smoking hot with the right management team. It's got the pieces/UI but missing the marketing/polish/UX chops.

<comment><USER10> Update: I checked it out again. It's improved a tiny bit, but still isn't good UI design at all. All those tiny icons that expand with a mouse hover - annoying and not accessible. I still can't easily find several things I can easily do on Facebook (despite Facebook's terrible UI and menu options). Not usable for someone used to Facebook or Google+. <comment>~~

Actually, for the life of me, I struggle anytime I login to Ello and have to hunt for how to logout. The half page banner (some translucent stuff to scroll through) of whatever on top doesn't make things easier to know about either. The whole UI is completely unintuitive, quite bland and too minimalistic to figure things out. So I stopped checking it several months ago. The privacy part is very nice and very welcome, because of which I had a lot of hope on the platform. But Ello was (or probably still is) nowhere close to Facebook or Google+ in terms of UI and usability. Try pushing a novice user from either of the big platforms into Ello and watch the person struggle. One's social graph being in some other walled garden is just one piece of the problem in trying to move users to something else. But that something else needs to be an intuitive and viable alternative in the first place.

P.S.: I'm not a tech newbie.

P.P.S.: I try to push people I know to better (if not the best) platforms and services when it comes to privacy.

<comment><USER11> I haven't checked it out in awhile, but the last time I did, I also remember not being able to find the Logout functionality.

"I'm not a tech newbie." <\-- I suspect that is why the UI is difficult for you (and me too). Ello's UI seems to purposely break convention and therefore predictability for anyone used to convention, in the spirit of an artistic and minimal design. I'd liken it to how millennials enjoy the "playful discovery" of Snapchat's UI and anyone over the age of 25 finds it confusing and frustrating.

I agree it's a confusing UI (probably only at first, as with anything) but I also appreciate that they are trying some new ui patterns and doing something different as far as design. That's kind of their point, they're not Facebook or Google+, they're something different, and they have the freedom to experiment and be different.

</comment></comment></comment></comment><comment><USER12> I always appreciated the minimalist approach ello was going for, I just wish their execution was a little better. Thinking about Svbtle...

</comment><comment><USER13> I'm glad that Ello is growing. I like niche social networks. I just don't understand which niche Ello caters to.

<comment><USER14> I'd say the niche is "creatives". Designers, artists, musicians, hipsters, etc.

<comment><USER11> Agreed.

Also, I suspect that the release of mobile apps (supposedly this spring) will be a huge boost for them. I know that I would be checking in on activity there much more if I could do it on my phone.</comment></comment></comment>


The Story of Bob.com - <AUTHOR> http://bob.com/the-story-of-bob-com/ <comment><USER2> Forgot about Bob! I grew up under the shadow of Microsoft but it's easy to forget about it entirely when I see nothing but Linux and Mac nowadays. Funny to remember what a cancer that company truly was/is.</comment>


LLVM from a Go Perspective - <AUTHOR> https://aykevl.nl/2019/04/llvm-from-go <comment><USER2> Hmm, not sure I agree that LLVM has little documentation. My experience using it has been pretty smooth.

Regardless, compiling functions from a language you know to LLVM IR is a good way to learn how IR works. You can do this for C(++) with the clang --emit- llvm switch. In addition, many optimizers in LLVM are geared towards the IR patterns clang emits.

<comment><USER3> If you're working at the IR level, then there's usually pretty good documentation in terms of the doxygen and various pages explaining things.

But if you start venturing down into the backend, a lot of gotchas are never documented anywhere, just somehow learned through osmosis from another backend author or looking up code snippets from another implemented backend.

<comment><USER2> Sure; the article was about building compilers rather than backends. FWIW I looked briefly into building a LLVM backend (IR subset) for a DSP chip, and gave up partly for the reasons you mentioned.

</comment></comment></comment><comment> dis-sys > compiler libraries such as LLVM make this a whole lot easier, making it > possible for a single person to develop a new language that is close to C in > terms of performance.

The TinyGo project is interesting, but it is not a new language developed by a single person as Go is not a new language.

Wondering is there any such single person project implementing a compiler for a new language using LLVM and delivering close to C performance?

<comment><USER4> Meet Wren: [https://github.com/wren-lang/wren](https://github.com/wren- lang/wren)

<comment><USER5> Any reference for C-like performance?

<comment><USER6> With double-NaN pointers I would say no C performance.</comment></comment></comment></comment>


MinHash for Dummies (2013) - <AUTHOR> http://matthewcasperson.blogspot.com/2013/11/minhash-for-dummies.html

<comment><USER2> This glosses over so much detail that really helps you understand MinHash and LSH. I feel like matt has really solid intentions, but this is one of the algorithms where actually reading the math and understanding it helps you write a good implementation. You're also missing the intuition (random projection) behind this sort of method by skipping out on the maths.

For book chapters: Sarier Har-Peled's comp-geo book has a pretty solid chapter on LSH from a geometrical point of view and builds it up from basics in Hamming Space.

Otherwise the Ullman book the author recommends is pretty excellent. [http://infolab.stanford.edu/~ullman/mmds.html](http://infolab.stanford.edu/~ullman/mmds.html)

<comment><USER3> > Sarier Har-Peled's comp-geo book has a pretty solid chapter on LSH from a > geometrical point of view

Do you mean this one?

[http://www.amazon.com/Geometric-Approximation-Algorithms- Mat...](http://www.amazon.com/Geometric-Approximation-Algorithms-Mathematical- Monographs/dp/0821849115)

</comment></comment><comment><USER4> I thought this was a good Cliff's notes style summary of MinHash. Thanks for posting it, Matt.

It looks like your intro paragraph has some people here on HN convinced that you hate math... might want to change that.

Of course the Ullman chapter is also pretty readable, and if you have the patience for 50-some pages, there's a lot more detail and rigor there.

</comment><comment><USER5> > Before I start, please take a look at [this other, clearer > explanation]([http://infolab.stanford.edu/~ullman/mmds/ch3.pdf](http://infolab.stanford.edu/~ullman/mmds/ch3.pdf))

FTFY</comment>


What Climate Science Tells Us About Temperature Trends: Is It Time to Panic? - <AUTHOR> https://reason.com/2019/11/21/what-climate-science-tells-us-about-temperature-trends/ <comment><USER2> It's time to shut down the one hundred corporations that are responsible for 70% of annual CO2 emissions.</comment>


An Interesting Pattern in the Prime Numbers: Parallax Compression - <AUTHOR> http://www.novaspivack.com/science/we-have-discovered-a-new-pattern-in-the-prime-numbers-parallax-compression <comment><USER2> The drawing is incorrect.

More specifically, it's a drawing of OEIS A054521 (black if gcd(row, col) == 1, red otherwise), not of the parallax compressed primes. The two drawings do not match as claimed. The first place where they differ is row 9, column 1, which is drawn as black even though none of 217, 226, 235, 244, 253, 262 are prime.

It's clear that gcd(row, col) == 1 is a necessary condition for there to be any primes in that cell (which consists of the numbers col + 3row² − 3row, col + 3row² − 2row, col + 3row² − row, col + 3row², col + 3row² + row, col + 3row² + 2row), but it's not sufficient. There's no way it could be sufficient, because there are only constantly many (six) numbers tested in every cell, but the asymptotic density of the primes goes to 0 and the asymptotic density of A054521 goes to 6/π².

<comment><USER3> Their picture is correct, but only because they are doing something more ridiculous than this. Every one of the squares in their picture represents 75 numbers, not 5 numbers.

<comment><USER2> Click on the definition of T, and you see exactly the A054521 formula.

T = (n, k) => { return (GCD(n, k) == 1) ? 1 : 0; }

The given code doesn't use primes, primesSet, or isPrime at all.

<comment><USER3> But that does produce a picture identical to theirs. Because they are using 75 numbers per square, they do end up hitting at least one prime in each box with (n,k)=1 for the first 75 rows. This pattern won't continue much longer, which is why they've conveniently stopped the picture at that point.

<comment><AUTHOR> From what we have seen in our tests, the pattern holds for the number of rows n, where n = the number of integers contained in a cell. After n rows the symmetry breaks. We haven't tested every possible n yet however. It would be great to do more tests and let's see if there are exceptions.

<comment><AUTHOR> Actually someone did point out an exception and it generates something very interesting we didn't see before. The pattern is different for odd n. But also has an interesting self-similarity. See the discussion on Telegram about this. [https://t.me/joinchat/G8AnchIna2q8yn1lGHirkA](https://t.me/joinchat/G8AnchIna2q8yn1lGHirkA)

</comment></comment></comment></comment></comment></comment><comment><USER4> I wonder why the authors took the time to generate an image of their pattern but refrained from giving the actual DEFINITION. This does not foster constructive discussion of any possible ideas present. As can be seen in dozens of well-meaning comments here, people waste time reversing and guestimating parameters etc.

Looking at the layman letters that my institute gets on a regular basis, I can say, that this is unfortunately a recurring theme with amateur mathematicians: They fail to state their basic definitions and assumptions and seem all to eager to dive right into applications, be it computer graphics, cryptography or finance.

More to the point: This picture seems from a cursory inspection to plot T(k,n) with n=row, k=column from the top left. But why is this interesting?

<comment><USER5> As far as I could gather from one of the links in the article, the definition seems to be "cell n is black if there is a prime in the interval [Rn , R(n+1)[, for R a natural number". The "pattern" supposedly holds for R rows when displayed in a triangular arrangement, equivalently R^2/2 cells

<comment><USER6> That's what they say, but the generated image is different (e.g. the first cell of the second row should be red)

</comment></comment></comment><comment><USER7> Awesome! It's the math enthusiast's dream to come up with something new and exciting outside of academia. Recently I discovered what I thought was an interesting chaotic map, but after posting a question about it to Math StackExchange[1] and emailing one or two professors (no response, which is understandable), my obsession waned and I gave up on trying to figure out if it had any significance. Maybe I should keep trying!

[1] [https://math.stackexchange.com/questions/2654984/identifying...](https://math.stackexchange.com/questions/2654984/identifying- this-chaotic-recurrence-relation)

<comment><USER8> Keep going!

Don't forget: There's nothing bad about no-response - People are much more likely to respond on the web and email when you're wrong. ;)

<comment><USER9> > There's nothing bad about no-response - People are much more likely to > respond on the web and email when you're wrong. ;)

There certainly could be something bad about no-response. As someone in academia who gets uninformed musings or crackpot theories from laypeople in his mailbox from time to time, no-response basically means "I know you are wrong, seriously wrong (and, in many crackpot cases, probably mentally ill), but I am not going to just waste my time trying to tell you that."

<comment><USER8> It sounds to me like you should have a prewritten response for people who were interested enough to contact you, but who don't know where to start.

<comment><USER9> I am sceptical of the ability of laymen to even meaningfully understand the field that I am in enough to contribute their own ideas. The amount of literature that would have to be read and assimilated is vast, really achievable only for academics. My prewritten response would only be "Do at least an MA in this field, then we'll talk".

<comment><USER8> I genuinely think that's a good response.

Maybe the majority of recipients won't act, or they'll even take offense, but if somebody in there chose to contact you because they look up to your position, you could easily find in a few years that you challenged somebody to get on the right track with one of those responses. Some people are on the fence and looking for a push.

Obviously it's up to you, but I think it's worth a shot.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Yep - we are not claiming to be mathematicians, we're pattern hunters... this is an open invitation to others with more expertise to chime in and help figure this out... it's possible it is a minor discovery or even not a discovery... or it could be useful or even very useful. We don't know. Please help us explore it!

<comment><USER10> _"we are not claiming to be mathematicians, we 're pattern hunters."_

"Searching for interesting tautologies" or "Hunting for patterns" are good descriptions of what mathematicians do.

Mathematicians do mathematics because they want to be sure that a) they caught a pattern and b) that it is interesting. That's what's being discussed here.

<comment><AUTHOR> Actually there is a pattern. Take a look at the Mathematica code on GitHub.

<comment><USER11> I think the parent's trying to tell you guys not to sell yourselves short - that what you're doing is exactly what mathematics is.

</comment></comment></comment></comment><comment><USER12> This made me curious, so I wrote a javascript version that renders a larger image of it:

[http://www.gibney.de/parallax_primes](http://www.gibney.de/parallax_primes)

<comment><USER13> Using your frames here's the sequence as N goes from 2 to 90 with a stride of 2: [https://streamable.com/l7r96](https://streamable.com/l7r96)

<comment><USER14> This is what I wanted to see! Like others have said this looks like it approaches that image as N grows large.

</comment></comment></comment><comment><USER15> The way the numbers are picked into the 75-number groups is responsible for pretty symmetry.

If you replace condition isPrime() with simpler checks: "is not divisible by 2" "is not divisible by 2 and 3" .. "... by 2, 3 and 5" .... "... by 2,3,5,7,13,17 and 23" ... you'll get more and more complex images but still symmetrical.

For me the whole thing is subtle hiding of messiness of primes into the strong, pretty, symmetrical shape which obscures the mess and just gets richer and more artistic due to that.

Experiment with the code provided by user no_gravity here: [http://www.gibney.de/parallax_primes](http://www.gibney.de/parallax_primes)

By changing the contents of isPrime() function you can see how you get fooled into thinking there's order in primes by mixing messiness of primes into the order of number picking scheme.

<comment><USER12> I was thinking in the same direction but could not come up with a simple test. Your idea to start with "is not divisible by 2 .. 3 .. 4 .." is great.

It's interesting, that up to 4, it's a perfect pattern:

        function isPrime(n) { return n%2 && n%3 && n%4; }

As soon as you get to 'Not divisible by 5' noise starts to appear:

        function isPrime(n) { return n%2 && n%3 && n%4 && n%5; }

This 'noise' closes some gaps between the pattern and makes it look like runes.

Would any type of noise do this?

Here is how it looks like with some random noise added:

        function isPrime(n) { return n%2 && n%3 && n%4 && (Math.random()>0.95); }

It is not as structured as the version based on primes.

As of now, I'm not sure what to make of it. Maybe there is some other type of simple 'noise' that creates something as complex and logical as the primes. Maybe not.

</comment></comment><comment><USER16> My take, but correct me if I'm wrong.

Take the relation to the GCD triangle [http://oeis.org/A054521](http://oeis.org/A054521)

At GCD(n,k)!=1 all numbers are divisible by GCD(n,k) therefore contains no prime

At GCD(n,k)==1 we have [https://en.wikipedia.org/wiki/Dirichlet%27s_theorem_on_arith...](https://en.wikipedia.org/wiki/Dirichlet%27s_theorem_on_arithmetic_progressions) \- so those series contain infinitely many primes - and seems like they actually contain at least one prime in all the pixels of the first N rows (but this should be explained/proved, if it is always true for any chosen N, or just happen to be true for the N-s tried by the OP)

<comment><USER17> You're onto it: what you say would still need to be proven is actually not even true, see anderskaseorg's comments, e.g. [https://news.ycombinator.com/item?id=17104624](https://news.ycombinator.com/item?id=17104624).

So their picture is nice, and the gcd!=1 cells are all red, but the gcd=1 cells need not be black. For odd N this fails loads of times (always?), and for even N you quickly find failing cells when you start looking for it (see linked comment).

</comment></comment><comment><USER18> It wasn't exactly clear to me when I read the article, so here's my explanation:

\- take a line of integers, color them black if prime, red otherwise

\- hexagonally arrange them in a spiral (similar to Ulam's spiral)

\- cut the hexagon into six equilateral triangles

\- overlap the triangles (rotate where necessary)

\- if any pixels are black, color the whole thing black, if none are black, color it red

\- interesting pattern arises

\- interesting pattern already exists as per [http://oeis.org/A054521](http://oeis.org/A054521)

Edit: They may be packing more than 6 numbers into a pixel, looks like 75. Unsure how that would look visually, but you extend the above to use 75 or any other number. Unsure why 75 was chosen, maybe it's the only interesting one?

<comment><USER16> Just check the numbers listed in one of the referenced articles, it is easy to expand it by induction to numbers greater than 6: [https://beta.observablehq.com/@montyxcantsin/unwinding- the-u...](https://beta.observablehq.com/@montyxcantsin/unwinding-the-ulam- spiral)

It also helps to understand my other comment about the explanation of the pattern and GCD equivalence...

</comment></comment><comment><USER19> I wrote some code to replicate this in the console, overlaying A054521 (in colors) onto their triangle (using _ and #) for any N. The output from running

      ./prime-triangle.py 74

is included as x_output_74.png. It's not fancy, but it could save you some time trying to figure out what the actual formulae are.

[https://gist.github.com/mortehu/ccca0bafc7a9caa26d6008379057...](https://gist.github.com/mortehu/ccca0bafc7a9caa26d6008379057e3cc)

Edit: Other than 2, 14, 20, 30, 38, 44, 50, and 74, the two patterns match perfectly for every even N up to at least 600.

Edit 2: Looks like this is related to Linnik's theorem: [https://en.wikipedia.org/wiki/Linnik%27s_theorem](https://en.wikipedia.org/wiki/Linnik%27s_theorem)

</comment><comment><USER20> From a cryptography standpoint, could this hint at attack vectors for things like discrete log problems? I've only learned of the math behind that myself recently, not sure what implications having a "topographical map of the primes" could have, especially if the pattern is relf-repeating regardless of the size of the primes.

<comment><USER21> Yes, but only up to a certain point. Larger semiprimes are still a pita to get the primes out of.

</comment></comment><comment><USER22> My gut sense is that this has something to do with visualizing the sieve of Eratosthenes, and nothing more than that. But I'd be happy to hear otherwise.

<comment><USER23> Other than the sieve of Eratosthenes being a way to compute a finite list of primes I don't see the relationship here. Could you elaborate?

<comment><USER24> I think the relationship is that the sieve has a natural shape since it's based on ruling out multiples.

<comment><USER23> Isn't the sieve's eventual shape just the list of prime numbers?

</comment></comment></comment></comment><comment><USER25> A few quick observations:

\- The right edge of the triangle is always red (ie, no primes present), because it represents (row number) * (3* (row number)+[1..6])

\- Prime numbered rows are always black (except the far right column). I can sort of feel why this is true but can't express it mathematically yet.

<comment><USER6> It's equivalent to [http://oeis.org/A054521](http://oeis.org/A054521)

Cell i of row j contains n elements of an arithmetic progression, with common difference of j. If i and j have a GCD != 1, they are not coprime, so they share a factor p, as do all numbers in the sequence, so they cannot be prime

Otherwise it's very likely there's at least one prime

If j is prime every column i is coprime with it, so it's going to be black

</comment></comment><comment><USER26> > on January 18, 2018, I found a numerical sequence that generated the exact > same pattern as Shaun's pattern

Does this mean that we have a sort of bloom filter-esque test for primality? (ie, it will give you a guaranteed no in O(1) but you'll have to crunch numbers to get the yes?)

If so, are there implications for things that want to know "is it prime?" quickly? Crpytography comes to mind, for instance...

<comment><USER27> We already have quick algorithms that say "is it prime" with certainty. Reducing the required time from O(log^6(n)) to O(1) isn't particularly important from cryptographic point of view.

[https://en.wikipedia.org/wiki/Primality_test#Fast_determinis...](https://en.wikipedia.org/wiki/Primality_test#Fast_deterministic_tests)

<comment><USER28> Note that log(n) is the length of the prime, so if you are using 2048 bit primes, log⁶(n) is quite large. I don't think anyone actually uses one of the general deterministic primality testing algorithms in cryptographic applications.

</comment></comment></comment><comment><AUTHOR> Shaun is going to update the code with some additions that will hopefully help clear up some of the questions / confusion below. We will also post Mathematica code that is more rigorous. And a new finding. Stay tuned.

</comment><comment><USER29> What would it look like if instead of a binary coloring, you used a gradient coloring representing the number of primes in each range?

<comment><USER30> I played around with the cool demo posted by no_gravity: [https://news.ycombinator.com/item?id=17104652](https://news.ycombinator.com/item?id=17104652)

replace the source with the one I dropped here and hit Go: [https://pastebin.com/aw9nRmeZ](https://pastebin.com/aw9nRmeZ)

It's actually fun to run the original first and then watch the colors overlay on top of it.

<comment><USER31> I fiddled with your version and changed the colours to a heatmap-like colour scheme adapted from [https://stackoverflow.com/questions/12875486/what-is-the- alg...](https://stackoverflow.com/questions/12875486/what-is-the-algorithm-to- create-colors-for-a-heatmap)

This shows the pattern again:[https://imgur.com/qR4iGJb](https://imgur.com/qR4iGJb)

Further fiddling ~shows~ highlights more patterns: [https://imgur.com/a/Yjln2RX](https://imgur.com/a/Yjln2RX)

</comment></comment></comment><comment><USER3> This just shows the reduced residues mod n. There are n squares in the nth row from the top. Color the kth square of the nth row black if gcd(k,n)=1, color it red otherwise.

<comment><USER32> How is that?

Isn't it plotting a prime spiral, not GCD?

Obviously prime implies gcd=1, but the "kth" square isn't "k", because it's a spiral counting up from the center.

<comment><USER3> No, it isn't plotting a prime spiral. Each square in their triangle is a block of 75 numbers. Within the nth row the numbers are sorted by residue mod n.

</comment></comment></comment><comment><USER33> Just run a search on: prime numbers fractal, and many interesting articles (both academic and other) will surface. Search for: zeta function fractal, and you'll find more. I'm no mathematician but it wouldn't surprise me if two very deep fields turn out to be different "manifestations" of some deeper underlying truth, and I then wonder about the possibility of a larger grand unified theory that includes both maths and physics that would have far reaching insights which would go beyond both mathematics and physics, but then I realise that perhaps I've seen too many movies :-)

</comment><comment><USER34> These runes would serve excellently as a written alphabet for an alien species in fiction (or maybe for modrons or other Lawful creatures in D&D).

<comment><USER35> I'd like to see the triangle fractal as a starting state for Conways "Game of Life".

<comment><USER36> As displayed in the image, every other row is offset by half a square from being on a grid.

Maybe if you shifted everything to the left to line it up, but

<comment><USER37> Who said you couldn't have a hexagonal lattice? Instead of 8, every field has 6 neighbors. The only problem with that really is that you have to expect the 23/3 rule to look differently on that grid. So, no standard glider.

</comment></comment></comment></comment><comment><AUTHOR> The Javascript code at Observable has been updated to render it correctly for both even and odd values of n now.

This addresses the issues that were pointed out below for the most part.

In short, actually there are some curious patterns in this, and they are not simply equivalent to OEIS A054521 (as we, and others, initially thought they were).

For even values of n, they can be rendered by the GCD sequence, without the primality testing. But for odd values the pattern is different and GCD doesn't describe it.

The Mathematica code on Github lets you experiment with this.

There are some nice versions, and experiments in different ways of coloring or arranging the graph in the Telegram group as well.

Telegram group [https://t.me/joinchat/G8AnchIna2q8yn1lGHirkA](https://t.me/joinchat/G8AnchIna2q8yn1lGHirkA)

Javascript code [https://beta.observablehq.com/@montyxcantsin/unwinding- the-u...](https://beta.observablehq.com/@montyxcantsin/unwinding-the-ulam- spiral)

Mathematica code: [https://github.com/shaunxcode/a-pattern-in-the- primes](https://github.com/shaunxcode/a-pattern-in-the-primes)

<comment><USER38> One correction (already accepted by your co-author @shaunxcode) is that even for even n, your triangle and the one formed by OEIS A054521 are not equivalent. Specifically, here are some values of N, and (row, column) coordinates where the gcd sequence and your sequence differ:

        Counterexample: N=14, (R,C) = (13, 3)
        Counterexample: N=20, (R,C) = (17, 8)
        Counterexample: N=20, (R,C) = (19, 1)
        Counterexample: N=30, (R,C) = (17, 7)
        Counterexample: N=30, (R,C) = (19, 1)
        Counterexample: N=38, (R,C) = (37, 8)
        Counterexample: N=44, (R,C) = (31, 2)
        Counterexample: N=44, (R,C) = (37, 2)
        Counterexample: N=50, (R,C) = (43, 13)
        Counterexample: N=74, (R,C) = (73, 43)

(For n=74, look at the last shown row in the post right now, for N=73, where there's a "stray" red dot: this dot wouldn't be present in the computed-from- gcd sequence.)

There are very few counter-examples though (larger ones seem hard to find); you can see some reasons in my long comment here: [https://news.ycombinator.com/item?id=17106193](https://news.ycombinator.com/item?id=17106193)

Here's a rough heuristic calculation for how many counterexamples we should expect. Let's say gcd(R,C)=1, so that there should be no "special reason" to expect everything in the set to be composite. Then, as the set contains N numbers each of size roughly (NR^2/2), each is prime with "probability" 1/log(NR^2/2) — this is the Cramer heuristic — so the probability that _all_ of them are composite is

        (1 - 1/log(NR^2/2))^N < (1 - 1/log(N))^N ≈ e^(-N/log N).

Even with about N^2/2 chances for a counterexample, the expected number of counterexamples (union-bound) is only N^2e^(-N/log N), so for sufficiently large (even) N, the probability of the two drawings differing at any point should be vanishingly small. In fact, by this heuristic, we should expect only finitely many counterexamples, so quite likely the 10 above are the only ones.

<comment><AUTHOR> Here is animation by Ian Rust that shows how the pattern approaches GCD as the even values of n increase.

[https://streamable.com/l7r96](https://streamable.com/l7r96)

Note that for odd values of n the pattern does not resemble GCD.

</comment></comment></comment><comment><USER39> Is there are particular reasoning or meaning to each dot being 6 numbers? Is there any significant changes if you pick other numbers per dot, following the same pattern?

Based on the linked explanation here: [https://beta.observablehq.com/@montyxcantsin/unwinding- the-u...](https://beta.observablehq.com/@montyxcantsin/unwinding-the-ulam- spiral)

<comment><USER40> Because primes exist on a base 6 numeric scale. Where all prime numbers are multiples of 1 and 5.

<comment><USER41> ... I think that statement is only true for the prime number 5. ;)

<comment><USER40> Base 6:

1,2,3,4,5,6

7,8,9,10,11,12

13,14,15,16,17,18

19,20,21,22,23,24

25,26,27,28,29,30

See a pattern? 2 & 3 are the only prime numbers that are an exception. All others are multiples of 1 and 5.

<comment><USER42> > All others are multiples of 1 and 5.

Assuming you used "and" when you meant "or", that's trivially true (and redundant) in that all numbers (irrespective of base, which has no effect on this) are integer multiples of 1.

But no primes other than 5 are integer multiples of 5, in any base.

<comment><USER40> > Senary may be considered interesting in the study of prime numbers, since > all primes other than 2 and 3, when expressed in senary, have 1 or 5 as the > final digit.

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

I expressed it poorly, but not as you state, incorrectly.

<comment><USER42> > I expressed it poorly, but not as you state, incorrectly.

No, really, it _is_ completely incorrect to use "multiple of X in base Y" to mean "have X as the final digit in base Y" (which is equivalent to "is congruent to X modulo Y.")

13 is not, in base 10 (or anywhere else), a multiple of 3.[0]

That's just not what "multiple" means.

[0] Well, the number denoted by the digits "13" in any base that is itself a multiple of 3—other than base 3 itself where "13" is not a valid number—is a multiple of 3, obviously, but we're talking about the number represented by "13" in base 10.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> UPDATE - Saturday May 19

Join the Telegram group to discuss: [https://t.me/joinchat/G8AnchIna2q8yn1lGHirkA](https://t.me/joinchat/G8AnchIna2q8yn1lGHirkA)

Note that Even and Odd Values of N have a very different pattern. For example try using the values 99 and 99, and then 100 and 100, in this HTML preview version:

[https://htmlpreview.github.io/?https://github.com/acmegeek/p...](https://htmlpreview.github.io/?https://github.com/acmegeek/primes/blob/master/index.html?11)

Here is animation of increasing even values of N approaching GCD: [https://streamable.com/l7r96](https://streamable.com/l7r96)

CODE TO TRY:

Javascript [https://beta.observablehq.com/@montyxcantsin/unwinding- the-u...](https://beta.observablehq.com/@montyxcantsin/unwinding-the-u..).

Mathematica [https://github.com/shaunxcode/a-pattern-in-the- primes](https://github.com/shaunxcode/a-pattern-in-the-primes)

Perl [https://www.dropbox.com/s/z5tfub5geyuctex/prime- draw.pl?dl=0](https://www.dropbox.com/s/z5tfub5geyuctex/prime-draw.pl?dl=0)

EXPLANATION:

In short, actually there are some curious patterns in this, and they are not simply equivalent to OEIS A054521 (as we, and others, initially thought they were).

For even values of n, they can be rendered by the GCD sequence, without the primality testing. But for odd values the pattern is different and GCD doesn't describe it.

</comment><comment><USER43> Just a heads up, but I would pay money for mugs/t-shirts with the pattern. Of course I can just use to code to make it myself, but it's nice to support people sometimes

</comment><comment><AUTHOR> We will be happy with "it's a really pretty visualization of the primes" or "it's an improvement on the Ulam Spiral." But if it has more value than that (not sure.. but possibly there is some link in this that might be useful) then that's great too.

</comment><comment><USER36> I am a little confused. When it says that each square corresponds to n sequential numbers, does it mean that the first square is the first n, and the second square (which is on the second row) is the first n after those, and the third square (also in the second row) has the first n after those, and so on,

Or, do the regions overlap?

I tried to look at the first 4 rows for n=5, but did not see the pattern depicted (each interval had a prime in it).

Am I interpreting what is meant by the blocks incorrectly, or does the pattern not work for small enough n?

<comment><USER44> For fixed n, a block (x,y) contains the numbers n/2 _y^2-n /2_y + yz + x for all 0 <= z < n.

<comment><USER36> Making sure I am parsing that correctly:

Is that

((n/2) * y^2) - ((n/2) * y) + (y * z) + x ? (For z ranging from 0 to n)

If so, alright, that makes more sense to me, thanks.

So, n * (y * (y-1)/2) + x + y * z ?

Edit: does HN have an escape character to deal with the asterisks?

<comment><USER45> Having whitespace after the asterisk or indenting the line by two or more spaces seem to be the only possibilities according to the "Formatting Options"[1]

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

</comment></comment></comment></comment><comment><USER46> The Ulam Spiral: [https://en.m.wikipedia.org/wiki/Ulam_spiral](https://en.m.wikipedia.org/wiki/Ulam_spiral)

<comment><USER47> Desktop link: [https://en.wikipedia.org/wiki/Ulam_spiral](https://en.wikipedia.org/wiki/Ulam_spiral)

</comment></comment><comment><AUTHOR> Here is a Dropbox link to the Mathematica code. Thanks to some of the input today we have found that this pattern does not exactly match the gcd triangle - which actually makes this more interesting in a way.

[https://www.dropbox.com/s/d2dfwhxdmzkp4y4/a-pattern-in- the-p...](https://www.dropbox.com/s/d2dfwhxdmzkp4y4/a-pattern-in-the- primes.nb?dl=0)

</comment><comment><USER47> The Telegram link leads to a distribution channel, not a group, so one cannot actually discuss it there. I let the author know through the contact feature on the website, as it might be unintentional.

Edit: The link was changed to a group (at the bottom of the post).

<comment><AUTHOR> fixed

</comment></comment><comment><USER48> Maybe it is good to know that within the sequence of all prime numbers there infinitely wide gaps : take (n+1)! +2, (n+1)! +3, ..., (n+1)! + (n+1)

That is a sequence of n consecutive numbers none of which are prime.

Not sure how that would map in this triangle shape yet.

</comment><comment><USER49> For those that like to mess around with the J programming language, here is what I believe is correct code to generate this parallax compression pattern.

      pack =: 3 : '+./ (r,y+1) $ (npc*y+1) {. (npc*y) }. p' "0
      pc =: 3 : 0
        r =: npc =: y
        c =: +/ 1+i.y
        p =: 1 p: (1+i.c*npc)
        pack i.r
      )

Image of output for numbers-per-cell = 75 here: [https://twitter.com/seanstickle/status/997675789264015361](https://twitter.com/seanstickle/status/997675789264015361)

</comment><comment><USER50> This is awesome. How can we access the code to play around with?

<comment><USER51> It is in an observable doc so you can fork it etc. [https://beta.observablehq.com/@montyxcantsin/unwinding- the-u...](https://beta.observablehq.com/@montyxcantsin/unwinding-the-ulam- spiral)

</comment></comment><comment><USER52> I'm noticing a few neat things about there is left-right reflected symmetry.

Really neat! (I still know I haven't the math chops though. Good place to further my study)

</comment><comment><AUTHOR> Here is an animation (thanks to Ian Rust) showing how the even values of n approach the GCD pattern (OEIS A054521) as the values increase [https://streamable.com/l7r96](https://streamable.com/l7r96) however the odd values of n are not equivalent to the GCD pattern.

</comment><comment><USER53> Is each row the same as if the remainder on division of the cell number by the row number is 0 then red, otherwise black?

<comment><USER54> I would also like a clearer explanation of how this was generated, maybe with pseudocode, and would also like to see the larger images mentioned in the post.

As it is, the explanation doesn't really make sense to me.

EDIT: Found this lower down: [https://beta.observablehq.com/@montyxcantsin/unwinding- the-u...](https://beta.observablehq.com/@montyxcantsin/unwinding-the-ulam- spiral)

</comment></comment><comment><USER55> Is this really capturing a pattern in primes, or a pattern in non-primes (which is totally not surprising).

<comment><USER56> Whats the diff?

<comment><USER55> Well, every third number is a non-prime. There's no pattern like that for primes.

</comment></comment></comment><comment><USER57> "Fooled by randomness."

</comment><comment><USER58> The prime numbers are interesting no matter how you slice and dice them!

</comment><comment><USER59> I wonder if there's a pattern to how many primes per cells-with-primes.

</comment><comment><USER60> It may turn out to be a pretty small part, but history was made today :) keep it up, stuff like this is awesome! You may not be mathematicians and it may turn out this is nothing hugely new, but even so, the proof of such itself is interesting. keep up the cool work!

</comment><comment><USER61> This is... Amazing...!

</comment><comment><USER62> in an Hexagon is a pattern following rules of the fibonacci spiral... but never told anybody about it cause of the effect....

</comment><comment><USER63> Does this get us closer to being able to generate the Nth prime without factorization / primality test of every number?

<comment><USER27> No, very far from it

</comment></comment><comment><USER64> If you throw out the last cell of every row, the pattern is symmetrical.

</comment><comment><USER65> "It looks like something they found on the ship at Roswell."

</comment><comment><USER66> The pattern looks nice, but I would have asked some mathematicians before announcing this as something novel.

<comment><USER67> Come on, does every cool thing need a stamp of approval by "experts" before publication?

"SQLite looks nice, but I would have double checked with Oracle engineers before announcing this as something novel"

<comment><USER66> Well, to some extent, yes.

Otherwise you'd end up like the MD who've "rediscovered" numerical integration (the trapezoid method) and got it published in the journal of diabetes or whatever.

<comment><USER68> > Otherwise you'd end up like the MD who've "rediscovered" numerical > integration (the trapezoid method) and got it published in the journal of > diabetes or whatever.

This was shocking because calculus is a required subject in American high schools, and this American doctor presumably went to American high school, not because the doctor didn't check in with mathematicians. Frankly, it would be equally shocking if the doctor had asked a mathematician if integration were a thing, because presumably a doctor is an educated member of society.

<comment><USER69> Nonetheless, even though it's highly embarrassing to the parties involved, with a little bit of self-deprecating humor if I was the doctor, I could tell people at parties that I, along with Newton and Leibnitz have been published on a foundational numerical integration method. ^_^

<comment><USER68> ha!

</comment></comment></comment></comment></comment></comment><comment><USER70> If this can really map prime numbers to a least a general region, would we be able to break Diffie-hellman key exchange more quickly?

If so this could be a huge blow to security.

But I must say this is amazing that they were able to visualize prime numbers in this way. These guys are geniuses.

<comment><USER44> No, this won't help with finding primes. As they noted, the pattern for ranges of size k only holds for k lines. So to find a prime of length N (on the order of 2^N), we need to have k=O(2^(N/2)). However, this yields a guarantee that a prime lies in a range of size O(2^(N/2)), which is not particularly useful. We get _exponentially_ better probabilistic results from the prime number theorem.</comment></comment>


FBI official: It's America's choice whether we want to be spied on - <AUTHOR> http://arstechnica.com/tech-policy/2015/11/fbi-official-its-americas-choice-whether-we-want-to-be-spied-on/ <comment><USER2> The title is a little misleading. From the article:

> FBI Director James Comey told a congressional panel last month that the > Obama administration won't ask Congress for legislation requiring the tech > sector to install backdoors that let authorities access encrypted data. > However, Comey said the administration will lobby private companies to > create such backdoors.

If the administration asks Congress to legislate on the issue, then they are asking the people to weigh in (through their representatives.)

Private lobbying by the executive branch is not the people deciding.

Although we elect the president, unilateral executive actions (executive orders, private lobbying) are in the darker-grey areas of representation. Important tool for efficiency's sake, but, used in highly controversial areas, feel to me more like side-stepping sensitive issues.

Similarly, his later comments contradict how government surveillance is traditionally implemented:

> At the most fundamental level, it really is about the relationship between > the people and the government, in particular... when it relates to > surveillance by the government of the people and under what set of > circumstances do the people want that to happen. What do you want us to do > and what risks are you willing to take on all sides of the equation?

If the people don't know what means of surveillance are being implemented, they have no way of determining under what circumstances they want surveillance to happen.

<comment><USER3> The title is a lie. Either Tech companies are required to install backdoors or the administration will incentivise private companies to create such backdoors.

In the best case scenario, it's up the management of the company to refuse to create such backdoors. There's no America's choice here.

"Baker said today that it's important to balance all the different concerns. "

This is bad phrasing. Do we decide if it's important to balance all different concerns between a robber and a victim? Police to Robber: "Don't take everything. You only need $200, so take only $100 as a compromise and leave the wallet."

<comment><USER4> I can imagine an FBI official going to a tech or communications company and saying "either give us access to your users' data, or we will spend our time looking _very_ closely at _you_ ". This is especially likely and frightening given the (recent) Yates memo.[1]

[1] [http://www.justice.gov/dag/file/769036/download](http://www.justice.gov/dag/file/769036/download)

<comment><USER5> I don't really get the objections to the Yates memo.. People were _outraged_ that nobody went to jail post-GFC, now the FBI puts together a framework to ensure jailtime for criminals and people are _outraged_ that they're going to cooperate with the businesses to get convictions?

</comment></comment></comment></comment><comment><USER6> This is what I've been saying for a while. The US government is all kinds of screwed up, but at the end of the day it's still reasonably representative. If We The People decided tomorrow that we wanted to put a stop to all of this surveillance, then it would stop. The screwed-upness does add some amount of bias, so if it was, say, 51% against and 49% in favor, it might well keep going. But if it was more like 75/25 against, it would stop pretty much immediately.

It's our choice. If you don't feel that "our choice" matches your own wishes (it certainly doesn't match mine) then that's just because you're in the minority, or at best you're in a majority with very slim margins.

<comment><USER7> Tell that to the 2000 presidential election...

<comment><USER4> Can everyone please stop bringing this up? The 2000 Presidential Election was the inevitable consequence of the electoral system; there is almost no way to recount the votes and get a different result.[1]

[1] [https://en.wikipedia.org/wiki/Florida_election_recount#Post-...](https://en.wikipedia.org/wiki/Florida_election_recount#Post- election_studies)

<comment><USER7> Whether Gore or Bush actually won the election is inconsequential at this point, save for the lasting damage. Almost 100% of the American people want fair elections which means that all votes are counted. If the American people can't even get fair elections, something almost 100% of them undoubtedly want, then they certainly can't get anything else passed. So no, we won't stop bringing this up as it's a very real issue that we're still suffering the consequences of and a great counterexample to the post I replied to.

<comment><USER4> All votes were counted. What Gore wanted was a recount of certain areas, but without uniform standards, it clearly viotlated Equal Protections, as well as not being possible to complete before the deadline. To be clear, that portion of the Supreme Court opinion was unanimous; the remedy was where the split was.

<comment><USER7> Counted, just incorrectly. Fine for US elections.

</comment></comment></comment></comment></comment></comment><comment><USER8> > We go to judges, we do what the law requires,

> Baker said the issue must ultimately be decided by the American people.

Which is why they absolutely love Stringrays and have tried so desperately to a) not require warrants to use them and b) shield their usage of it from the public.

By 'going dark' on their exploitation of this technology they've managed to restrict public knowledge and ability to debate the fact they are flying Cesnas, containing Stingrays, in non-stop circles around most major American cities. Going as far as buying/registering the planes via shell companies and withholding they're use as evidence in trials.

</comment><comment><USER7> How ironic: it's America's choice, but when we get there to make the choice we don't have a way to make it. Seriously, what a bunch of bullshit. The only reason they're not legislating back doors is because they fear the backlash. Making such choices in America is an ability we lost many years ago. Encryption is our last line of defense in a country whose government is no longer bound by the rule of law (was it ever?) and certainly no longer serves the people (though arguably, it never did.)

<comment><USER9> The fact that they fear the backlash is why we're not living in a totalitarian state yet. When our elected officials no longer fear us, we will very soon lose the ability to elect them.

</comment></comment><comment><USER10> You're not the owner of your data if you farm out storage/serving of that data or transmit it with weak/no encryption.

You could pay someone to store and manage your data, and have contracts with them to prevent them from sharing the data. But you better be sure that data is stored at the 3rd party encrypted where you hold the keys, otherwise those contracts are meaningless to the government who can demand access to your data in secret if they choose.

The way forward I can see is for us all to host servers run from one's own home and with replicas stored at trusted friend's and family's houses in case of disaster. New protocols would need to be invented to replace things like email though, it would require quite an upheaval.

</comment><comment><USER11> It's interesting that those agencies claim their access to communications is required for them to do their work.

It feels a little bit like they got too lazy and relying on those telegraph messages used relatively widely - contrary to letter contents - will always be available to them. Now, a couple century later, they're suddenly at the state when that's not always the case - but they did they work relying on that for so long they can't do that otherwise...

Wonder what other means to catch criminals could be available?

</comment><comment><USER12> > "split-key encryption," in which tech companies would give governments the > ability to decrypt data

Aka Skipjack/"Clipper Chip". They are reusing 20 year old plans.

</comment><comment><USER13> > The complexity of having 200 nations, each with access to keys, is just > unimaginable," she said

Agreed! Now how are we going to fix the certificate authorities?

</comment><comment><USER14> > The FBI has an easier time getting data from companies whose business models > depend on viewing customer data, he said.

That says it all right there, I think.

</comment><comment><USER15> I guess it is always that balance, but at the end of the day, he who controls the flow of information does have the ultimate power. Fed's require access to monitor for disruptive things, yet the minute the population finds out, its a free for all( congressional hearings, lawsuits etc...); yet the same political BS occurs when a situation does occur,(9/11) and nothing was done to prevent it. In the end it is a no win situation. Frankly, we do need to be protected.. mainly against ourselves...

<comment><USER7> How many warnings do you need about people flying planes into buildings to actually do something about it? We had quite detailed warnings from multiple places. And none of them required decryption.

</comment></comment><comment><USER16> To be honest, nothing bad has happened...yet.</comment>


Ask HN: Cross-platform framework to build a great Mac/Windows app? - <AUTHOR> I'm looking to build an app to sell in the Mac and Windows 10 app stores.
I'd like to use a cross-platform framework so that I can reuse all my code — UI, business logic, storage, everything. The framework needs to comply with the app store rules.
I know that you get the best UX by building the app from scratch twice, once using Cocoa Touch / Swift, and then again using UWP / C#. Is there an 80/20 solution where I get 80% of the benefit with 20% of the work?
Which widely used cross-platform framework gives me the best UX?
Electron?
I'm flexible with the programming language — JS, Java, C#, Ruby, Python or Swift. <comment><USER2> For JavaScript, I use Tint2[1] or Electron[2]

[1] [https://github.com/trueinteractions/tint2](https://github.com/trueinteractions/tint2)

[2] [https://github.com/electron/electron](https://github.com/electron/electron)

</comment><comment><USER3> If you want cross platform that compiles down to native - and gives you the option to extend with native-specific functionality - then you can't beat Xamarin - specifically Xamarin Forms. [https://www.xamarin.com/forms](https://www.xamarin.com/forms)

</comment><comment><AUTHOR> I forgot to mention — I would like to deploy it as a web site as well. So, it should be a web app, but deployable with a thin native shell in the Mac and Windows app stores as well.

What frameworks fit the bill?

</comment><comment><USER4> Electron ([http://electron.atom.io/](http://electron.atom.io/))

</comment><comment><USER5> For C++, I recommend wxWidgets.</comment>


Strict ID Laws Don't Stop Voters: Evidence from a U.S. Nationwide Panel - <AUTHOR> https://www.nber.org/papers/w25522 <comment><USER2> They buried the lede again: "ID requirements have no effect on fraud either – actual or perceived."

The web site is disingenously named: "National Bureau of Economic Research". It is not an agency of the US federal government: "NBER is a private, non- profit, non-partisan organization dedicated to conducting economic research and to disseminating research findings among academics, public policy makers, and business professionals". That is, they're under no obligation to be not shade the truth.

This is actually a near-duplicate: [https://news.ycombinator.com/item?id=19134345](https://news.ycombinator.com/item?id=19134345) . The abstract has changed from concluding that election reform money should be spent somewhere other than voter ID laws to "Overall, our results suggest that efforts to reform voter ID laws may not have much impact on elections." That's a far more political conclusion than "spend your money on other things, this one has no effect", which would tend to mitigate against voter ID if it has no real effect one way or the other. Why pay for checking ID if we don't need to?</comment>


HTML6 Should Have Composeable Elements - <AUTHOR> http://tech-journals.com/jonow/2012/08/30/html6-should-have-composeable-elements

<comment><USER2> HTML6? HTML5 isn't even close to being a finalised spec, slow down there. Article makes a good point though.

</comment><comment><USER3> I've been kind of working on something like this too...

<https://github.com/greggbowden/HyperTextComponents>

It's still in it's infancy, so be gentle. ;)

</comment><comment><USER4> I feel like this would change a lot of how web frameworks, like RoR, are designed for the better</comment>


MIT and the Constant Robotic Gardeners - <AUTHOR> http://singularityhub.com/2009/04/14/mit-and-the-constant-robotic-gardeners/

<comment><USER2> I believe this article talks about a class at MIT that I submitted here: <http://news.ycombinator.com/item?id=503439>

Any startups thinking of commercializing this?

</comment><comment><USER3> What these guys did is amazing because they did it for a semester with about 10-15 students.

I was able to see that first hand because I was working in the same lounge until they took over it :)

So the start-up cost shouldn't be very-very high. Yes, it will require some initial funding but it might produce a lot of value later by enhancing the agriculture.

</comment><comment><USER4> There could definitely be a market here for 'plant-sitting' while owners are on holiday.</comment>


Set up shop with the new Shopify – TalentLMS integration - <AUTHOR> http://www.talentlms.com/blog/set-up-shop-with-the-new-shopify-talentlms-integration

<comment><USER2> Not very professional with the blog redirecting to an IP address</comment>


Ask HN: Mortgage Financing for Independent Contractors? - <AUTHOR> Does anyone out there know of any lenders that work with 1099-based independent contractors?
I have a situation now where I am being rejected by lenders for a $170,000 mortgage when earning $160,000 per year. Since January I have been working as an independent contractor on 1099. I am being told that due to not having a tax history established as a 1099-based worker that they won't count it as income. I even have W-2s that reflect similar income for the previous three years.
Additionally, I currently have a mortgage with a perfect payment history, and a pending home sale that nets me a bunch of money.
I figured I would throw this out to the Hacker News community as there must be an abundance of ICs out there. Anyone know of lenders that will work with a situation like this? Anyone have a similar story?
Heck, if nothing else, this seems like an opportunity for startups? <comment><USER2> Talk to a mortgage broker not directly with banks. There are plenty of lenders that will do low/no doc loans still and they will work with you if you can prove 2-3 years of similar salary to the 1099s. Getting loans as an independent contractor can be a pain until you have a few years of proof under your belt, but it isn't impossible if you are willing to do a little extra work. Also, I wouldn't be shocked that the first one you will pay slightly higher interest if you can't put down a substantial down payment.

I have done this myself, in fact I bought not only my personal homes while being a contractor I had bought investment real estate too. It was also weird because when I went from 1099 to my own business the first time it was harder to get loans again for a year or two, not impossible, just harder. Banks teach their front line teams to be conservative and reject anything that doesn't look like a traditional loan, unless of course you can skip those teams as the wealthy do. But every bank owns mortgage companies that do non-traditional loans, and mortgage brokers are the ones that are suited to get you a deal that works.

Don't be afraid of using a mortgage broker, they are not evil, they are not there to steal money or to raise your rates. They serve a real purpose and good ones can be a lifesaver.

</comment><comment><USER3> This is a great idea, shoot me an email.</comment>


Ask HN: Isn't it sad that till this day we pay credit card fees per transaction? - <AUTHOR> I wish there was an online only bank where you could deposit money, and use their oauth2 like process to pay online anywhere. at no cost to seller or buyer.
The company would make money by cash on hand and investing some of it, (most people would have lot of cash left over in their accounts for long periods of time), and to make it even simpler the bank didn't have to pay .002 cent in interest every month.
Paypal could have been the it, but they charge just like credit cards, and suck more than a bank would. <comment><USER2> Because in the end it's all about making money off of people trying to buy things.

Sure you could say the cost is justified to run the credit card network and keep it secure. I hope they really do.

<comment><AUTHOR> that's fine but 3rd parties in middle contribute nothing.

30cent + 3% is a LOT and many parties take their cut, as if they're transferring real bundles of cash.

3% doesn't come from profit but total reveneue.

Say you were a company and made 50 million dollars revenue. then almost $2 million right of the back goes to 3rd parties who didn't contribute to product at all. Just exchange of money caused this. Truly sad in world where you can stream TB of video live to millions of people, sending information hey TRANSFER $50 FROM ACCOUNT A TO B, is costing that.

</comment></comment><comment><USER3> In the US (and possibly EU), it's extremely expensive to become a bank -- even an online-only one. There are huge regulatory hurdles, even if you're just a money transmitter (like Venmo was when it launched).

How would the service you're describing make up its costs?

The fact is that infrastructure costs a lot to build, and it makes sense to charge people only when they use that infrastructure.

<comment><AUTHOR> generates interest off of unused cash?

use unused cash for low risk investments?</comment></comment>


Ford wants to patent a driverless police car that ambushes lawbreakers using AI - <AUTHOR> https://www.washingtonpost.com/news/innovations/wp/2018/01/30/ford-submitted-a-patent-for-an-autonomous-police-car-the-u-s-government-just-approved-it/?utm_term=.230cd2523030 <comment><USER2> Have any criminals also started using AI bots? i.e. Assassination by drone, bank heist drones, graffiti drones (for those hard to reach places), vandalizing drones, ...etc

I know there are already many peeping-tom drones.</comment>


Ask HN: Page pagination (more) for Who is Hiring post is back - <AUTHOR> Hello,<p>Why the page pagination is back for Who is Hiring posts? <comment><USER2> Probably too many posts, splitting makes the server happier (?). It's better to ask this directly to the mods firstname.lastname@example.com</comment>


Classic RAND Papers - <AUTHOR> https://www.rand.org/pubs/classics.html <comment><USER2> Hmmm. "Vietnam -- US Relations: 1945-1968" seems to be missing from this list ;)

I love Space Technology textbooks from the 1960s. Largely because the physics and math of orbital mechanics can still be provided for good simulations.

Not sure if the same holds true for Game Theory apart from historical interest.

For a better introduction see Networks, Crowds and Markets:

[https://www.cs.cornell.edu/home/kleinber/networks- book/](https://www.cs.cornell.edu/home/kleinber/networks-book/)

<comment><USER3> Why wouldn't game theory books from the 1960s be relevant? People still recommend the 1944 Von Neumann & Morgenstern book all the time. [https://en.wikipedia.org/wiki/Theory_of_Games_and_Economic_B...](https://en.wikipedia.org/wiki/Theory_of_Games_and_Economic_Behavior)

<comment><USER4> Ooo! I knew they had a theorem [0]; I'm excited to see they have a book too.

[0]<[https://en.wikipedia.org/wiki/Von_Neumann%E2%80%93Morgenster...](https://en.wikipedia.org/wiki/Von_Neumann%E2%80%93Morgenstern_utility_theorem>)

</comment></comment></comment><comment><USER5> I'm disappointed only in how few titles are listed here. The impact RAND had on how we think about complex topics and the caliber of people they engaged was simply amazing. So much of their work from their heyday in the 1950's seems either comically obvious or comically arrogant now, not because they were clueless but because they so completely shaped how we think today that we can't imagine being the first to ask those questions that way.

[edit added] And yes, I do get there were a lot of projects RAND was involved in that people could reliably and reasonably dislike or find highly objectionable. For me, as important as that is, it doesn't change the historical significance and importance (and interest) of the work RAND did, both good and bad.

<comment><USER6> These are highlights but there's a ton more material on their website, just curated by category. There aren't enough hours in the day to read it all.

</comment></comment><comment><USER7> The first game theory book I read was _Compleat Strategyst_ [1]. Less interesting flipping through it now, but at least at the time it was a good sales pitch, leading me to read a bunch more on the topic.

Seeing analytic techniques applied across competitive games was a revelatory moment for high-school-me, in the mind-candy sense. In an odd way, learning to try to wrap math around human activities shaped how I approached programming for a long time. Not that I was trying to apply game theory to programming, rather the general approach of thinking about the world as a sort of meta- word-problem. Wish I had started trying to get rid of that habit earlier.

[1] [https://www.rand.org/pubs/commercial_books/CB113-1.html](https://www.rand.org/pubs/commercial_books/CB113-1.html)

</comment><comment><USER8> It includes a book co-authored by Issac Asimov 'Planets for Man' [https://www.rand.org/pubs/commercial_books/CB183-1.html](https://www.rand.org/pubs/commercial_books/CB183-1.html)

Is it really true that people in the sixties thought that interstellar travel is 'just around the corner' as claimed in the blurb to the book? I mean RAND sold this book as a product for serious people.

<comment><USER9> I don't know _how many_ people did but in the seventies there were a lot of people who had seen the birth of the airplane to the landing on the moon. With people believing in exponential progress of technology amd things like Orion an NSWR I suspect _a lot_ of people rid assume interstellar travel was right around the corner.

<comment><USER10> My great grandmother saw the Wright brothers fly as a teenager. The moon landing was a big deal to her.

You're absolutely right. I was little when I talked with her, but my parents would surely say she would have completely accepted interstellar flights as the next thing.

<comment><USER11> Read the science/tech magazines from the 50s and 60s -- travel to the planets was imminent and ineluctable. [1]

While in principle and reason enormous achievements and progress are within reach of private enterprise, the 20th century was not dominated by reason and freedom, to say the least.

[1] [http://www.astronautix.com/v/vonbraunmarpedition-1969.html](http://www.astronautix.com/v/vonbraunmarpedition-1969.html)

</comment></comment></comment></comment><comment><USER12> "A Million Random Digits with 100,000 Normal Deviates" ([https://www.rand.org/pubs/monograph_reports/MR1418.html](https://www.rand.org/pubs/monograph_reports/MR1418.html))

Had you described this to me in conversation, I'd have been incredulous.

<comment><USER13> The review comments on Amazon tell you everything you need to know.

<comment><USER12> Given the tone of so many of these reviews, I can't tell if the first reviewer ("Obi Wan") is being serious/delusional or if s/he's using the pagination of the text to subtly(?) mock the other reviewers. [https://www.amazon.com/Million-Random-Digits-Normal- Deviates...](https://www.amazon.com/Million-Random-Digits-Normal- Deviates/dp/0833030477)

</comment></comment></comment><comment><USER14> [https://www.rand.org/pubs/reports/R3283/index1.html](https://www.rand.org/pubs/reports/R3283/index1.html)

Timeless classics. If only we were taught etiquette about electronic messaging like this in 2018.

<comment><USER15> This really is good. I might use some of this at our company. I love the stuff about not replying while emotional!

</comment></comment><comment><USER16> Also, Baran was not the only voice in the packet networking sea.. Pouzin should be recognized more. No disrespect either Baran, or RAND, but this has a feel like the washington mall history of invention.. if it didn't happen either in the US, or by a person who subsequently immigrated to the US, it almost didn't happen.

</comment><comment><USER16> I share Shapiro/Anderson on email with anyone I can convince to read it. I remember it coming out well: I'd been slung off a UK JANET email list for abusive behaviour just around this time!</comment>


Stack Overflow and the Zeitgeist of Computer Programming - <AUTHOR> http://priceonomics.com/stack-overflow-and-the-zeitgeist-of-computer/ <comment><USER2> There are so many things to know nowadays. Backend: Sql, NoSql, NewSql, etc. Middlware: Django, NodeJs, Spring, Groovy, RoR, Symfony, etc. Client: Angular, Ember, React, Jquery, etc. I haven't even mentioned hardware, security, servers/cloud, and api.

Now you also need to know about theory, UI/UX, git, deploying servers, HTTP, scrum, software development process, testing.

Then you have to keep up to date with all of the trends and know which framework to use in which scenario.

So, I wrote all of that in a minute. You can just imagine how frustrating it is to learn all of that and be expected not to look at any help or reference. You have to be crazy to have expectations that high in expecting programmers not to use stack overflow.

You burn soo much cognitive resource if you don't use stack overflow. Also, it helps you learn soo much faster. If I go to AWS there is so much jargon in that documentation, which could literally be explained in a simple sentence. Oh and guess what, that simple explanation is in Stack Overflow.

<comment><USER3> > There are so many things to know nowadays.

Honestly... not really. Unless you want to know everything out there. My college classmates are doing fine in their job search just knowing Java (no frameworks!) and SQL, just Python, even just one JavaScript framework, etc. Whatever else they need they'll learn in the job without much stress.

I honestly think this "need" of knowing as many APIs as possible is exaggerated online, partly thanks to blog posts or tweets of senior devs saying "X is this new good thing, Y is old and bad!" (which seem to be a weekly occurrence) and perhaps start ups since they don't have time to mentor because they have to grow ASAP. That works fine for them, but don't think it applies to every company.

Seriously, take some time off the internet and you'll quickly stop caring. Unless you enjoy learning so many new things!

<comment><USER4> I hate to break it to you, but knowing "just this and this..." won't get you very far when the thing you know is no longer popular, becomes infrequently used, or worse, is no longer supported. It also doesn't help you if you want to branch out into things that Java/SQL/JS/Python don't really support that well. It also won't help you if you switch focus mid-career, which people often do, from say web development to embedded systems.

No one sane is claiming that every programmer needs to know as many APIs as possible, but knowing they exist and being able to quickly find information on them is probably a requirement as you progress in your career. SO is a good place to spin up on things IMO. Is it the best way? I don't know - but it's helped me out a lot, and not for the purposes of cutting and pasting code snippets. It has literally helped me learn, syntax, paradigms, etc. in languages I use infrequently.

</comment></comment></comment><comment><USER5> SO is great for finding specific things. If you understand fundamentals it's easy to port your knowledge to some other framework by just googling, and you'll end up on the right SO question. What's the syntax for making a dictionary in some language? What do they call the dictionary in that language (map maybe)? How does the && work in the new c++? And so on.

It's much harder to learn stuff that isn't specific on SO. Things like working practices, what kinds of architecture are out there, and questions where what you're after is a kind of survey.

One thing I don't get is the speed with which the top answerers can get back to you. I've personally had questions answered by Hans Passant, Jon Skeet, Marc Gravell, Martijn Pieters, and probably a few others off that top list. Sometimes it's within minutes. Is their daily life substantially to answer questions about the technologies they are associated with? I work all day as a coder, and I don't have time to sit there and type out answers.

<comment><USER6> Hans Passant is godlike for Win32 C++ issues...

</comment></comment><comment><USER7> I view Stack Overflow as a good resource to overcome technology/language/framework specific common pain points, to get you "unstuck".

I don't think posting your homework/work project and hoping someone on the internet will complete it for you is the intended use of Stack Overflow. The people allegedly using Stack Overflow instead of learning CS fundamentals will last long in the industry. (Who are these people?)

<comment> mark-r My favorites are the ones who simply copy/paste their assignment text. Are these people really so clueless?

When it's obvious that someone is fishing for homework help, I'll try to post a hint as a comment rather than handing out an answer on a silver platter. The goal is to provide a path to understanding. Unfortunately there is always someone as clueless as the OP who will provide said silver platter.

As much as I've been helped by StackOverflow, I hope I never have to work with one of those frauds who grew up asking instead of thinking.

<comment><USER8> My _professional_ favourite is when people past in the text from our do-at- home programming exercise as a part of our recruitment process.

<comment> mark-r Given how quickly Google indexes StackOverflow, I'd imagine that results in an automatic fail.

</comment></comment></comment></comment><comment><USER9> I shudder to think of the human-hours that SO has saved the world. It is one of those sites that saves you time and effort, as opposed to being a time- suck.

<comment><USER10> ...until you get addicted to answering questions

<comment><USER11> Those addicts are still a net positive for humanity.

</comment></comment></comment><comment><USER12> There is a lot of churn in this space. Frameworks, languages, operational methodologies. When we were recruiting at Blekko and we explained that most of our code was written in Perl5, it had an interesting effect on candidates. Either relief because they knew we weren't going to pull some specific set of technologies out of the millions and demand 5+ years experience, or angst because they knew that working on code at Blekko wouldn't add any of those dozens of technologies to their resume.

At some point there is an operational advantage to having a consistent set of core technologies. If we make it so that the only way engineers can be successful is by constantly looking up answers on SO or elsewhere, then I think we've failed as an industry.

<comment><USER13> Hey there Chuck , always enjoy reading your comments and asking your for advice.

As a young engineer , I constantly get the feeling that I'm falling behind and that I can't be maintaining any single project for way too long.

One reason I think I must learn new languages is that projects written using new languages will be new stuff that's written from scratch. There's nothing wrong per-se with say Java but the odds are that if you have Java experience you'll probably be stuck maintaining some decade old enterprise app.

The same can be said today for say RoR. However if you're applying as a Go or React.JS developer you get to work on a lot of new stuff whereby you get to learn a lot more by writing whole projects from scratch.

So in such a highly competitive market people can't be blamed for being so buzzword driven.

Maintenance experience is not at all valued in the industry and people who do maintenance are looked at as lesser beings. That's the reason we keep throwing things out and reinventing the wheel.

Everyone needs to create a me-too JS framework and put it on Github so they can get hired by claiming that they're some open source rockstar.

Personally I just keep running to stay in the same place and end up learning nothing in depth because I'm spread too thin.

<comment><USER12> I pretty much agree with everything you say here. I wonder about the dissonance between _"... a highly competitive market ..."_ and the narrative that there is a tech worker shortage. Sometimes I find the recruiters do people a disservice when they suggest candidates amp up the buzzwords on their resumes.

</comment></comment></comment><comment><USER14> At the end of the article:

 _Our next post examines how much urine splashes back on you when you use a urinal._

The range of articles is... interesting.

</comment><comment><USER15> Anyone have comments/inisght as to why Clojure would have lost traction over the past year? Just curious as my impression of the language is that, relative to other functional languages, it's very useful for highly parallel computational analysis (see: ML/AI, data science, CFD/FEA, numerical analysis etc.). Many of these sub-fields are "in vogue", so I would have expected to see the opposite trend...

Anyone have insight they could offer? Thanks

</comment><comment><USER16> Ironically, StackOverflow devs themselves don't seem to care about software quality: [https://news.ycombinator.com/item?id=10519600](https://news.ycombinator.com/item?id=10519600)

<comment><USER17> Quality means many things... When it comes to the experience of the people using the site, performance - how long it takes the requested page to display - is critical; the vast majority of Stack Overflow's page requests are someone requesting a page that they urgently need to _read_.

That doesn't preclude other aspects of quality of course. But it does influence how they're approached. A heavily abstracted system that hurts performance is unacceptable, but there are other ways to achieve the same ends.

You might find this article interesting... [http://samsaffron.com/archive/2011/03/30/How+I+learned+to+st...](http://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM)

<comment><USER16> Yes, I know performance can be critical for some products - and that's the case for Stack Overflow. But I think you can't simply ignore other aspects like maintainability or security.

This article from Sam Saffron is very interesting. He was very reasonable testing the ORMs available, and only after realizing that none reached the performance he needed, he decided to write his own. The problem is when people do that and "reinvent the wheel" without searching if someone already solved that problem for you.

<comment><USER17> It's probably difficult to convey the scope of Stack Overflow's development in the span of a talk; I strongly encourage you to read the blogs of past and current developers, as they often go into far more detail about the concerns involved and the extreme care taken. The architecture itself is interesting, but IMHO it pales in comparison to the process that created it.

</comment></comment></comment></comment><comment><USER18> STACK OVERFLOW: "Curation by Humiliation"

The main problem is posing as a question and answer site, yet wanting to be the go-to reference on the web for getting accurate helpful solutions.

The people asking for help are _not_ there (most aren't) because they heard about this fantastic site that wants to be the go-to reference on the web for getting accurate helpful solutions.

The people asking for help don't want (most don't) to build the go-to reference on the web for getting accurate helpful solutions.

They want programming help.

It's a trick SO has been playing for years. Not that they'll ever realize it. The founders may not deep thinkers. Or they realize what they're doing and don't care.

After all these years, the founders have not fixed the SO problem. They have failed to address the conflict of asking knowledge-needy users to help build the go-to reference on the web for getting accurate helpful solutions without subjecting them to cruelty.

It's conceptually simple, and a bit of a bait-and-switch.

They pitch the site as a question-and-answer site. In the field of education, it is extremely counterproductive and cruel to subject someone lacking a bit of knowledge, and for whatever reason they lack it, to berating. It's just not accepted. If someone asks a question you simply do not humiliate them or berate them, or 'close the question', or edit the question they asked! It's not even the asker's question anymore if another user edits it! Curation by humiliation.

In any normal, respectful setting that promotes itself as a source to get help -- a "question and answer site" \-- if an authority figure in that setting berates someone who lacks a bit of: \- knowledge \- or even the style or manner of how they ask questions

that authority figure would be fired, dismissed.

It's _extremely_ unfortunate that the founders of SO are not brave enough (or deep-thinking enough?) to realize that failing to disclose to Users the truth about the potential cruelty, embarrassment, and humiliation they might suffer using the "question and answer site" \-- is shameful.

If a school or university allowed any educational authority figure (like moderators, etc.) to berate and humiliate people with less knowledge than they, the institution would find itself in trouble.

Some of us believe the founders realized that if they told the truth -- "we're casting a big net, a lot of you who fall for the 'it's a question and answer site' are going to be humiliated by the moderators and other users who know more than you do" \-- the founders probably realized if they had full disclosure of the "curation by humiliation" process, no one would use the site.

The fact is, the majority of SO users have been subjected to this "curation by humiliation" but are hesitant to speak out about it.

<comment><USER19> Q&A isn't necessarily Q&A, it really depends on the audience you target. If you attended an advanced mathematics course would you really be surprised if the lecturer refuses to answer a basic question you are just supposed to know the answer to as a prerequisite? Yes, it comes across as rude but there is a tradeoff because answering it wastes the time of everybody else in the room.

I was pretty active in the first years of SO but over time essentially stopped answering questions and that mostly because the question became less and less interesting. Questions you couldn't easily find an answer to got more and more replaced with questions that are easily answered by just reading the manual of whatever you are trying to use or learning to code to begin with. Another factor is that I got more knowledgeable over the years and previously interesting problems now seem trivial but I am pretty sure this is not the main contributing factor.

Now it depends on what you want SO to be or what it is supposed to be. A source of solutions for non-trivial problems or a copy of or link to the manual of everything out there plus an introduction to software development? I thought of SO as a source of information that you couldn't easily get from manuals, now it looks to me more and more like a collection of manuals, so I lost interest.</comment></comment>


Programmers, lets earn the right to be called engineers - <AUTHOR> http://www.wired.com/2015/11/programmers-lets-earn-the-right-to-be-called-engineers/ <comment><USER2> In software, your material cost is near 0, you only have a time cost. That changes your model of "most efficient path" to achieve a goal. Sometimes, depending on the problem domain, it's actually OK to test in production, because the efficiency gained is worth a bunch of potential loss due to bugs.

Sometimes in software "getting it done first" is more important than "getting it done right." (I personally despise this sentiment and avoid jobs where I'd have to do this)

Thusly, the difference between and engineer and "just a developer" then is: Engineering is a discipline involving meticulous planning, experimentation, testing, managing, and accurately predicting both results and failure modes. Sometimes writing software _is_ engineering, other times someone just wants a damned blog. I do both jobs. I like the former better than the latter.

And to address the attacks by other engineering disciplines... There are plenty of problems that piss me off all day... like red lights. Why don't we have a radar device to see if there are no cars coming down the road and instantly begin the yellow light traffic cycle so I can turn left? Why isn't my phone waterproof? Why is apple designing computers without god damned ports? Why isn't there a more practical way to save the leftovers other than refrigeration to eliminate waste? Why do we have to use crude oil to produce polymers? When a non software programmer engineer attacks my discipline with "why does my computer crash?" well because you were stupid enough to by one even though you knew it was going to happen...

<comment><USER3> _" In software, your material cost is near 0..."_

Material cost (e.g., hardware on which to deploy your program) is only near zero for small systems. If you're implementing a large system for a billion users, like Google search or Facebook, writing inefficient code could cost you a few extra acres of hardware in a data center and enough electricity to power a small city.

Actually, even small systems can have significant hardware costs associated with software. If the embedded software in a device you're building doesn't fit into your ROM, you'll need to use a bigger ROM, which may add up to a lot of money over a production run of millions of devices.

</comment></comment><comment><USER4> Living in a country where engineer is a protected title, and studying toward a degree in computer engineering that grants the title, I don't quite understand the problem.

If you have an engineering degree (or have the required qualifications where it's not protected), you are an engineer.

If you don't, you are not.

Yeah, every programmer isn't an engineer. But some of them are.

</comment><comment><USER5> We talk about engineers and scientists in the ancient world,because that's what they did, not because they had engineering schools and PhDs. It was a more primitive understanding but the craft is the same. I don't see why software engineering is any different.

</comment><comment><USER6> Yes lets.

We can start by not letting self-important engineers from other disciplines (and ostensible apologists actually looking for click bait headlines) define the character of our problem space.

</comment><comment><USER7> I can't even call myself a programmer, even after spending 14 years writing "code" and the broken social skills to show it.</comment>