Three Reasons Why the iPad WON'T Kill Amazon's Kindle - <AUTHOR> http://bits.blogs.nytimes.com/2010/01/27/three-reasons-the-ipad-wont-kill-amazons-kindle/

<comment><USER2> If Amazon does two things, a) drops price and b) continues to rapidly improve their product I think the Kindle could continue to have a very comfortable niche and could in the end either split the book market with Apple or control most of it.

Nintendo's massively underpowered Gameboy famously defeated waves upon waves of highly advanced competitors by understanding what the market really wanted (great games and great battery life) and doing that better than the competition. It's much, much too early to say how the battle between the Kindle and the iPad for the book market will play out, but I think if there is indeed a clear differentiator in quality between the Kindle and iPad screen, and the Kindle is truly better for reading, then there might be an opportunity for Amazon to put their foot in the door and show that they have the better product. For folks who are interested in an eBook Reader but already have an iPhone and a Macbook a cheaper Kindle could be the better option than the iPad.

At this point I do feel that Amazon may need to get some retail partners and to set up Kindle Kiosks in electronics and drug stores across the world. It doesn't matter if your screen is better if no one can see it first hand, and they're dazzled by the iPad they see in their local Apple store.

The other issue that Amazon faces is while they may be able to lower their price and keep a nice spacing between them and the iPad, eventually the price of the iPad will come down and the Kindle will less attractive. Amazon will need to continue to innovate on their technology and seek out relationships to build content that Apple won't be able to get. The announcement of the Kindle SDK is a good first start.

<comment><USER3> I agree wholeheartedly about the need for lower pricing - Kindle seems like something that should cost much, much less than it does. If it was priced at $99, it would go from being an overpriced toy for well-off adults to being something that every parent buys for their children. Not sure how easy that is to make jibe with the prepaid cell data plan, though.

Also agree that seeing helps the Kindle a lot, as it does for most electronics, but especially something as display-centric as the Kindle.

Disagree about the SDK, though. The Kindle screen is godawful slow at refreshing, and I've not been impressed by the user interface - I can't imagine wanting to develop on it. What do you see it being useful for besides being able to say "We have an SDK!"?

<comment><USER4> I think Amazon should decouple those two prices. Like "Buy a Kindle for $99 and get 3G Access form $10/month".

If Apple priced the iPad bundled with the cost of the data plan into it may be $1,000 with 1 year of "free" 3G.

</comment></comment></comment><comment><USER5> If I were writing this article, it would have read: "1: E-Ink. 2: E-Ink. 3: E. Ink."

Seriously though, you can't compare a device with two weeks of battery life and an e-ink screen with a large iPod. They are completely different devices for completely different purposes.

Sure, you _can_ read books on your iPad... but I doubt that is why people will be buying them.

</comment><comment><USER6> Editors to staff: iPad is hot, write _something_

      The Kindle is for book lovers, and the iPad is not.

\- Book lovers love books and the iPad lets them buy books... And if I am going to blow several hundred bucks buying one that looks nicer and also does lots of other stuff.

      Amazon will continue to improve on the Kindle.

\- So will Apple...

      The Kindle store will continue to thrive.

\- This has nothing to do with how well the Kindle will do. iPad also wont kill Amazon.com while we are at it.

<comment><USER7> I agree. Its like "we got to write about the iPad, what do you got? Everyone is saying it'll kill the Kindle, so lets say it won't... brilliant!" :)

I don't thin it'll kill the Kindle, I think it'll bring about a price drop, and more innovation from Kindle. But this article is just sensationalism.

</comment></comment><comment><USER8> The Kindle takes the book/publishment you want to read and lets you focus entirely on that. No flashy page curls, no notifications, hell not even a clock to see what time it is. It's wonderful in that sense. The e-ink is also a nice benefit, my eyes _never_ hurt from reading on my Kindle.

I think the iPad has a good idea going with iBooks and I hope they eventually do magazines as magazines are very media-heavy but I don't see it taking over the Kindles growing book environment.

</comment><comment><USER9> Kindle will get the head (heavy readers), iPad will get the long tail (casual readers). There's room for both.

</comment><comment><USER10> Blackberries still exist. The iPhone didn't kill them, and for many good reasons. Apple doesn't need to kill RIM or Amazon. But just as Blackberries won't be the definitive number one smartphone on the planet anytime soon, so does Kindle's future beyond its three million market or so look bleak.

</comment><comment><USER11> What about weight? For a paperback sized kindle it is about half the weight of a ipad... (300g for the kindle and 680g for the ipad)</comment>


New Myspace Review - <AUTHOR> http://venturebeat.com/2012/11/16/new-myspace-review/

<comment><USER2> The design looks really metro inspired. Maybe MS is onto something.</comment>


Hire me (an ex .NET developer) as your Ruby intern for a year - <AUTHOR> http://www.osherove.com/blog/2010/12/30/hire-me-as-your-ruby-intern-for-a-year.html# <comment><USER2> Good luck but what's with the car request?</comment>


Color Psychology Principles to Bolster Your Brand - <AUTHOR> https://30kstrategy.com/articles/color-psychology-principles-to-bolster-your-brand <comment><USER2> Modern heraldry, innit? Just like the antique sort with shields and banners, talking about it seems to breed this odd language that's unrelated to the rest of the world, and yet not totally nonsensical.

I'm sure many of the principles translate directly.

<comment><USER3> The antique sort is still a thing. The world would be a better place if all marketing people had to dress like this:

[https://en.m.wikipedia.org/wiki/Thomas_Woodcock_(officer_of_...](https://en.m.wikipedia.org/wiki/Thomas_Woodcock_\(officer_of_arms\))

</comment></comment><comment><USER4> I sort of agree with this, at least from the standpoint it makes it easier to view content, why I added a lot of color formatting to my pages over at stewalexander.com

The data doesn't need it, but I find it makes it more presentable</comment>


Ask HN: Feedback on an idea - <AUTHOR>

So I'm planning out this website/app that takes in (content) submissions from the audience. Now, I want everything to be as simple and uncomplicated both for me and the users.
Here's the deal: I don't want spammers (who does?). I don't want to bother building an anti-spam system/adapting an existing one, as it will probably result in being more complicated than the site itself.
I also thought about approving submissions myself, but figured that, though it would be easy at first with few submissions, it would be a pain if it picks up, and I would probably end up building a submission management system which would, again, result in it being more complicated than the site itself.
Then, it occurred to me that I could set up a pay wall. Now, the motivation of those who submit is that they actually get something in return, something that can result a bit pricey elsewhere compared to what my pay wall would be: from cents to maybe $1+ if the site picks up.
I figured it would be a nice way of both preventing spammers and making some pocket change for a couple of beers every now and then. What do you think? <comment><USER2> Will your payment system be less complicated than the anti-spam system would have been?

<comment><AUTHOR> yes, I pseudo-coded it. Using the simple Amazon payments API, just make a micro payment and return to the site with the amazon token. Everything should be done in 15 or less lines of Ruby.

</comment></comment><comment><USER3> Do you allow links in your posts? If not, there go 50% of the spammers.

Does any money change hands? What niche is the site in?

Whether or not you choose to have a pay wall based on limiting spam, most people may see it as a greedy attempt to generate extra money.

If it's feasible, create a simple moderation que. Also consider a simple "report spam" button on all submissions.

<comment><AUTHOR> they're not content posts, it's kind of like a very specialized, narrow and niche classifieds board. Links are not only allowed, but necessary in most cases.

I don't think the audience would see it as a greedy attempt if I explain that it is both to keep quality, preventing spam, and keeping the site up. I'm not really interested in making money from it, but I'm not interested in financing the venture completely for no return.

</comment></comment><comment><USER4> I'm not sure people are ready to pay for content on the web. I know I wouldn't pay for HN... uh wait, I would.

<comment><AUTHOR> So would I :D</comment></comment>


Ellipsed: JavaScript library for multilined text ellipsis, looking for contributors - <AUTHOR> https://github.com/nzambello/ellipsed <comment><USER2> It's very difficult to get contributors asking for contributors. You needs users. Some users will become power users. Some power users will become fans. Some fans will become contributors.

Most people don't contribute substantially to a project that they don't use. You need more users.

Try writing a nice blog post about the project. I prefer that it's about an interesting detail in he project. Generic post are usually not interesting. Some ideas:

* What is the main difference between this and MSWord/Eclipse/vi/emacs? Is this different important in the code? How did you solved it?

* Does your editor has a weird feature that has an interesting story?

* What was the last bottleneck that you have fixed? How did you discover that it was a problem? Benchmakrs?

* Do you support international characters/Unicode? Was it easy or you have problems with it?</comment>


With Subway in the Sky, Valley Meets Plateau - <AUTHOR> http://www.nytimes.com/2014/08/17/world/americas/with-subway-in-the-sky-valley-meets-plateau.html

<comment><USER2> I saw an interesting TEDx presentation by Jared Ficklin pertaining to gondola systems as mass transit in a cit and how to get the American public to buy into it[0].

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

<comment><USER3> This proposal was for a way to solve Austin's traffic problems. Given the geography around here (hills, lakes, NIMBYs), I think it's a plausible solution. But it looks like the city council is going to put streetcars (urban rail) on the ballot at a starting cost of $600 million.

<comment><USER2> He gave the presentation in Kansas City during a big push for streetcars. The streetcars are happening, and as far as I know the people in charge didn't give any attention to the gondola solution. I live outside of the city proper, so I haven't been following it too closely, but I do know that the streetcar is very expensive and that votes for expansion have already failed.

</comment></comment></comment><comment><USER4> How does the cost of this compare to elevated rail? Here in Miami we have a very very limited 2 line elevated rail [0] that the estimates to expand it run in the tens of billions of $. The idea of building retail into the parking garage structure/stations is intriguing as it could get private developers to underwrite the costs.

My other question would be (since I'm thinking Miami here), how would these cable systems fare against hurricanes? I assume the cars would just be docked in a safe building (parking garage structure).

[0] [http://en.wikipedia.org/wiki/Metrorail_(Miami)](http://en.wikipedia.org/wiki/Metrorail_\(Miami\))

<comment><USER5> Elevated rail, even monorail, is considerably more expensive, but also provides far higher capacity. You can also increase capacity on a train line relatively easily with shorter intervals and longer trains, while a gondola's carrying capacity is essentially fixed.

Rough comparison between three recent 3rd-world systems:

\- La Paz gondola: 3000 passengers per hour per direction (pphpd), ~$10m/km

\- Mumbai Monorail: 10,000 pphpd, ~$20m/km

\- BTS Skytrain, Bangkok: >30,000 pphpd, >$100m/km (on recent extensions)

Gondolas make sense in hilly locales where hurricanes are not a threat (like La Paz), they'd be a non-starter for both reasons in Miami.

<comment><USER6> I'm pretty sure a gondola can hold its own in a hurricane (as long as it isn't running). Most urban systems use the same technology as alpine systems, which have to withstand harsh blizzards.

</comment></comment></comment><comment><USER7> Similar Aerial tramway are deployed in Algeria , where they are used as a transport cars and not as a tourist cars, the system is quite useful, each year it transport more than a million passenger. [http://gondolaproject.com/category/installations/algerian- go...](http://gondolaproject.com/category/installations/algerian-gondolas/) [http://www.strmtg.developpement- durable.gouv.fr/IMG/pdf/cabl...](http://www.strmtg.developpement- durable.gouv.fr/IMG/pdf/cableways_MEDDLT_december2011.pdf)

</comment><comment><USER8> Check out Nick Chu's blog, the Gondola Project [0], where he's been documenting urban gondolas around the world for years.

Like La Paz, mountainous Medellin, Colombia has been building a system of gondolas [1], the first line of which opened in 2004. There's a $500 million system under construction in Lagos, Nigeria. And there are many smaller projects getting started elsewhere, including possibly in Hamburg, Germany, where voters will decide this week whether to fund a cable car over the Elbe.

0\. [http://gondolaproject.com](http://gondolaproject.com)

1\. [https://en.wikipedia.org/w/index.php?title=Metrocable_%28Med...](https://en.wikipedia.org/w/index.php?title=Metrocable_%28Medell%C3%ADn%29)

<comment><USER9> Caracas and Rio, too.

</comment></comment><comment><USER10> This is pretty fascinating (though my fear of heights would not make me a happy rider of these).

But the title really really bugs me. Subway in the sky? Do we call tramways subways on the ground?</comment>


On "Open" Distros, Open Source, and Building a Company - <AUTHOR> https://www.elastic.co/blog/on-open-distros-open-source-and-building-a-company <comment><USER3> For context, this is in response to Amazon's release of "Open Distro for Elasticsearch": [https://opendistro.github.io/for- elasticsearch/](https://opendistro.github.io/for-elasticsearch/)

Related discussions:

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

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

<comment><USER4> Clicking through to the AWS blog article [1] we find this:

> At AWS, we believe that maintainers of an open source project have a > responsibility to ensure that the primary open source distribution remains > open and free of proprietary code so that the community can build on the > project freely, and the distribution does not advantage any one company over > another. This was part of the promise the maintainer made when they gained > developers' trust to adopt the software.

I have enormous respect for Adrian's work on cloud systems but the quote above seems very self-serving for Amazon.

Open source is bound by licenses that define the terms of open source code use. There's nothing whatsoever in the licenses that binds the project developers to continue to work on the project, to maintain similar license terms in later releases, or to take (or not take) any other action in their lives. To argue otherwise seems contrary to the notions of freedom that are the foundation of open source software.

[1] [https://aws.amazon.com/blogs/opensource/keeping-open- source-...](https://aws.amazon.com/blogs/opensource/keeping-open-source-open- open-distro-for-elasticsearch/)

Edit: typo corrected

<comment><USER5> Amazon can believe whatever they want, but when they say "maintainers of an open source project have a responsibility to ensure ... " \- I call bullshit.

Those maintainers owe Amazon nothing. The have no responsibility to Amazon. None.

Same as they owe me nothing.

By definition (if you use any of the more-that-two-or-so-year-old definitions of "open source"), the project is defined by "remaining free and open", in that you can always use the code and license you've been using - but there's no way anybody can make it a "responsibility" of a maintainer to to anything in the future. They could die, they could get bored, they could get an all- encompassing job, they could get a family, they could get venture capital and license any future work with a non-open source license (as Redis and Elastic have done, at least in some people's view).

The "the promise the maintainer made" was "here's some code, under GPL or aGPL, or Apache Licence, or Artistic license of BSD three clause, or whatever the promise at the time was. Take it or leave it. No future responsibility assumed or enforced. They might even have a track record of releasing more stuff under the same license/promise. But they can stop or change things whenever they want.

If Amazon wants the maintainers to do anything else (including ever committing another line of code or fixing a bug), they can wait for them to do (or not) it at their discretion, or they can pay the maintainer (or someone else) to do it (and then, depending on the license, potentially be required to release that code under the same license.

Sorry for the rant, but that line caught my eye too, and I got immediately pissed off at Amazon's sense of entitlement there. No open source maintainer owes you shit. They've shared what they've shared, and you can take it or leave it, but you taking it doesn't place any obligation or responsibility on them.

(deep breath)

<comment><USER6> Maintainers are certainly free to adopt a "take it or leave it" attitude if they want.

But most maintainers (including Elastic) don't want that. They proudly declare that their developers and users are a community, and they're steering the community to produce a great and open project on an ongoing basis. The maintainers certainly have a responsibility to follow through on such promises - or at least, if Amazon is correct and they aren't following through, they have no right to complain about a hostile fork.

<comment><USER4> Amazon is welcome to fork and welcome to point out that they might be better for users than Elastic. But the issue here is that Amazon--like many others before them--are asserting a 'right' that simply does not exist.

<comment><USER6> I don't think Amazon's trying to claim that Elastic has done something legally or morally wrong. They just don't feel Elastic has lived up to their standards for community management, so they're going to take their ball and go start a new community with higher standards.

</comment></comment></comment></comment></comment></comment><comment><USER7> Why write emotionally charged letter instead of one backed with facts? Amazon is claiming [1][2] that Elastic has been intentionally unclear about what part of Elastic stack is open source vs proprietary. It would best serve Elastic if they respond to that with facts.

If the claims are true, and done intentionally, it's a really bad move on part of Elastic. The ambiguity around licensing hurts all their users and not just Amazon.

[1] "Unfortunately, since June 2018, we have witnessed significant intermingling of proprietary code into the code base. While an Apache 2.0 licensed download is still available, there is an extreme lack of clarity as to what customers who care about open source are getting and what they can depend on. For example, neither release notes nor documentation make it clear what is open source and what is proprietary."

[2] "Individual code commits also increasingly contain both open source and proprietary code, making it very difficult for developers who want to only work on open source to contribute and participate"

<comment><USER8> While as an open source software and company creator I highly connect to the emotional content of his response and feel the pain for Elastic when it comes to the competition by Amazon, I do agree that he does not address the factual issues at hand and uses badly the word "open" for stuff that is "shared source".

One aspect Elastic is also not directly attacked on and therefore not addressing is the choice of features that are not free and the price point. Elastic's business model is quite smart. You can easily develop on top of elastic, however once you have done it and want to go to production some key features are missing and they are not cheap. Particularly securing your cluster data is one of the features in xpack which is problematic not to have. I'm pretty sure you can search for open ports 9200 over the internet or company intranets and find unwanted unprotected data. And it's not cheap as you need to go for Gold subscription if I'm correct. I would be surprised nobody has proposed a pull request with competing code.

Elastic has and is investing a lot as open source and they do need a good business model that allows investment in the core open source code. The thing is I'm not sure it's missing here. Elastic.co is quite healthy. It's hard to know if it would be without this business model, but anyway there is little chance they would do differently given Elastic.co is VC backed. In the end the real fight is between the big money players, not about whether Elastic the software is sustainable. The reality is that given the community, it would very probably be even without the "xpack" package. Now it's not sure Elastic.co would be able to aggressively invest in both oss and non oss as much and therefore compete with Amazon.

OSS is tough. When you go for it, you should go in it for OSS, not for the company, because keeping the company at the level of the OSS success is hard both for small and big OSS projects.

Ludovic Dubost (XWiki)

<comment><USER9> You can put a reverse proxy in front of it to provide at least basic authentication measures and force HTTPS. Better than nothing at least.

But the main problem is that unsecured clusters by default have caused a lot of reputation loss to the brand. When every few months news hit about yet another unsecured Elasticsearch cluster that leaked huge amounts of data, it is getting harder and harder to explain to the less informed how that is the fault of those people who did not even bother running a reverse proxy, not the fault of Elasticsearch itself.

</comment></comment></comment><comment><USER10> Clicking through to the other blog posts, it becomes apparent the the author plays fast and loose with the word "open", to their benefit. They "opened up" by providing gratis licenses to some of their software. They don't call it "open source", but the phrase "open source" is also scattered around the articles, so that "open" benefits by proximal association.

They're free to license their software however they want; I don't use it so I really don't care. But it really rankles when someone extols the virtues of open source and waxes rhetoric about how open they are, and yet the software they offer is proprietary by default. They "double down on open", but the open source distribution is opt-in.

I cannot help but feel that the articles are deliberately constructed to mislead. That's a serious accusation and I wish I could be more charitable in how I interpret them but the terminology is so consistent that it cannot be an accident -- gratis-but-proprietary is always "open", libre is never just "open" but always "open source".

Technically correct isn't enough. No-one's explicitly staked "open" as being the same as "open source". But in the context of this conversation "open" is an obvious contraction of "open source" and to use the obvious contraction to mean something diametrically opposed is not reasonable or ok; especially when "source available" is widely understood. The same thing was attempted with the Commons License.

The intent behind words is important. Persuasive oratory is fine but using those tactics to mislead does not engender trust, especially when the beneficiary is the one speaking and not the audience.

<comment><USER11> I came away with a similar impression.

OP uses the word free twice, in both cases meaning $-free.

"We [...] open sourced most of it, and made all of it free."

From an enterprise licensing perspective, 'open source' as a subset of 'free' just means I shall have to spend more time with lawyers and accountants.

</comment></comment><comment><USER12> This is a really great response and I'm curious how AWS will respond. It's particularly damning because AWS was arguing from a position of moral authority on the move, which I think was disingenuous. They wanted to create a fork and act like they weren't. Shay just called them out on it.

I also wrote up my own thoughts, but it's obviously not as relevant as this. I'm a little more blunt about what AWS is doing. I even throw in a comparison to Microsoft abusing their monopoly power in the 90's by distributing Explorer for free to kill off Netscape: [https://www.influxdata.com/blog/aws-intends- for-their-new-pr...](https://www.influxdata.com/blog/aws-intends-for-their- new-project-to-be-an-elasticsearch-fork/)

Longer term, the real question is how Elastic will respond to this commercially. Will they create more closed source? Go higher up the stack into specific applications? It's going to be an interesting and tumultuous couple of years in open source infrastructure software.

<comment><USER10> Elastic doesn't have much moral authority either when they keep using the word "open" in reference to code that isn't open source. But they never say "open source" so technically correct.

EDIT: you've remarked elsewhere on the thread about commercial and economic realities, so I want to take the opportunity to qualify my statement: they're free to license and monetize their code however they want. It's what I see as deceptive intent that I'm having a (very strong) reaction to.

<comment><USER13> Iiuc, they are basically using open core model, with core app being free/open/libre under Apache license, and extensions proprietary with code available non-free/non-open/non-libre Elastic license. At least to me the situation seems pretty clear, and Amazon complaining that they can't take all of the code to create a competing service seems pretty disingenious to me. OP's post is thus in line with what I would expect - but it seems to irk you in some way. What is it that I'm missing?

<comment><USER10> I said more here[1] but basically the use of "open" around their gratis/proprietary code. Never "open source" so it's not an untruth but it's still misleading especially in a context where they're also talking about their contributions to open source, a commitment to being open, etc.

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

</comment></comment></comment></comment><comment><USER14> It's interesting that the HN collective results seems to be complaining about the letter from either party.

When Amazon wrote their letter, the [HN response]([https://news.ycombinator.com/item?id=19363961](https://news.ycombinator.com/item?id=19363961)) seemed to tip towards not liking what Amazon had to say or was doing.

When ES writes effectively a response, the initial comments don't like ES's response or what they're doing either.

It may be that the collective HN vibe is critical no matter what. But also maybe "we" in aggregate legitimately don't like either option given.

I know open source devs need to make money somehow. I also wish there was a way to do it that was open source. I'm not sure there is. I'm not sure what it means for the continued viability of open source.

In the original period of open source, people generally worked on open source on the clock at their existing jobs, a building tools they needed for that job, a job not dedicated to that particular product but to getting something done that product helped with. People were getting paid to write open source, but it wasn't by "productizing" it. The results were still shared freely.

(this is how/where apache httpd, for one, came from; people with jobs who needed an http server writing one on the clock, even though their job was not "writing an http server." They needed an http server to accomplish what was needed for their employers, but their employers had no desire or capacity to be in the business of selling an http server. Why not collaborate on one we can all use?)

But those days are gone, software has just gotten _so much more complex_ and time-consuming to develop. The open source software we have and need can't be developed in someone's "spare" (even on-the-clock spare) time. Some open source is still written by people working for a large employer, who pay them to be _dedicated_ to that product. But we see the perils of that when an employer decides "wait, why aren't we making money selling this? Why are we contributing our employee's time to it?" (thanks Oracle).

So that leaves people trying to productize it one way or another. It is not clear to me how to have a healthy open source ecosystem in that market environment. I don't think "proprietary layer on top" is actually good for open source, especially if it's gonna lead (naturally) to rejecting contributions from outside to add those same features as open source (why would we want to spend time working with a contributor to make the feature solid, when we _already wrote it_, and when accepting the contribution would _harm our business model_ because that feature is what we want to charge for?), and then resistance to the "right to fork" which I consider the fundamental basis of open source freedom.

<comment><USER15> > But those days are gone

I have to strongly disagree here. Stuff like Kafka from LinkedIn, Envoy from Lyft, Prometheus from Soundcloud are just the tip of the iceberg of people writing tools because they need them, not because they are in the business of making infrastructure software.

I believe that selling software, be it foss, open core, or fully proprietary is not good business model, neither from business nor from ethics point of view. Sell your expertise or use the software yourself to generate value, but trying to sell it is just futile.

<comment><USER16> I think a lot of successful companies, Microsoft for instance, would disagree with you.

<comment><USER15> Considering the direction Microsoft has taken, I think they in particular would agree. It is no coincidence that MS is more and more straight up giving away their software, or at least bundling it as a service.

</comment></comment></comment></comment><comment><USER17> Actions speak louder than words. Amazon's words [1] were backed up by action- specifically, the public release of Open Distro for Elasticsearch and several useful, advanced features under an Apache 2.0 license.

This post from Elastic consists of vague claims of 'FUD' and of their commercial code being 'bluntly copied', without any further clarifying details or responsive action to back them up. (E.g., if you have real evidence of Amazon copying proprietary code, which I doubt, then announce the copyright infringement lawsuit you have just filed, don't weakly allude to your grievances in a blog post.)

Conspicuously, the post did not contain any defense or even mention of Amazon's key accusations of "significant intermingling of proprietary code into the code base", or its claim that "the innovation focus has shifted from furthering the open source distribution to making the proprietary distribution popular." The only response offered is a vague, generic "we believe in open source" \- again with no concrete action backing up those empty words.

If this is the best and only response Elastic is able to offer, I fully expect Amazon to keep the high ground in this controversy.

[1] [https://aws.amazon.com/blogs/opensource/keeping-open- source-...](https://aws.amazon.com/blogs/opensource/keeping-open-source-open- open-distro-for-elasticsearch/)

<comment><USER18> actions? I think this is speaking for itself: [https://www.elastic.co/downloads/elasticsearch- oss](https://www.elastic.co/downloads/elasticsearch-oss) What has Amazon contributed to yet? Repackage other open source projects that was already existing? I don't call it a contribution.

<comment><USER19> "Repackage other open source projects that was already existing?"

Most people don't realize this yet. They are taking other, existing projects which anyone could install themselves for a long time now and framing it like they built these things for their new fork. So much of their "distribution" is just a collection of other open source projects.

In the case of the security functionality, that is backed by a company named Search Guard who have an Enterprise Version in addition to the Community Version included in the AWS fork. They forked another project, renamed it and now call it their own.

<comment><USER20> Isn't "a collection of other open source projects" pretty much exactly what a "distribution" usually implies? What you get is the curation/selection of what's included and some reassurance that all the pieces really do work together and other people are using them that way.

</comment></comment></comment></comment><comment><USER21> I didn't see much done to address Amazon's claims (intermingling of proprietary/open code in same conmit, etc). Mainly they just claimed FUD and reminisced a bit.

If I were Elastic I'd be quaking in my boots right now - their entire business model is under assault. Hell, the whole open core model is being called into question. Personally I'm glad to see Amazon's distro.

Anyone have a different take?

<comment> rooam-dev Just my 2 cents. I don't care about Amazon's distro, I think it won't work. Others have tried, e.g. MariaDB vs MySQL, OpenOffice vs LibreOffice. Time will show though...

Edit: The thought was about big companies with their own agenda behind open source initiatives. Sorry about confusion.

<comment> yjftsjthsd-h What pattern are you seeing in those examples? Most Linux distros today ship with LibreOffice and have MariaDB in-repo. From where I sit, the open forks won.

<comment><USER22> Won in terms of user base, maybe. But in terms of money made and commercial adoption? Mysql beats Mariadb, though I can' t say for openoffice/libreoffice.

<comment><USER6> Is that a fair metric to judge on? The entire point of forking MariaDB was that the developers expected Oracle to make compromises for the sake of money.

</comment></comment></comment></comment></comment><comment><USER23> Yeah, slice it whichever way, but this basically looks shitty on AWS.

At the end of the day, Open source developers need to be able to put food on the table. What AWS is doing here, is like a logging company, recklessly destroying things in its path as long as what they do is "legal", they don't seem to care.

Thing is, we should look at Open source software just like a precious rainforest or any other natural resource. If every company started doing what AWS were doing, soon there would be very few companies like Elastic in business and that kind of _open_ software will cease to exist.

But hey, at least HNers won't be able to argue about technicalities of the license then, right?

<comment><USER24> Open source developers need to be able to put food on the table. Open source developers do not need to be able to put food on the table _while being employed by Elasticsearch_.

Frankly, yesterday's announcement made me seriously consider whether I wanted to apply for a job working at AWS, since I expect they have many positions where you're spending most of the time working on open source code like Elasticsearch.

The argument you're making is equivalent to the old argument against open- source software itself: if companies can't make money by selling proprietary software, who's going to want to be a software developer? Sure, it's great that some bored Finnish guy wrote an OS that's competitive with Solaris, but if he drives Sun out of business what's the guarantee anyone else will want to work on his OS? Don't we need proprietary software companies to ensure that quality software gets developed?

<comment><USER23> > if companies can't make money by selling proprietary software, who's going > to want to be a software developer?

And that did happen, we don't have a single decent _affordable_ personal computing ecosystem at this point. The only good personal computing ecosystem is with Apple, which makes its money by selling _proprietary_ software mostly but is not affordable to ordinary joe.

What an ordinary person can buy, is an ad-riddled machine like a windows desktop or a chromebook, where although the software is not proprietary, they're basically selling you ads(directly or indirectly through your data).

To tie it back in, in fact open source software did rise up and proprietary software did go down, but we lost the pure software aspect that came with proprietary software. Basically, open source software is being used to sell you ads and if the ads based business goes down/stops so does open source ecosystem.

If you haven't realized, the biggest parts of the open source economy are propped by FAANG and Microsoft. If these big whales go away, open source's vibrancy will vanish in a poof.

In fact open source software creation is hugely concentrated to North America and by extension FAANG. So if FAANG were to stop sponsoring open source, we'll be back to proprietary software age soon. So, I'm not convinced of your argument that "open source" has won conclusively.

<comment><USER24> I think my argument is that open source has in fact won, it just hasn't brought the benefits some people expected it to bring. (And it's totally fine to say, "Having seen the results, I'm no longer a supporter of open source," if you want.) The open-source-is-viable argument was that people will find a business model other than selling the software itself, and the software industry won't collapse when proprietary software becomes unviable - <USER2> that's exactly what happened. It turned out the most profitable business model wasn't support contracts or custom development, it was largely software as a service and advertising. It also turned out that this business model was so profitable that there are tons of free-as-in-beer but non-open-source software products out there, including the vast majority of what Facebook, Google, etc. offer.

</comment></comment></comment></comment><comment><USER25> With the rise of cloud computing, the effort by cloud providers to commoditize their complements, i.e., software, inevitably leads to this particular kind of conflict between companies backing OSS software who wish to deploy their own SaaS offerings and cloud providers with their own SaaS offerings. A common response is that OSS backers can build businesses based on support and consulting but I believe that's overly restrictive. Those kinds of businesses don't scale nearly as well as managed services and it will definitely have a chilling effect on OSS development if the kinds of companies that are permitted to be built on them are simply support and consulting. I don't believe that companies backing OSS have an exclusive right to offer managed services for their software, but the current situation with cloud providers offering managed services with only token engagement with the OSS community (and then only when forced into it by licensing restrictions) is not beneficial to OSS, either.

<comment><USER6> The post describes how Amazon offered more than a token engagement. Elastic rejected them, as such a partnership would have included "preferential treatment that would place them above our users". That's consistent with what I've seen from other OSS-backing companies; they want cloud providers to contribute to their community, but flatly refuse to go out of their way to enable it.

</comment></comment><comment><USER26> OSS is a great business model if you're one of the 3 multi-billion dollar major cloud vendors co's who are collectively the primary beneficiaries of everyone else's OSS investments since relatively no-one pays to acquire/use free OSS software, only to host it, so it's of course in their best interest to keep everything OSS so they can collect rent at the point where people pay to utilize its value - for hosting their production systems.

It's easy for AWS, Azure or GCP to be altruistic and suggests everything should be OSS for the betterment of humanity, since they've become the primary beneficiaries of the wealth created by OSS which benefits them more than anything else. Then use the profits to develop billion dollar cloud infrastructure moats to ensure a barrier to entry that prohibits anyone else from partaking in.

This is ultimately the core issue between companies behind developers of OSS software like Redis Labs, Confluent, Elastic.co, etc. They've put in the investment to build and support their OSS products but it's the cloud vendors end up reaping most of the revenue derived from it given they're the only entity Customers pay to host their production systems. This is what the extended OSS licenses are designed to target which are typically free for everyone else but prohibits the cloud vendors from absorbing all the rewards from hosting their software without revenue sharing anything back.

</comment><comment><USER27> I think that AWS are the "bad guy" here. I am happy to be proven wrong but they don't have a track record of contributing code to the OSS projects they provide as a service. Whenever they are forced like it was the case with Mongo and now with Elastic they are using their power to have a competing OSS project. There is nothing wrong with this business wise but it's totally against spirit of OSS.

If you look at Red Hat on other hand when they decided that Kubernetes was the way to go for their OpenShift project they put lots of engineering resources for upstream k8s.

</comment><comment><USER28> This letter is clearly not written by someone who interacts with customers. As someone who has tried to work with Elastic, their pricing is atrocious even for the most basic of features.

You can't get alerting without paying a king's ransom for features you'll likely never use.

</comment><comment><USER29> It would be interesting if someone pushed a PR that contains more or less all the "secret sauce" of X-Pack, and see what reasons they'd use for rejecting it.

Clarification: Not push X-Pack itself, but features comparable. Like they suggested people do in the post.

</comment><comment><USER30> While the original movement behind open source was one of benevolence that isn't to say that the economic model of open source at scale actually works as a competitive advantage.

There are costs associated with running a business and one of the largest is marketing. What open source allows you to do is defer these costs by charging nothing for adoption. This allows you to acquire users, build up an ecosystem, and create a moat against competitors to your business. Competitors not in the sense of AWS which is adjacent, but competitors in the sense of another replacement for Elastic Search itself.

At the beginning you are losing 100% of your revenue opportunity, but you have to remember that you are either modeling yourself as a consumer company or business company. Simply put, consumers companies make more money from consumers while businesses make more money from businesses.

AWS is a business company so the majority of their revenue is from businesses. With most open source projects you are also a business, which means if you find 10 years of success 90% of your revenue will eventually come from businesses.

Those early adopters are usually smaller entities so they aren't really a large opportunity loss and the big businesses want to see massive adoption before they really consider switching. So effectively you are cutting out 20% of your revenue opportunity to build up an ecosystem moat as well as marketing budget. It isn't money directly out of your pocket, but instead is paid purely in head count, which by the way is much cheaper and more effective than trying to market your software to hundreds of thousands of people across the world.

The "free" component isn't just one of benevolence but actually an attack on any future competitor because why would those early adopters pay $5 for something that they can get for free. Most early businesses rely on these smaller customers and open source actually cuts that out of the equation, reducing competition.

So it's a very interesting dynamic in the sense that something that was started for a "good" purpose can accidentally actually stifle future competition, when you would assume otherwise.

</comment><comment><USER31> I'm sure Shay et al have good intentions, but to have any degree of usability with elastic.co you need to buy x-packs which goes against the grain a little. I'd still like to have auth (not just basic-http) on personal projects.

<comment><USER32> Searchguard is a plugin for ES which gives you TLS + auth. They offer a paid version with more features (ActiveDirectory integration, HIPAA-compliant auditing, etc - actual enterprise features), but if you just need auth/ACLs/transport TLS, it's a great product.

<comment><USER31> Oh, thanks, I'll take a look

</comment></comment></comment><comment><USER33> "When companies came to us, seeing our success, and asked for special working relationship in order to collaborate on code, demanding preferential treatment that would place them above our users, we told them no. This happened numerous times over the years, and only recently again, this time with Amazon. Some have aligned and became wonderful partners to us and the community. Others, sadly, didn't follow through. We have a commitment that we will treat a single developer contributing to our products the same as others. There is no preference, and we will reject any ask to have one. Our answer has always been a constant: send a pull request, like everybody else does. The quality will speak for itself."

The way this is written, it seems like there was a difference of opinion in terms of the product architecture, and not a purely commercial decision by Amazon. I would think it would make commercial sense for the team at Elastic to align with Amazon than the other way round. On the other hand Amazon claims that Elastic was moving away towards proprietary code [1].

Overall, being in open source for a decade, I am against this trend in dual licensing (which I fear is pushed by Venture Capitalists). People forget that the fact that you have freedom and zero friction, is what makes open source awesome. There are other ways to make money, like building a kick-ass consulting practice around the open source offering.

[1] [https://opendistro.github.io/for- elasticsearch/faq.html](https://opendistro.github.io/for- elasticsearch/faq.html)

</comment><comment><USER34> Very specifically, the open core of Elastic's offering doesn't do authentication. It's not that there's a limited number of users. It's not that it's a single user and password in a config file somewhere. It's that you go from having all the features of a licensed version including multiple users with configurable access to different data sets down to needing to run elk with no native authentication and authorization and then wrap authentication around it one way or another if you want the community edition. This is 2019. A data aggregation and inspection system that by default sits open on a port for anyone to use is not quite fit for purpose.

</comment><comment><USER35> I've never really thought that elastic search is all that great, to be honest. I use it every day at work for an application that does a ton of aggregations.

That said, I can't shake the feeling that we could get the same level of performance with RethinkDb with the benefit of a better API and less overhead.

Assuming that the use case does not require large quantities of full-text search, is there really any reason to choose ElasticSearch over RethinkDb? ElasticSearch does have a larger ecosystem, but with how good RethinkDb's API is, I'm not entirely sure any 3rd party packages would actually be necessary.

Add to that RethinkDb's ability to do joins and changefeeds and this decision becomes a no-brainer for me.

<comment><USER36> From what I gather, RethinkDB hasn't seen a release since July 2017:

[https://www.rethinkdb.com/blog/2.3.6-release/](https://www.rethinkdb.com/blog/2.3.6-release/)

The project may be transitioning to new governance.

<comment><USER35> Yeah, it was taken over by the Linux Foundation.

I can't really say that RethinkDb NEEDS a new release.It's feature complete in my eyes. All it really needs at this point is maintenance.

</comment></comment></comment><comment><USER37> I think a lot of open source people forget that large companies worry a lot about licenses and clarity around that. Without that clarity and control they get sued left and right and on this very forum we end up discussing how evil this large company has been.

Elastic search is a great product and there is no doubt about it. However I understand Amazon's viewpoint that it should be clear which part of ES are open source and which are not.

A the end of the day Amazon or Google can easily buuld a clone of ES from ground up.

</comment><comment><USER38> Aws is copying others' efforts and earning billions. Nothing is being given back to the community, instead Amazon execs buy Bay Area luxuries. Stop aws manipulating innovative projects in the name of managed services. Elastic, mongo, Kafka, redis, all are being preyed upon.

<comment><USER22> > Stop aws manipulating innovative projects in the name of managed services.

How? Redis is trying, and got backlash. Mongo is trying, and got backlash. Confluent is trying, and got backlash. We've rather got to pick our poison here: do we want companies to open their code and have it used for managed services/cloned, or do we want them to close it and keep making cool tech?

I recall reading about the model Google used to use for this sort of thing: open your source code about three to five years after you stop using it. This gives something to the community, while still allowing you to maintain a competitive advantage, run a managed service, etc. Particularly for those who run a SAAS model, it lets them gain widespread adoption before a competitor can spin up an instance of their stuff and undercut them slightly.

Oh, and for those saying "use the Red Hat model", the Red Hat model can't work for everyone. Red Hat had a new idea and essentially no competition for enterprise linux at the time, and so didn't have to deal with the competition. They got a chance to build a customer base before Oracle knocked their product off. And even then, Oracle did completely rip off their work. That's the risk you run with open-sourcing your codebase, and not every company is built to work that way; not our job to tell them they should redo their business model to allow it.

<comment><USER10> A lot of conversation around the backlash was about the insinuation that the new licenses were open when they weren't. "Apache 2 + Commons Clause" is an abuse of both the Apache license and the concept of the commons; the SSPL was submitted to the OSI for approval when it clearly did not meet the definition.

</comment></comment></comment><comment><USER39> This response doesn't address why Netflix and Expedia Group is joining AWS open distro effort. Licensing is major headache for them I assumed.

Personally, as current and former administrator of multiple ES cluster, I'm quite worried how this "intermingling of open source and proprietary code" will affect my current and previous team. We certainly not aware of it before this week.

</comment><comment><USER40> This was bad. I was expecting a move towards transparency that could've outmaneuvered amazon. This is just appeal to emotion.

</comment><comment><USER41> what would be the next move from Amazon? Open distro for Kafka, MongoDB and Redis, and all other successful opensource tools?

Just don't know where Amazon is going with this approach of re-packaging existing opensource tools and calling it their opensource contribution.

<comment><USER42> Amazon is rewriting the proprietary enterprise features of ES from scratch and giving them away for free.

Also, their MongoDB "distro" is just "Amazon DocumentDB (with MongoDB compatibility)". That's not going to be open source, because it took a lot of work to basically rewrite most of Mongo.

</comment></comment><comment><USER43> [https://aws.amazon.com/blogs/aws/new-open-distro-for- elastic...](https://aws.amazon.com/blogs/aws/new-open-distro-for- elasticsearch/)

</comment><comment><USER44> Lot of bitterness about people forking and bundling ES. If it was so painful for Elastic maybe they should have gone for a more suitable model - you get everything open source and pay for support and priority /early access to security updates. Unlike the current model where you get basic features as open source and have to pay for and use different license if you want to use essential features like monitoring and performance analysis.

Someone else with a business model that benefits from providing these features for free and making them open source to reduce their development/maintenance burden - cloud providers like Amazon - are going to do just that. And they're well within their right to do so.

<comment> yjftsjthsd-h > pay for support and security updates.

Impeding security updates seems rather unethical. Unless you mean backports to old/stable versions, which is still iffy in my mind but does at least maintain a way to stay secure for everyone.

<comment><USER44> I meant priority/early access to security updates really. Updated my post to reflect that.

For example enterprises may want quicker access to well tested bug or security fixes - they can get that first and then the patches appear on GitHub for open source users.

</comment></comment></comment><comment><USER45> The claim that Amazon says they work with Elastic for their service is bogus. I've asked many times, and its been made clear to me that they have some additional services they run, but aside from those run upstream Elasticsearch. (Same with Kubernetes).

Elastic's licensing is very hard to navigate, and the per node nature of it often makes it more cost prohibitive than Splunk.

Hopefully this is a wakeup call to Elastic to start delivering value that can't simply be added by third party contributions. If thats the case, what purpose is Elastic (corporation) actually fulfilling?

</comment><comment><USER46> This is why I like Thanos. Bullshit is everywhere. Even a person doing behind a great open source software is getting criticism now. Good days!

</comment><comment><USER47> They write this big post and end the last paragraph saying "It is always Day 0 at Elastic". What does that remind you of? :D

</comment><comment><USER48> > When companies came to us, seeing our success, and asked for special working > relationship in order to collaborate on code, demanding preferential > treatment that would place them above our users, we told them no.

I think this may have been the crux of the friction between the companies. Elastic sure looks to have collaborated with GCP [0][1], if not other enterprises.

> Our answer has always been a constant: send a pull request, like everybody > else does. The quality will speak for itself.

I look around and spot at least three substantial bug/fixes from AWS employees (?) [2][3][4], so I don't see any lack of effort from AWS? AWS engs were sending pull requests, just like the others. That said, any sort of heavy handedness from maintainers of elasticsearch might also play a role in forcing enterprises to take control of software they depend upon so much where legally allowed. We have seen this happen with Node.js/IO.js and MariaDB/MySQL before.

> The FUD mostly comes from large(r) companies that fear what such a movement > can cause.

The irony of this statement is not lost on me. Elastic is that larger company (one that crucially controls a majority of the ecosystem around elasticsearch: kibana, logstash, beats, xpack to name a few), and AWS is an upstart here with their investment in open-distro, presumably to fight FUD.

> We all sometimes need to self reflect on what and why we did that made us > successful, to make sure we stay true to our course. [..] to others out > there, that face so many reasons to be distracted, keep your focus [..] And > last, to express our shared commitment to continue to build great products > [..] It is our true north.

I think one right way for Elastic to show commitment to opensource would be to entrust the projects to a community agreed governance model, like others before them have done [5][6][7][8].

Also, what's interesting is that its not just Amazon here, but Expedia and Netflix as well putting their weight behind open-distro [9].

Like someone pointed out, this response from Elastic does seem to be emotionally charged [10].

\---

[0] [https://www.elastic.co/about/partners/google-cloud- platform](https://www.elastic.co/about/partners/google-cloud-platform)

[1] blog.google "With the Elastic partnership in place, we're kicking off our joint engineering work and will start rolling out managed Elasticsearch on GCP later this year." [https://www.blog.google/products/google-cloud/google- cloud-p...](https://www.blog.google/products/google-cloud/google-cloud- platform-partners-elastic-offer-managed-open-source-search-and-analytics-gcp/)

[2] [https://github.com/elastic/elasticsearch/pull/27628/files](https://github.com/elastic/elasticsearch/pull/27628/files)

[3] [https://github.com/elastic/elasticsearch/issues/31479](https://github.com/elastic/elasticsearch/issues/31479)

[4] [https://github.com/elastic/elasticsearch/issues/29531](https://github.com/elastic/elasticsearch/issues/29531)

[5] GridGrain and [https://ignite.apache.org](https://ignite.apache.org)

[6] Various networking companies and [http://opennetworking.org](http://opennetworking.org)

[7] Cloudera and [https://impala.apache.org](https://impala.apache.org)

[8] LinkedIn/Confluent and [https://kafka.apache.org/](https://kafka.apache.org/)

[9] [https://aws.amazon.com/blogs/opensource/keeping-open- source-...](https://aws.amazon.com/blogs/opensource/keeping-open-source-open- open-distro-for-elasticsearch/)

[10] "It is always Day 0 at Elastic (like the developers we serve, we use zero based numbering)."

<comment><USER49> "Elastic sure looks to have collaborated with GCP"

AFAICT that partnership just resulted in Elastic Cloud running on GCP in addition to AWS. If I had to guess, I'd say that Elastic didn't think it was worth their time to support GCP, but Google provided some resources to encourage them to add it as an option. That way Google gets to tell prospective GCP customers that they have an option for hosted Elasticsearch without having to build it themselves.

</comment></comment><comment><USER50> Yeah, Elastic doesn't look great here. Anyone else getting deja vu about Mongo?

</comment><comment><USER51> so, any license changes?

</comment><comment><USER52> time to forget elastic and use open distros

</comment><comment><USER53> As an alternative to parsing 3 HN links (plus comments) and reading between the lines, can someone please summarize what's going on ?

Thank you.

</comment><comment><USER54> Wow elastic seems salty. I don't think this blog post was a great idea. While I understand that they need to monetize their project, I have been put off by them putting their security features behind a paywall. They literally advertised "Security" as non-existent on their XPack pricing page for their basic free plan. Furthermore, I am still laughing about how the author litteraly wrote that Amazon "bluntly copied" them, "sadly, painfully, with critical bugs".

</comment><comment><USER55> I read all of that as a rant about "pleople cloning my open source project and making it better, stop plz".

Duh, I'm glad about the direction Amazon is going.

</comment><comment><USER56> Elastic, like Redis and MongoDB before it, decided that Open Core isn't enough, but that they need to go against the Open Source Initiative (a grassroots organization that represents the Open Source movement very well, and runs [https://opensource.org/](https://opensource.org/) which contains the open source definition) and confuse users by misusing the well understood, but non-trademarked term "open source". This phrase in the post from the article:

"When others closed down, we opened up."

...links to another article called Doubling Down on Open [1] where they say introduce their _source available_ strategy and in some places call it open source (with and without capital letters) and in other places differentiate between it and open source.

Please don't call things Open Source that don't fit the Open Source Definition. You have a right to do so since it's not trademarked, and I'll defend that right, but it adds confusion (the D part of FUD). And while the OSI doesn't have a trademark to Open Source (perhaps rightfully so since it's a generic term, though more generic terms like Apple have been trademarked), they do own opensource.org.

[1]: [https://www.elastic.co/blog/doubling-down-on- open](https://www.elastic.co/blog/doubling-down-on-open)</comment>


Ask HN: Amateur Radio, Cellular and Commerical Radio Towers Mapping? - <AUTHOR>

Hi, I'm Brennan. I'm a ham radio operator, general class.
I'm finding that it is incredibly difficult to actually pull a list of all Radio/Cell/General-purpose radio towers within the radius of a zip-code. The information I am finding typically lists a registered owner with a far out-of-state address.
Does anyone have any ideas? <comment><USER2> Cellphone tower locations should be available in public databases, depending on the country (as this is what is the base for non-gps geolocation).

<comment><AUTHOR> Thanks! I changed my search tactics and finally found the FCC Antenna System Registration system, located at [http://wireless2.fcc.gov/UlsApp/AsrSearch/asrRegistrationSea...](http://wireless2.fcc.gov/UlsApp/AsrSearch/asrRegistrationSearch.jsp)

The mapping leaves much to be desired but should be sufficient to put together my own map using the data.

Unfortunately the tower I was hoping to find information on does not appear to be registered in this particular database.</comment></comment>


Ask HN: Books/courses for self-taught programmer - <AUTHOR> As a self-taught programmer, I realize I've many blind spots. I would like to get better well rounded when discussing software engineering topics.
Things like data structures but also modern software engineering practices.
Any books, courses or other resources I should focus on? <comment><USER2> Take CS courses online or offline from universities that offer lectures for free/pay online. If you are sufficiently motivated, you can work through the book by yourself and watch video. If not, the commitment of paying for a class and time boxed scheduled of a semester will hopefully push you.

Computer architecture course. - you need to understand the machine you are programming. Something like Meltdown/Spectre will make sense to you.

Learn assembly programming & C, does much for your confidence, you understand how your programs get turned to 10101

Take a programming language course, understand the difference programming languages. When people start talking about the new XYZ language, you can quickly evaluate it based on the paradigm and decide if you should get on it or not.

Operating System course. - The OS coordinates resource allocations to your program, you can begin to understand the discussion such as why fork() takes longer than a thread. You will make many wise decisions.

Algorithm & Design - You can write better program.

Software Engineering - You can deliver better softwares.

Automata Theory - you can understand machines more, sometimes complex logic is best representated as a simple machine. This becomes useful if you are parsing (compiler, NLP, etc)

Distributed Systems - if you have ever uttered the word microservices or plan to.

The below 3 maths are the main maths of computer science, most cutting edge work today employ some or all of them.

Linear Algebra, Discrete Maths, Probs & Statistics

<comment><USER3> [https://teachyourselfcs.com](https://teachyourselfcs.com)

<comment><USER2> Perfect! First time seeing this, I would be recommending this next time. I often get this same question.

<comment><USER3> Yep, I see this question on Reddit all the time. Here's the previous HN discussion post on TYCS: [https://news.ycombinator.com/item?id=13862284](https://news.ycombinator.com/item?id=13862284)

</comment></comment></comment></comment><comment><USER4> I program in a lot of languages and feel like I am a master of none. At work I do R about everyday and I was feeling like I needed to get my stuff together. I ended up learning Racket and I wish I did it 10 years ago.

"How to Design Programs" [http://www.htdp.org/](http://www.htdp.org/) is the best book I have ever read. It is very dense and I had to restart it a few times to get through it. This is not a knock on the material or process it is just how I process things. When I get stuck I go back and review everything again from page 1. I also went through "Realm of Racket" [https://www.realmofracket.com/](https://www.realmofracket.com/) with my 11 year old daughter and that was also great. My programs never repeats itself and I can program a function quicker and more concise than ever before.

</comment><comment><USER5> You don't mention which language you're interested in, but if you use Go, check out my guide on Go Data Structures [https://flaviocopes.com/golang-data- structures/](https://flaviocopes.com/golang-data-structures/)

Even if you're not into Go at all, I think the language is nice to beginners and the examples can be easily read.

I hope you'll find it useful, it focuses more on the implementation than on the theory but it could be reference material along with more in-depth books.

</comment><comment><USER6> Once you get over the syntax and basics of writing a program, I would recommend learning about writing maintainable software.

Kent Beck's 4 rules of simple design is great. You can find the rules online.

Some great books are Clean Code, Pragmatic Programmer, Working Effectively with Legacy Code

</comment><comment><USER7> \- Computer Science, an Overview, by Brookshear: an excellent introduction to the whole field.

\- Introduction to Algorithms, by Cormen, et all: a bible for computer science.

\- Design Patterns, by the Gang of 4: well designed solutions for common problems, a classic.

</comment><comment><USER8> If you're in the camp of "I worked through a good rails/django/nodejs/php tutorial, but I don't really understand SQL", you should go through this course: [https://lagunita.stanford.edu/courses/Engineering/db/2014_1/...](https://lagunita.stanford.edu/courses/Engineering/db/2014_1/about)

Skip XML but do not skip relational algebra.

</comment><comment><USER9> List of Free Learning Resources

[https://github.com/EbookFoundation/free-programming- books/bl...](https://github.com/EbookFoundation/free-programming- books/blob/master/free-programming-books.md)

</comment><comment> git-pull Reading code is best. Downloading and building the code locally and running it (debugging snags along the way) is a helpful skill.

Like this:

Ever use tmux? What if the system your building tmux against doesn't have queue.h (found in Free/OpenBSD)?

[https://github.com/tmux/tmux/blob/master/compat/queue.h](https://github.com/tmux/tmux/blob/master/compat/queue.h)

How does tmux know to include queue.h? First, the build system detects if the system has the macros declared, [https://github.com/tmux/tmux/blob/58e9d12/configure.ac#L481](https://github.com/tmux/tmux/blob/58e9d12/configure.ac#L481) and defines a C Preprocessor Symbol HAVE_QUEUE_H. That then gets swept up in the build process: [https://github.com/tmux/tmux/blob/a3967de/compat.h#L82](https://github.com/tmux/tmux/blob/a3967de/compat.h#L82).

Look at queue.h, nice, portable, solid macros for linked lists. It's actually derived from BSD's queue.h decades ago.

I like how FreeBSD's fork of queue.h has a table of the macro's features: [https://github.com/freebsd/freebsd/blob/releng/11.1/sys/sys/...](https://github.com/freebsd/freebsd/blob/releng/11.1/sys/sys/queue.h#L77)

Here's the linked list for Postgres, [https://github.com/postgres/postgres/blob/master/src/include...](https://github.com/postgres/postgres/blob/master/src/include/lib/ilist.h).

Also, check out Postgres lexer and parser utilities: [https://github.com/postgres/postgres/blob/master/src/backend...](https://github.com/postgres/postgres/blob/master/src/backend/parser/scan.l) (for Flex) and [https://github.com/postgres/postgres/blob/master/src/backend...](https://github.com/postgres/postgres/blob/master/src/backend/parser/gram.y) (for BISON)

If you insist on an all-around programming book, _Code Complete_ by Steve McConnell.

</comment><comment><USER10> Lot's of these reading/lecture lists around [https://functionalcs.github.io/curriculum/](https://functionalcs.github.io/curriculum/)

</comment><comment><USER11> [https://bigmachine.io/products/the-imposters- handbook](https://bigmachine.io/products/the-imposters-handbook)</comment>


Do you really need to take 10,000 steps a day to keep fit? - <AUTHOR> http://www.bbc.co.uk/news/magazine-33154510 <comment><USER2> TL;DR: 8000+ is good enough.</comment>


Deep learning to predict the lab-of-origin of engineered DNA - <AUTHOR> https://www.nature.com/articles/s41467-018-05378-z <comment><USER2> Can 48% accuracy or 70% top10 accuracy be used for attribution? How high the accuracies have to be before this model is useful?

<comment><USER3> Well, consider that if airplanes were 99% safe, nobody would fly. And the way I understand it (not very well), the lab-of-origin discovery is based on design choices rather than inherent factors. This means that it could be copied to create false positives? Hopefully someone more educated on the subject can elaborate.

</comment></comment><comment><USER4> Before someone unleashes their malignant creation upon the world, they'll make sure their design choices look boringly common to this tool.

As an aside, the introductory paragraph is an extremely strong piece of writing that gives a great intuition for their motivation.

</comment><comment><USER5> Are they talking about traditional transgenics, or also modern gene editing?

<comment><USER6> Neither - they are talking plasmids, which are a precursor to both. Plasmids are circular DNA that are used in cloning. Cloning is the step-by-step process by which a construct is engineered (e.g. promoter and gene sequence placed in the correct orientation, along with a selectable maker in traditional GM). Plasmids are amplified in bacterial systems to generate loads more, and a very stable. Good for storing and passing around to other labs. Often the same plasmid backbone is used in multiple constructs, hence why the approach in the paper works. You could not use this approach to detect which lab CRISPRd an organism (the tell-tale signs are not retained), but it would have some effectiveness in traditional GM if the insert were sequenced, as some of the lab-specific cloning decisions and mutations could be present.

</comment></comment><comment><USER7> Shades of "Blade Runner".

</comment><comment><USER8> Tangent: I wish papers that get published contained a section with the reviewers' notes.

<comment><USER5> > I wish papers that get published contained a section with the reviewers' > notes.

At least the journals published by the European Geosciences Union publish the whole review process in the open. Reviewers' comments, and authors' responses to them.

[https://www.egu.eu/publications/open-access- journals/](https://www.egu.eu/publications/open-access-journals/)

(When you open the view to any article in any of those journals, you need to click on the "Peer review" tab, and you get to see the original manuscript as "Discussion paper", and all of the review process.)</comment></comment>


DNSCurve: DJB's proposal for securing DNS - <AUTHOR> http://dnscurve.org/

<comment><USER2> Basic summary: DNSSEC adds new DNS records in order to provide end-to-end security; DNSCurve adds protocol level security instead, but does so in a far more cryptographically sound way.

Personally I'm not happy with either solution. Getting the cryptography right is important, but end-to-end security is also important -- the ideal outcome here would be if a new DNSSEC2 was created which used djb's curve25519 instead of RSA1024, but I don't think this is very likely to happen any time soon.</comment>


The Siri Remote Is Broken - <AUTHOR> https://dhariri.com/posts/5949919dd1befa36d083370f <comment><USER2> Or just do "press to wake" feature. I guess that is a sortof hold button, in software.</comment>