Lightning Network Skepticism - <AUTHOR> https://chrispacia.wordpress.com/2015/12/23/lightning-network-skepticism/ <comment><USER2> > It seems I wasn't the only one with this concern as there's been a fairly > recent pivot away from the hub-and-spoke network topology to a more organic, > wallet-to-wallet routing. The network is now envisioned as a more pure p2p > payment layer without those large scale payment hubs.

As the co-author of the Lightning Network, this is not true, there has been no pivot. The design has always designed around wallet-wallet topologies from the beginning (try doing a Find for the word "hub" in the paper). Will there be nodes more connected than others? Of course. But with LN, they are designed to be interchangeable and formless. It may look like other P2P topologies of ever-shifting "supernodes", but never irreplaceable "hubs" like Visa or Fedex's single primary Memphis, TN hub -- in fact you'd be challenged to find a P2P network with a topology of only a handful of static hubs (this makes sense because establishing connectivity is cheap in a virtual system, opposed to physical infrastructure like wires or an airport).

I'm not particularly happy that "small-block skeptics" are using LN as some kind of punching bag against their pet ideas of who the enemies are (the arguments have become highly politicized in the bitcoin community). The LN paper itself presumes bigger blocks, and have never argued that LN is the sole solution, merely that a large component of scalability needs to occur via moving transactions off-chain. The alternatives are a failure of mining incentives (whether it be low-value transactions get crowded off bitcoin and moves to a bitcoin-backed centralized ledger, or the fee-market breaks down and miners reduce fees far too low due to commons externalities).

There is a clear obvious misunderstanding of core principles in computer science, wishful thinking does not solve real problems. It is is akin to assuming that systems are easily capable of a broadcast topology -- that everyone in the world can be on the same wifi access point. Bigger block capacity is desirable, but it's also desirable to be able to instantly transact a payment of $0.0001 without everyone in the world processing that payment.

(I'm going to be intermittent with computer access today due to the holidays but I will reply to email or respond tomorrow :P)

<comment><USER3> _The design has always designed around wallet-wallet topologies from the beginning (try doing a Find for the word "hub" in the paper)._

This is very clearly not true, and you don't do yourself any favours by saying such things. The paper discusses hubs that need to provide various guarantees, like being continuously online and routing payments for arbitrary third parties. This is not at all the same thing as a wallet and Chris is right to point out the distinction.

With respect to your point about becoming a punching bag, I'm afraid I am not particularly sympathetic. When Blockstream started floating LN as an alternative to raising the block size (which is what they have consistently done) you should have condemned that and them right away, loudly and clearly, as it was obviously an absurd suggestion and not going to happen anywhere near in time.

LN is a highly theoretical system that doesn't have any implementation that ordinary people could actually use. There is no practical experience with running such a network. It doesn't even have answers to basic design questions, like how routing and addressing would work. The chance of project failure is therefore quite high, as is always the case for research projects.

Thus to imply LN is some sort of dead-cert thing is hubris. Academics have been producing e-cash white papers for decades. Almost none of them actually turned into real-world systems. Nobody will know if LN actually works better than Bitcoin does (or did) until it's built and has competitive usability, which is a very long time away.

 _> There is a clear obvious misunderstanding of core principles in computer science, wishful thinking does not solve real problems_

That's not very charitable is it?

I can assure you, the CS understanding of the people who disagree with you (like Chris, Gavin, myself and Satoshi) is just fine, but I have to question your understanding of engineering. The calculations were done years ago that showed for typical payment network loads that global broadcast could work just fine. Computer science doesn't mean "some algorithms never work and some always work". It just gives us the tools to analyse costs. By simply ignoring complexity and engineering costs of LN, as well as some rather tricky algorithmic costs around pathfinding in global non-suspended networks, you can obviously make any actually existing system look bad in favour of a theoretical proposal.

<comment><USER2> The paper never refers to hubs, the necessity of a handful of entities routing payments a-la Visa has never been part of the design. There are certainly more connected nodes, but that's true in any P2P system (as well as nodes with higher uptime). Additionally the paper refers to larger blocks, LN doesn't resolve underlying block capacity issues alone, it could help mitigate its problems significantly -- much like how a switched network helps resolve bandwidth (but you still might want faster connections).

I've never argued that it is a dead certainty, certainly less so than you have argued that arbitrarily large blocksizes are the only solution.

Quite frankly, I don't understand why you're so butthurt with my comment, I've stated that I think multiple solutions are best, and have explicitly avoided the politicization with this community.

> I can assure you, the CS understanding of the people who disagree with you > (like Chris, Gavin, myself and Satoshi) is just fine

I'm pretty sure your comments don't accurately represents Gavin's view (AFAIK, he also thinks we need to explore many technical approaches), nor do you speak for Satoshi (current understanding of bitcoin's risks is significantly different than 2011).

Engineering costs are one thing, technical impossibilities are another. It's not credibly possible for bitcoin to exist in its current form while also being able to make a $0.0001 payment. I agree there are some aspects to consider, esp with maximizing the social value of the network and testing it out, though. Certainly, for all we know there may be unaccounted issues, but that's the case for bitcoin as well (51% risks are still unknown).

For those who are not paying attention to the bitcoin discussions, I have always stated many transactions will still be on-chain (e.g. large directional flows, but paying $0.001 has not been feasible for a very long time in Bitcoin, LN enables those payments to exist using Bitcoin again).

<comment><USER3> _> It's not credibly possible for bitcoin to exist in its current form while also being able to make a $0.0001 payment._

Of course it is. I've made such payments many times over the years. The only reason it's not currently possible is because the Bitcoin Core developers have deliberately forced the network to run out of capacity instead of doing what the community wanted and raising the block size limit. So now the fees are huge, payments are flaky and users are rightly complaining that the system they rather liked appears to be losing any advantages it had over the competition.

Saying "it isn't feasible" or "not credibly possible" when it was repeatedly done right up until very recently is ... not great.

The proposed Lightning Network has received some very strong technical criticism, such as Chris Pacia's article. I wrote a similar one months ago that touched on different issues. I have not seen much in the way of answers to these criticisms.

<comment><USER4> > The only reason it's not currently possible is because the Bitcoin Core > developers have deliberately forced the network to run out of capacity

The Bitcoin developers suspect that there is nearly unlimited demand for $0.000000000000000000001 bitcoin transactions (micropayments). "Unlimited demand" is another way of saying "denial-of-service vulnerability".

I think that "forced the network" is tiresome allegation-making. The developers did not force the network to have an asymmetric bandwidth graph, but they definitely have an interest in countering centralization pressure (such as the increase in resource requirements derived from increasing transaction rate directly through the block size parameter). ....

I know you have long-standing disagreements with Bitcoin Core developers, but this does not seem like good reason to gloss over their reasoning.

> Saying "it isn't feasible" or "not credibly possible" when it was repeatedly > done right up until very recently is ... not great.

"What they call a 'centralization pressure' was working fine right up until some limitations on that 'centralization pressure' were implemented!"

> instead of doing what the community wanted and raising the block size limit

Btw "what the community wants" is irrelevant when trying to determine feasibility; sum of community-desire-weight does not make community-desired options more/less feasible.

</comment></comment></comment></comment></comment><comment><USER5> The authors primary concern is that lightning will produce a hub and spoke model.

The design has been a true peer-to-peer payments network without hubs for quite a while[1].

[1] [https://lists.linuxfoundation.org/pipermail/lightning- dev/20...](https://lists.linuxfoundation.org/pipermail/lightning- dev/2015-July/000019.html)

<comment><USER6> So if Lightning is better than Bitcoin at being a P2P payments network, why not just build an altcoin?!

<comment><USER7> Because there's no good reason to implement it as an altcoin.

</comment></comment></comment><comment><USER8> I'd be a lot more excited about Lighting Mightwork if there were one, 1, ONE merchant accepting GreenAddress.

From a user perspective, the benefits of GreenAddress were similar (instant confirmation), and the hurdles to adoption were actually lower.

GreenAddress and Lightning each require both sides -- sender and receiver -- to use something different, and more complex, than a regular bitcoin transaction.

They both have to restart with 0 network effect.

GreenAddress never got anywhere with users. Why will Lightning be any different? Because bitcoin itself won't work very well anymore?

</comment><comment><USER9> Is there any rationale for LN?

As I understand the situation: Bitcoin has a hardcoded limit for the number of transactions that can be processed every 10 minutes. Having such a limit is a good thing, because nobody can stress the network with an unlimited number of transactions. But the limit should be close to the normal usage of the network. So the hardcoded limit should rather be a setting that gets updated from time to time.

So there are the Bitcoin Unlimited guys who propose a client that has a setting for the limit.

And there are the LN guys, who propose a whole new layer on top of Bitcoin. Why?

<comment><USER10> "Bitcoin Unlimited" has no maximum block size, hence the name.

There are many problems which arise from unbounded transaction rates in Bitcoin. The most fundamental is that long term the coinbase reward is zero, and transaction fees are the only reason to create new blocks. Without artificial scarcity of block space (artificial in the sense of beyond what hardware can support) transaction fees would tend to zero, and mining would no longer generate revenue.

LN is proposed to allow many users and many transactions (when nodes cooperate) while keeping the security properties of Bitcoin (when nodes don't).

<comment><USER11> Mining does not need to be profitable. People always make the mistake in thinking that if mining ceases to be profitable that mining would suddenly stop. That is simply not how it works. It is more economical to buy tomatoes at the grocery store, but that doesn't stop people from growing tomatoes in their backyard.

<comment><USER12> Mining costs millions of dollars per day in electricity costs. I guess we can just expect a few people to burn a hole in their pocket for the good of the network?

<comment><USER13> This reflects a misunderstanding of the drivers of mining costs.

Mining only costs a lot because coin value is high and the block reward is high. This means miners are willing to spend more to win the reward.

As the block reward lowers then mining becomes funded entirely by equilibrium- priced fees.

<comment><USER12> Oh I understand mining economics quite well. The comment I was responding to however claims that some people will continue to mine at a loss after the subsidy is negligible. However that assumes that people would be willing lose hundreds of millions of dollars per year on power costs just to meet current security levels, let alone whatever level of higher security might be required in a moonshot scenario.

<comment><USER14> Millions of people collectively losing hundreds of millions of dollars a year is less than $1/month individually.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> In case the blockchain forks, it will get really interesting. And how I understand it, some people will get stinking rich. Because you can then effectively double every old coin by mixing it with new coins. After that, it is valid and independently spendable on both forks. So people in the know will probably buy old coins like mad, mix them with new coins and immediately sell them on both chains. Then use the money to buy old coins again.

<comment><USER15> Not how it works. If there was a fork, then coins on each side would become independent (you could not mix them together). Since the current price represents the total demand, the market cap must equal the sum of the parts, so coins on each side would become less valuable. I would expect the aggregate would actually go down, due to lack of faith in Bitcoin developers being able to get shit done (and possibility for other coins to pick up the slack).

<comment><USER9> The fork that is on the horizon looks like this:

        On chain A blocks bigger then 1mb will be valid
        On chain B blocks bigger then 1mb will be invalid

Now when you sign a transaction and broadcast it, it will get executed on both chains.

Unless the transaction has coins in one of its inputs that already went through a block bigger then 1mb. Then the transaction is only valid in chain A. This way you can double the value of a coins that are spendable on both chains. Because now you can sell them once on chain A and once on chain B.

<comment><USER15> Right. But economically speaking, if exchanges started allowing you to trade both coins against each other, then supply has doubled while total Bitcoin demand remained constant. So the price would tank to at least 50% of its previous level on each side of the fork to reflect the new equilibrium.

Anyway, I think this is extremely unlikely to happen, because:

1) It requires 50% of miners to cooperate to even create a >1MB chain

2) Anyone using the old chain would be insecure, due to lack of mining power making it susceptible to a 51% attack.

3) If that many miners were on board, it's unlikely that existing core developers would opt to continue working on an insure fork rather than admit defeat.

4) If that many miners were on board, it's unlikely that exchanges would opt to confuse users by letting them separately trade two different types of Bitcoin, rather than just switching to the more secure, more popular chain.

<comment><USER2> I'm presuming 3dfan is assuming some kind of split in merchant/exchange acceptance, I agree this is less likely, though. However, in a hardfork, you can be sure there will be some kind of forkA/forkB exchange site that will emerge (not at a 1-to-1 exchange rate, of course).

</comment></comment></comment></comment></comment><comment><USER16> My concern is that LN puts a premium on unpredictable transaction behavior, and private transactions are unpredictable by nature. Thus, LN trades privacy for efficiency.

It's odd considering the struggle to keep the blocksize near 1MB for the purpose of keeping bitcoin decentralized. LN could centralize by making private transactions very expensive.</comment>


Zen and the Art of Surviving India's Startup Crash - <AUTHOR> https://www.bloomberg.com/news/articles/2016-10-25/zen-and-the-art-of-surviving-india-s-startup-crash <comment><USER2> Compared to any other market for Internet startups in the world, India is the least homogenous (type of consumer) and shallow of them all (when you measure it against the size of the population).

Good-quality Internet/smartphone penetration is not as deep as you think. If you think it's a market of 1B people, you're sorely off the mark.

Then there's the issue of language. 10% or less of the population speaks and understands English.

Past that, there's the issue of credit cards/digital wallets and willingness to pay for online services (not just goods).

Finally, while there's a massive middle class that does access the web on their phones, most of their usage is limited to facebook, whatsapp, and the like.

There are likely less than 50-75M english-speaking, smartphone-enabled, credit-card/wallet-enabled consumers.

With time this will get better, but for now I feel like irrational exuberance has gone a little too far in funding 4-5 similar startups in a single category.

<comment><USER3> >Then there's the issue of language. 10% or less of the population speaks and understands English

Why restrict yourself to do business with only english-speaking people?

<comment><USER4> Not sure what the implication was meant to be by the parent. That English speaking demographic would also tend to be a more highly educated, wealthier / higher income segment of India, linking up with the rest of the parent's reference about having a smart phone + credit card etc. I'm not sure what Internet business could possibly generate significant profit from the bottom 750-900 million consumers in India today (median ~$500 annual income in that group). They simply do not have enough disposable income and won't for a few decades yet. Nor are they a homogeneous consumer group that you can network capture (get the first N and the rest come in easier and easier) all or a huge part of (spending wise). The top 200 million consumers in India however are increasingly very enticing for a traditional tech company. The ideal would be to start with the higher profit, higher margin customers in the top demographic, and as India rises accumulate the customers that move upwards in income. It's exactly what eg Amazon will ultimately do.

</comment></comment></comment><comment><USER5> The Indian customer is extremely price-centric. Price trumps everything. The biggest startups today are the online retailers. The Indian customer switches to whoever offers the best deal, not the best convenience. It was Flipkart, PayTM, Snapdeal, then Amazon. People no matter how financially well off or educated or technology-friendly, will still squeeze every penny's worth out of a business and will go any distance for a good deal.

Startups we've seen use funding to attract customers. They offer attractive deals, and when they're done, the same customers move on to the next startup. Startups will be popular as long as the price is right, and as long as there is funding.

There are going to be some successful startups in India that won't be in the limelight. They'll be small and won't take over the country, or the world.

<comment><USER6> How exactly is this different from the US ?

You think people will rush to Amazon, if overnight becomes just as expensive as B&N ?

<comment><USER7> In Germany, book prices are fixed. Buying a book on Amazon costs exactly as much as buying it from the small shop at the corner. People still prefer Amazon and book shops are dying.

<comment><USER6> I see. Are book-stores far and in-between (why is it inconvenient ?).

<comment><USER8> No density of bookstores is going to be able to match ordering from inside your house.

</comment></comment></comment></comment></comment><comment><USER6> > She was convinced that local startups would have a fundamental edge over > foreign competitors.

No they do not. They had a head start from setting up a city-wide logistics company, but other than that there isn't much else.

Localization ? None of them localize. All of them are meant to serve the English-speaking classes. Flipkart said earlier that "churan" and "hing" don't count for "real" sales [1].

Honestly, I basically see multiple foreign entities fight it out. Ironically, American cos generally tend to localize far more than Indian cos (not AMA though).

[1] [http://m.thehindu.com/business/Industry/rivals-find-it- shame...](http://m.thehindu.com/business/Industry/rivals-find-it-shameful- selling-products-unique-to-india-amit-agarwal/article9258713.ece)</comment>


Practical steps for launching a web site on your own? - <AUTHOR>

I've been working on a life organizing site for the past 2 or 3 years now and I'm finally in a position to launch it. However I'm having a hard time coming up with some practical steps that I can do every day to increase its exposure. Marketing isn't my strong suit or even an interest but I know its necessary. I've tried to submit it to the social sites but it seems to get buried in the noise too fast.<p>I know there are a lot of things that need to be done but its difficult to focus on a strategy when you arent sure where to begin. Any advice would be appreciated. <comment><USER2> I would identify a few key users who have written posts about 'life organizing' or similar topics, really focus on the people that would be excited to use your product. Reach out to them, get their feedback, ask what current tools they use & what sites they visit any meetups/conferences to note?

Treat them as early adopters & value their insight.

If you're having trouble at identifying this kind of person you need to hone in on your ideal target customer, learn the keywords needed to find this type of person.

This will also help when you come to do a PPC campaign.

<comment><AUTHOR> Thank you.. this will be the first approach I take, trying to find some key users who might find it interesting and listen to their feedback.

</comment></comment><comment><USER3> Well first off I usually release something after a few weeks of development there's no need to go so long (3 years) before releasing. It doesn't need to be perfect, as Seth Godin would say "Ship the damn product". Find your users (if they exist), engage with them and if you have a viable/useful product they will use it.

</comment><comment><USER4> I'd be happy to work with you some to get people to your site. Email is in the profile.

</comment><comment><USER5> If it's getting buired in 'noise' are you sure your product isn't just noise?

Make a blog, write about what you're doing and if it's interesting you will find readers. Then ask these visitors to get involved.

The other alternative is to throw down a bunch of cash on PPC advertising.

<comment><USER6> This is simply not true - a blog without promotion will not simply "find readers" no matter how interesting.

Getting people to your blog is a combination of getting good inbound links, getting good PR in the central hubs of your subject matter by the people who are seen to be experts as well as (if your subject matter lends itself to it) some offline promotion. Building a blog and hoping they will come is just not savvy.

<comment><AUTHOR> Thanks for the insight. I think sometimes we all hope this is what will happen automatically considering all the time we put into our projects, but it doesn't end up being a realistic strategy.</comment></comment></comment>


Ask HN: Cloud infra cost model for a typical SaaS? - <AUTHOR> I am trying to build a business model for a SaaS play. In your experience what does it typically cost on a monthly basis for a beginner SaaS deployment for an enterprise application (middleware, db, file storage) with 50 customers each having 25 users? <comment><USER2> Depends entirely upon architecture and what the SaaS does; there's nowhere near enough data to give a meaningful answer.

<comment><AUTHOR> Thank you for responding. I had hoped to get a typical configuration based cost to insert into the business model cost projections</comment></comment>


Show HN: Tundra – Sell and deliver products to businesses anywhere - <AUTHOR> https://www.tundra.com/ <comment><USER2> Curious regarding what role Tundra takes if there is an issue with a shipment from the buyer's end. Also from the seller's.

<comment><AUTHOR> (Tundra co-founder here)

Insurance is an included option at checkout that buyers can select / unselect to cover their order in case there is damage or loss during transport.

Suppliers can choose what type and duration of warranty coverage to offer their buyers and the coverage is stated on the product's page.

<comment><USER2> Suppose my there is an issue with my purchase. Does this mean I am dealing with some third party and not Tundra?

<comment><AUTHOR> Purchases are shipped directly from the supplier to the buyer and Tundra does not take any markup on the products. If there are any issues with a product, it will be covered by the warranty offered by the supplier and displayed on the product page. Tundra handles the shipment of the replacement goods.

<comment><USER3> I think brudgers means nonpayment / chargeback incidents.</comment></comment></comment></comment></comment>


Mozilla – Your Europe. Your Vote. Your Tools - <AUTHOR> https://www.mozilla.org/en-US/firefox/election/ <comment><USER2> These tools are extremely useful. Looking forward to using them.</comment>


What happened here? Double posting shenanigans at HN - <AUTHOR> http://randombytes.posterous.com/ I was just browsing through the previous days top stories and saw this. It caught my eye because obviously it was the same story, twice. Same comments. But 2 (marginally) different karma scores. I'm always curious and wondered if anyone had an explanation. <comment><AUTHOR> It seems to be a bunch of submissions are effected. The page past the picture I took now has 3 of the double submissions. I just added a second screen shot.

</comment><comment><AUTHOR> Can anyone else verify that this is happening? Starts at post 119 on the popular stories list.</comment>


Ask HN: Would you subscribe to 3 business ideas a day? - <AUTHOR> What would you pay per month to receive 3 startup ideas in your inbox every single day? I have been consulting for large organizations and have and constantly see problems that need solving. Was wondering if people would want to pay for such a service? <comment><USER2> 0?

Brainstorming a couple business ideas is my breakfast exercise. It's a brain- teaser, not anything of real value: I don't have true insight into many other markets to answer the question of "why isn't this already being done?," and in the markets where I can answer that question... well, I'm currently working on an implementation, not broadcasting it.

Ideas alone are value-less. A decent market sketch would be required before it was worth my time, never mind my money. And even then: if you're pumping out 3/day to the masses and not investing in these ideas yourself, you're signaling these are really shallow, low-quality ideas you don't actually think are worthwhile businesses.

If you don't value these ideas, why would I?

(Aside: the likelihood that you've consulted in enough industries to sustain 3 worthwhile ideas a day is incredibly unlikely. It's far more likely you're spitballing in ignorance of many/most industries, or your ideas will revolve around the handful you've been deeply exposed to. The latter is much more valuable than the former, but again, does it sustain 3 ideas a day?)

For contrast, I pay for stratechery. What it lacks in volume, it makes up for in depth of analysis that few other places provide. You're swinging in the opposite direction, and I don't see a value proposition in it.

</comment><comment><USER3> If you had confidence that those ideas are slam dunk, you would mortgage your house, take a loan, hire developers and have them build the idea. Then you would profit immensely and retire in Bali.

You're not doing that because you can't estimate the risk vs. profit potential of your own ideas.

Neither can anyone else and that's why there is no "eBay for ideas". It's a perfect example of market for lemons ([https://en.wikipedia.org/wiki/The_Market_for_Lemons](https://en.wikipedia.org/wiki/The_Market_for_Lemons)).

Consequently, there is no market for "daily 3 startup ideas".

</comment><comment><USER4> Not on the basis of this description. Ideas are easy, execution is hard. I think most regular readers in this space would have little difficulty identifying problems and giving a napkin sketch for a solution.

Who is the audience for three paid ideas a day? I don't see VC firms using this, startup launchers only need, at most 2 or 3 total and only until they find one good one to execute on.

The value in sale of ideas would come from sime of the followup to a good idea: some minimum marjet research to determine audience size, proclivity and ability to pay for a solution. Call it a rough outline for a business plan.

</comment><comment><USER5> I wouldn't. Three per day seems too much and would probably fall into the trap of being shallow knock-offs of stuff that is already being done.

What would appeal more to me is 3 per week with each idea built out with things like:

Size of potential market,

Target industries identified,

Competition and Internal Substitutes,

Educated guess as to why this doesn't already exist,

Target buyer roles within companies for B2B or target buyer for a consumer product or service,

Maybe a couple more points like this

This could get very involved - but I am thinking like a nice succinct one page version covering these points.

This is getting closer to something I would pay for.

<comment><USER6> Actually an analysis of businesses that are already working would be very interesting.

</comment></comment><comment><USER7> So ten thousand subscribers get 3 biz ideas a day. I wouldn't subscribe because for any really good idea there are likely to be a hundred immediate competitors.

I also have doubts that you could consistently generate 3 high quality business ideas a day for any sustained period of time.

I doubt that there would be a market for ideas like: Uber for dog walkers, mobile turtle bathing service, gourmet cat food deliveries - well that's my 3 for today.

<comment><USER8> Okay...tell me more about this mobile turtle bathing service.

<comment><USER7> It's like those trailers you see offering dog grooming services. So you have a shallow bath structure and a choice of salt or fresh water. You put the turtle in, let the hydrojets gently wash over it, then you rinse and return to owner. I haven't yet worked out how to handle to handle Galapagos Island Giant Tortises yet - probably need a hydraulic lifting platform and or a hoist. Of course you write a smartphone app with GPS and booking - rather like Uber. All mere details ;-)</comment></comment></comment>


Think before you Mongo - <AUTHOR> http://blog.runnable.com/post/149000201856/think-before-you-mongo <comment><USER2> like the yesterday's submission of "Why you should never use MongoDB (2013)" ([https://news.ycombinator.com/item?id=12290739](https://news.ycombinator.com/item?id=12290739)), this is all just plain sad because totally unnecessary: the failure of hierarchical databases was obvious in 1960s and was the background of Edgar F. Codd's work on the relational model.

unfortunately, this industry is dominated by cocky PFYs (of any age) convinced they don't need to study history of their field and, as a result, don't even recognize they're repeating 50 years old mistakes. sure, SQL has fallen so short of the promise of the relational model it's not even funny, but don't conflate the model with the query language, folks!

<comment><USER3> The relational model _does_ have deficiencies, but the right way to address them is with _more_ powerful schemas, not less. See: "categorical databases".

(Think about it this way: SQL is Java. NoSQL is your typical extremely forgiving dynamic language. We need a database equivalent of ML and Haskell.)

NoSQL is simply the result of not wanting to think about the logical structure of data. Plain intellectual laziness.

<comment><USER4> "NoSQL is simply the result of not wanting to think about the logical structure of data."

NoSQL was an attempt to scale by sacrificing some of the capabilities of the relational model. Key value stores scale great, at the cost of having almost no query capabilities to speak of.

Now, some developers may adopt NoSQL due to the ease of getting a new project started. But I don't think that was the main motivation of the developers of the major NoSQL databases.

(Although, NoSQL is so broad I'm sure there are counter examples.)

<comment><USER3> > NoSQL was an attempt to scale by sacrificing some of the capabilities of the > relational model.

You can give up global consistency without sacrificing local (single-node) consistency. And normalization isn't an all-or-nothing proposition: you can select the kind of schema that best fits your needs. Unlike the case with NoSQL, which just says "lalala... I can't hear you" whenever you bring up consistency.

> Key value stores scale great, at the cost of having almost no query > capabilities to speak of.

Far more worrisome is the loss of data integrity guarantees. It's okay to let me selectively disable these guarantees when I don't need them (say, by using a less structured schema), but a "database management system" that doesn't let me enforce the intended structure of my data, under any configuration, is simply not worthy of the name "database management system".

</comment></comment></comment></comment><comment><USER5> The author freely admits they tried to do a relational schema in a non- relational database. Then proceeds to say it was the wrong choice of product, instead of design. This confuses me. I use MongoDB as my main database, and it works great for me. However, I did have to learn that it works differently, which meant writing my code differently.

My question is this, if you tried to use PostGres and designed your tables super super wide and embedded everything in large object data types and then it got to complicated to manage and figure out, would you consider that a failure of PostGres, or your failure as a developer/architect?

I will have to chock this up to a good laugh myself. Lastly, I've used relational databases for most of my career, and I'm very good at writing SQL. But after learning MongoDB and how to use it properly, there isn't a lot that I would want to go back to an RDBMS for. And with the future roadmap of MongoDB, I don't see that changing.

</comment><comment><USER6> I agree... but at this point, it's tough to see with all the ink that's been spilled on these issues for years how you could think anything else. Maybe I read HN too much, but the manifold problems with MongoDB have been widely publicized for the past 6 years... it seems pretty close to conventional wisdom that you're going to have those problems if you decide to use Mongo.

<comment><USER7> You have to separate between "Mongo the database" and "Mongo as it's used by companies"; the latter causes far more problems than the former.

I last used MongoDB seriously in 2012-2015. We had myriad operations problems including inconsistent indexing across shards (where some shards had an index created and others didn't, it was baffling), issues with the balancer not moving chunks properly, and more. Also it's just _different_ than other DBs with its lack of transactional consistency (I think they've made progress on building this), but that's part of why it's fast.

However, the bigger problem is that document databases -- in general -- enable a kind of software development where the model sort of emerges over time, rather than being carefully designed from the beginning. Yes, it's flexible, but you pay an absolutely enormous cost down the line dealing with inconsistent documents. It's not like code where if you do something stupid, you can fix it over time with refactoring and "remodeling" \-- data has _mass_. You can get into a situation where, with a large data set, it can take a week or more just to run the migration script required to scan an entire collection and rewrite a few billion documents into a new, better format.

There is no such thing as a "schemaless" database. That's like saying, oh sure, we just have a bunch of 1s and 0s in memory -- our data is "structureless". The question is whether the database enforces the schema, or not. And I think that in a lot of cases, it's a lot worse to have an "uncodified schema" than a rigid, but at least well-defined, one, that's consistent across the data at all points.

Sidenote: It's also occurred to me over the past few years that it's almost impossible to impose a consistent schema on a large enough dataset. If you truly are dealing with "big data" (TB/PB scale) maybe go straight to the document store of columnar because doing a migration is outright impossible, but don't be so quick to write it off for GB-scale datasets.

<comment><USER6> I would say the latter and the former are inexorably intertwined; i.e. Mongo causes problems for companies _because_ it does things you would not expect a database to do, like your example of phantom indexes...and pretty much all bets being off when you try to leverage sharding... the one thing it was supposed to be able to do to scale...

<comment><USER7> Couldn't agree more.

We had more problems with sharding over the years than you could imagine...the distributed locking mechanism didn't work a lot of the time, the balancer didn't work, weird consistency issues between the config servers, configuration that didn't get replicated across all shards, stupid shard key selection (admittedly our fault but there really should be better guidance on this topic), etc.

</comment></comment></comment></comment><comment><USER8> > Building an MVP on a super-tight schedule (early-stage apps, school > projects, hackathons, etc.)

This sounds like Proof of Concept, not Minimal Viable Product.

<comment><USER9> Still almost always better off on SQL (Lite or Postgres).

</comment></comment><comment><USER10> I think Mongo is GREAT at one very important thing:

Storing other people's data.

If you need to consume other services, especially if its more than one, it's hard to beat Mongo (or other NoSQL databases). You get a lot of search power (not always the easiest to tap, but you get it), and your app won't break when they change their formats. If you need a LOT of it, even better.

I would never use it as my main datastore, though. At least not for any projects I can think of offhand.

</comment><comment><USER11> Postgresql 9.4/9.5 offers nice support for JSON type data structures, if someone wants to iterate fast - maybe they should start with that as a baseline.

</comment><comment><USER12> It's absurd to use a schemaless database for the simple sake of "rapid" iteration! That is so, so incredibly inefficient. You need — NEED — to understand your domain data (its structure, volume, usage, etc.) before you even begin writing a single line of code or picking a specific DB vendor. This — and only this — will rightfully inform you of what your actual technical requirements are.

</comment><comment><USER13> If we treat schemaless is to Mongo then we are sure to abuse it after sometime. There are several other factors to consider. Mongo is NoSQL db and not a greek god of data storage. So, do not curse it for your sins.

</comment><comment><USER14> Are there any key/value JSON databases that enforce JSON Schema (or some other schema language)? That seems way better to me in situations where you actually care about data integrity.

<comment><USER15> Any particular reason you want it at the db layer? Wouldn't having it at the query builder/orm layer suffice?

<comment><USER14> I think it would be useful in various situations.

In my particular case clients of different quality are connecting to a local datastore. I'd like to make sure that even if they mess up validation the data in the store still matches the schemas it claims to. Of course, I could have them connect to a local process instead and have that process handle validation before the data goes in the store, but it's always nice to avoid intermediaries.

</comment></comment></comment><comment><USER16> Is it that time of the year, when mongo-hating blogs start popping up like daisies?

</comment><comment><USER17> I am coming from an 18-year SQL admin/dev background, and am both an MCDBA and MongoDB certified DBA. I and my DEV team have been incorporating MongoDB into our stack for about 5 years now in multiple use-cases.

I am using MongoDB in my production environment for things like consuming incoming rates from different vendors, storing and serving pay stubs and client invoices to our web customers, controlling MSMQ message queues, archiving client emails for historical audits, etc. The key here is that they are document oriented entities, not normalized relational data.

What it comes down to is a willingness to be agnostic in selection of your database platform. Or more to the point, to let your use-cases drive the platform instead of the reverse. If you are going to develop a use-case that requires frequent partial updates, JOINs between multiple data structures, and traditional entity normalization, then a traditional RDBMS is appropriate. If your case allows for a denormalized mode of storage where all of the relevant information is contained within one document structure, and you can benefit from a fluid design, then MongoDB could be a good fit. If you need ephemeral key-value pair structures such as in session state caching, then something like Redis may be more in line with the requirements. They all have sweet spots that they fill well...

We all tend to have our preferred DB "hammer" to drive developmental "nails". What I propose is that we need to have an entire database toolbox from which to choose the right tool for each job.

Others have commented here about the need to thoughtfully plan before you write one line of code and/or choose your DB platform. I have to agree completely. You can map a typical relational use-case to MongoDB very easily to start with, but you do need to be able to enforce some level of control. MongoDB does this now with document validation.

[https://docs.mongodb.com/manual/core/document- validation/](https://docs.mongodb.com/manual/core/document-validation/)

You also now have document level atomicity and transaction-like behavior as of MongoDB 3.2.

[https://docs.mongodb.com/manual/core/write-operations- atomic...](https://docs.mongodb.com/manual/core/write-operations-atomicity/)

MongoDB, like the rest of us, is constantly iterating and improving. If you have not looked at it lately and are basing your opinions on earlier versions, I would encourage you to take another look...

Just my humble opinion...

</comment><comment><USER18> Think before you Nodejs.

<comment><USER19> Please elaborate. This comment provides little to the discussion.

<comment><USER20> Not nodejs, but I am in the process of tracking down and event loop loop (e.g. emit( event_id ) somewhere in the path of an event lisener of that name). I assume this can happen within node too.

The stack trace is amazing to see.

<comment><USER21> What tool are you using that allows you to see the stack trace on async events? That seems like a good debugger.

<comment><USER20> The code is based on boost asio, so the io_service is on the same thread as your code if you only start 1. Then after that I am in gdb/ldb. Asio's io_service handles the async calls portion and dispatches to my callback. From there on it is no longer necessarily async. The fun is that I have a higher level event handler sitting above this to register/unregister listeners, like one would in node. If one of those listeners happens to emit a message to what is is also listening for, boom.

long store short, it's not the async code per say, but after that.

</comment></comment></comment></comment></comment><comment><USER22> Any thoughts on Amazon's DynamoDb while we all are fresh on Mongo discussion here? Thanks.

<comment><USER23> I'd like to know this too. I've just started a proof of concept s3-lambda- dynamodb project and I'd like to know what others think about it.

Also I know document dbs don't aggregate well, but wouldn't it be appropriate to have your app backend in NoSQL and have etl or other duplication to an rdbms or possibly cassandra?

</comment></comment><comment><USER24> "We've lived and we've learned, and now we're in the process of migrating from MongoDB to PostgreSQL." Why PostgreSQL instead of MySQL?

<comment><USER25> > Why PostgreSQL instead of MySQL?

Why, is there something inherently better in MySQL that makes their second choice also suboptimal? Genuine question, I have very limited knowledge on DBs.

</comment></comment><comment><USER26> Mongo only pawn in game of life.</comment>


Outrage Over Human Gene Editing Will Fade Fast - <AUTHOR> https://www.bloomberg.com/opinion/articles/2018-11-27/crispr-fears-designer-baby-outrage-won-t-last-as-ethics-evolve <comment><USER2> > If children like the twins who have been reportedly modified are born and > live healthy, normal lives, then scientific worries about off-target effects > will begin to recede.

Unless the change is one that produces greater fitness in individuals but lowers fitness for the species as a whole. e.g. the environment changes (it happens) and all the folks that would've been naturally adapted (via this diversity) to the new environment were edited out.

Humans are great at thinking about individual risks, but not so great at thinking about systemic or ecological risks (climate change, economics)

<comment><USER3> Should we apply A/B testing?

<comment><USER4> Ethically, I think not.

</comment></comment></comment><comment><USER5> This paragraph rings hollow: "Other examples of human variability, such as intelligence, would be even harder to change with current editing techniques. We can't even produce a consistent definition of intelligence, much less identify its genetic determinants."

Even if we can't tell for sure what effect a particular genetic edit will have, telling customers "Yes this should make your baby smarter" is enough to convince a lot of people.

Also, the risks of off-target editing is massively understated - the FDA is reluctant to allow clinical trials for CRISPR-based therapy in consenting adults, requiring thorough evidence that you've catalogued and proved safe all off-target effects.

Here is a better article from actual scientists: [https://www.statnews.com/2015/11/17/gene-editing-embryo- cris...](https://www.statnews.com/2015/11/17/gene-editing-embryo-crispr/)

<comment><USER6> Likewise "yes this investment should beat the market."

My guess is that, given the ability for quacks and hucksters to outnumber legitimate practitioners, the results of gene editing will suffer a signal-to- noise problem for years if not decades to come. Even if some particular treatment is proven, it will be set aside if someone else offers a better but unproven treatment.

</comment></comment><comment><USER7> I watched a 60 minutes segment about horse cloning. An oil heir from Texas became very interested in polo, a sport where horses are rode and where the genetics of the horses are what decide the winner more or less. So instead of starting his own breeding program, this guy started a horse cloning operation in Argentina — its absolutely fascinating. When asked how different horse cloning would be from human cloning, he shook his head slowly and said that horse cloning is probably extremely similar to human cloning and that human cloning could be done very, very easily. When asked if he would ever consider cloning humans he gave an emphatic "no" and said that he had been asked by "some of the wealthiest people in the world" to clone humans in some capacity, and that he refused every time. Gives me shivers :P

It is interesting that there are both the means and the demand for human cloning. It stands to reason to assume that it has been done.

Cloning is a remarkably simple process from what I have read. Basically all you do is extract an egg from a female doner, take out its dna, insert a skin cell from the animal you want to clone, pull current through the egg to activate it and then place the egg Into a surrogate mother. The extraction and insertion of dna is literally done with a very small needle — no nano-tech or black magic. Just a needle. It really is remarkable.

<comment><USER8> > Cloning is a remarkably simple process from what I have read

Fewer than 10% of cloned animals survive to birth as of below 2016 report. Given human gestation period are much longer as well as far more limited cycles available per female, you are going to have very hard time cloning humans.

[https://www.ucdavis.edu/news/cow-gene-study-shows-why- most-c...](https://www.ucdavis.edu/news/cow-gene-study-shows-why-most-clones- fail/)

<comment><USER7> I've actually already read that link. I was disappointed in its lack of detail. I'll have to read the paper sometime.

Your point about the gestation length is really good. Do you have a background in biology or cloning?

Also I just read that horses actually have a slightly longer gestation period than humans

</comment></comment></comment><comment><USER9> I was a research fellow part of the Missiplicity project and I worked on the feline cloning part of it.[1] I still remember protesters at Texas A&M and how our lab was in an anonymous outbuilding near the vet school and we had occasional threats from various groups and various talking heads pontificated as they were prone to do.

While gene edited children aren't clones, the bioethics aspects aren't much different. But, this too shall pass. A lot of hand wringing, then a Streisand type will have a gene edited child and all will be forgiven. (I mentioned Streisand because she had her dog cloned not long ago.)[2]

[1] [https://www.theguardian.com/science/2002/feb/15/genetics.hig...](https://www.theguardian.com/science/2002/feb/15/genetics.highereducation)

[2] [https://www.theguardian.com/lifeandstyle/shortcuts/2018/feb/...](https://www.theguardian.com/lifeandstyle/shortcuts/2018/feb/28/copycat- culture-is-it-wrong-to-clone-a-beloved-dead-pet)

</comment><comment><USER10> Outrage over anything fades fast these days. Who's up at arms over the Equifax breach anymore?

<comment><USER8> Generalization: Outrage follows exponentially damped cycles unless a significant observable direct immediate loss is incurred.

First outrage has huge spike, second exponentially lower and so on. Example net neutrality.

I feel this is population's way of minimizing energy spent but with very small horizon optimization.

</comment></comment><comment><USER11> CRISPR in individual humans sounds potentially great.

Touching the germ line is a hard pass.

<comment><USER12> What, you don't want to wipe out half the planet's ability to procreate in a single generation? (the genocidal maniacs and overpopulation buffs are going to be all over this, maybe, if one of them has the guts and the brains)

<comment><USER13> If a change to the gene line prevented procreation it would eliminate itself pretty quickly. Unless we changed half of the already born world's genes all at once.

</comment></comment></comment><comment><USER14> I think the fears might be underblown, not overblown. Not enough people are paying attention to the Revolutionary Phenotype hypothesis and how it relates to gene editing. The moral fears are less scary than the existential ones.

There's a fascinating video that responds to the propaganda put out by the Chinese scientist who performed the gene editing on twins here: [https://www.youtube.com/watch?v=o2ND3_clSPM](https://www.youtube.com/watch?v=o2ND3_clSPM)

And you can read the first chapter of the book that will come out the next month describing the phenomenon here: [http://book.jfg.world](http://book.jfg.world)

<comment><USER15> Do you mind summarizing the hypothesis for the person who doesn't have time at the moment to read that (me).

<comment><USER14> It's the conclusion of Dawkins' _The Selfish Gene_ and _The Extended Phenotype_.

The Revolutionary Phenotype describes the transition of life from protein self-replicator (no known current ancestors), to protein-RNA tangos (no known current ancestors), to RNA replicators (current RNA viruses), to RNA-DNA tango (RNA-DNA reverse transcribing viruses), to DNA replicator (biological life).

The next revolutionary phenotype (let's call it RT) would be one that replaces DNA, first via a DNA-RT tango (machines editing our DNA) and eventually with RT (the machines) replacing DNA completely.

The video I linked above goes over the consequences of this. The book will describe it in more detail, and is slated to be released next month.

</comment></comment></comment><comment><USER16> Completely agree. This has always been a fabricated issue anyway. People enhance themselves all sorts of ways, diet exercise, tutoring, etc.

The hysteria over genetic engineering will last just as long as it takes for the first few successful attempts to show their benefits, and then everyone will promptly forget it was ever an issue at all.

<comment><USER17> Yes, but genes are one of the last equalisers out there. To an extent, obviously - your genes come from your parents - but rich and poor alike have both benefitted and suffered from their genetic makeups. Before long genetic engineering will be commonplace but almost exclusively among the rich. Arguably, much like dieting, exercise and tutoring.

<comment><USER18> Perhaps. And like salt in ancient times, there are luxuries of the rich that eventually, become less expensive and more accessible to people of more modest means. I can see that being the case for genetic engineering too. Consider that the first genome sequencing (the human genome project) cost around $2.7 billion dollars in the 90s ([https://www.genome.gov/11006943/human-genome- project-complet...](https://www.genome.gov/11006943/human-genome-project- completion-frequently-asked-questions/)). These days, you can do a full sequenincing of your DNA (not like the 23andme style) for around $1,400 ([https://www.genome.gov/11006943/human-genome-project- complet...](https://www.genome.gov/11006943/human-genome-project-completion- frequently-asked-questions/)).

<comment><USER19> > there are luxuries of the rich that eventually, become less expensive and > more accessible to people of more modest means

Inequality is _rising_ , not falling.

For example, any person at all today can easily get their hands on weapon that would win them any fight with a caveman wielding a bone, sure. But today, there's tanks and satellites and whatnot -- the most powerless became WAY more powerless in contras to the most powerful. You don't compare the poor of today with the rich of yesterday, you compare the them with the rich of today. And you compare the poor of tomorrow with the rich of tomorrow.

> _Rifles, muskets, long-bows and hand-grenades are inherently democratic > weapons. A complex weapon makes the strong stronger, while a simple weapon - > so long as there is no answer to it - gives claws to the weak._

\-- George Orwell

Already it's pretty normal for rich people to consider themselves above socializing with poor people. Adding editing of genes on top of that might not just turn that wide gap into a fortified moat, complete with property rights and patents and enforcement of said patents (imagine getting a mutation by chance that you have no license for), it might also mess up the incentives for medical research even more.

Why find a cure for a disease that anyone can get, that is another "equalizer", when you can immunize yourself and your offspring to it? You may say all such things will always be made available to everybody, but how would you know now? What of the current behaviour of the powerful gives you reason to consider that likely? When it comes to biodiversity and the possibility of extinction, not many HN comments mention the people with the biggest footprints, but a lot mention "overpopulation". So how would that mesh with making the unwashed masses more resilient and healthy? Wouldn't it make more sense to go the opposite way? You see, "perhaps" isn't good enough with something like this. At these speeds, "eventually" steering means crashing into a wall.

</comment></comment></comment></comment><comment><USER20> Let's put aside 2018 for a moment and imagine society in 2100.

Gene editing and human cloning will happen: only a matter of time. What we can't accept today, someone else will accept tomorrow.

Now, add automation (remember, this is 2100), climate change and resource depletion into the mix and well, I'll let you draw your own conclusions.

<comment><USER21> Im not sure what your point is. There are numerous possible paths to go here with the tech listed.

<comment><USER20> The point is that past a certain point, things will get wild.

</comment></comment></comment><comment><USER22> If IQ varies inversely with overall mutational load, intelligence-enhancing edits to the genome exist on the same continuum as fixing things like Tay- Sachs and Huntington's disease. Therefore, yes, they may well be inevitable.

Similarly, life extension treatments may double as the cheapest way to prevent chronic health problems such as cancer and heart disease.

</comment><comment><USER23> When rich Asian parents realize that they can make their children light skinned it will really take off.

Skin whitening is big business in Asia.

</comment><comment><USER24> Of course it will. Soon as one of their children is saved from dying, opponents will quickly shut their mouths about it.

<comment><USER25> How about when their children can be saved, but they can't afford to do so?

<comment><USER26> This applies to the development of many medicines today.

</comment></comment></comment><comment><USER27> I genuinely doubt that any amount of hand wringing or letter writing will slow the pace of this research. It's too enticing. The potential benefits are so overwhelming. I'm not even convinced outlawing it will stop its march. If I were a billionaire I would happily fund research in whatever country allowed it. We're looking at a development that could be equal or greater than the invention of the vaccine, and it's not worth taking it slowly

</comment><comment><USER28> Just like the fabricated Bloomberg stories about Super Micro before it.</comment>


Tips for Recording Engaging Screencasts - <AUTHOR> http://www.sitepoint.com/blogs/2010/02/04/tips-for-recording-screencasts

<comment><USER2> Good tips. Here are a few further comments.

> 1\. Start with an Outline

It's not a bad idea to have a rough draft of your script ready that outlines what you're going to say for each slide or during the coding sessions.

> 2\. Focus on the Audience's Needs

Be as practical as possible. Theory may be necessary of course, but a screencast is an excellent medium to SHOW rather than simply tell someone how to do things. That's the whole point behind screencasts.

> 3\. Get a Good Mic

The cheapest microphone that could possibly get the job done is the Logitech Desktop USB Microphone (under $30). If your budget permits it, the next step up would be the Samson C01U with a stand, shockmount and pop filter. We've found it delivers the best bang for your buck.

> 4\. Lock Out the Noise Makers

You'll hate ambulances, trust me. Two quick tips regarding that: 1) Pick the quietest room in the house; 2) If you hear a temporary sound, keep recording while repeating what was interrupted by the loud sound. Cutting the undesired part of the audio/video is far easier than stopping and restarting the whole recording session.

> 5\. Consider Separating Audio and Video

Doing both simultaneously saves time, but it's really hard and the best results are usually obtained when audio and video are not recorded together. In my experience, most authors have found that recording the two things separately takes longer, but it's far easier. In the beginning, you can expect an hour of work for every one minute of production quality screencast. With experience and a well tested workflow, this number can be drastically improved upon.

> 6\. Clean Up Your Desktop

Use a white background or a solid color, and be consistent about it. Some programs, like ScreenFlow for Mac, have a "hide desktop" option that automatically hides all the icons on your desktop.

> 8\. Plan a Dress Rehearsal

If you record fragments of video without too much care for the audio the first time around, you'll get the timing right and it will act as a rehearsal. Once this is done, you can discard the audio track, and go for the polished recording of the audio as the video rolls.

<shameless-plug>My startup, <http://ThinkCode.TV> is doing pretty well in the Italian market, and we plan to go live with an English catalog by the end of March. If you are interested in recording engaging screencasts about programming, feel free to drop me a line at email@example.com.</shameless- plug>

</comment><comment><USER3> Good tips indeed. I do lots of screencasts to give my clients documentation on how to use the sites I build them. I've learned a few things:

As the tips say, audio is really important, and setting the levels correctly is also important. You want the loudest you're going to be to not quite top out the level meter. In OS X, the system prefs show you the levels, as do most sceencasting apps. Even with levels set properly, I usually run my audio through Levelator, <http://www.conversationsnetwork.org/levelator>, which does a really good job of automatically adjusting levels and smoothing out clips and chirps.

If you're on OSX, using Universal Access and making the mouse cursor larger is a great and easy way to call out where you are on screen. I tried working with OmniDazzle to get mouse halos and such, but it's just not worth it.

I'm usually pretty lazy and don't want to go into after effects or a bigger program to edit my videos afterwards if I need to show text, so I usually just prepare a text edit window or two ahead of time with any text I'll need. Drag them on screen, talk about whatever, and edit out the second it took you to drag it on later on.

Editing, I usually just use Quicktime Pro. My stuff doesn't need to be overly polished, so this works great.

</comment><comment><USER4> Anyone got tips for eliminating the lip-smacking noise that sometimes shows up on recordings of speech?

<comment><USER5> What you're asking about is a pop filter. They're used in music recording to reduce a singer's mouth sounds (or plosives). It's basically a nylon screen placed between the singer or speaker and the microphone. You've probably seen these music videos before.

</comment></comment><comment><USER6> What software do people actually use to capture the screencast? Is there anything good for linux?

<comment><USER2> On Mac OS X, one of the easiest programs to record screencasts and to do some editing, is ScreenFlow. On Windows, Camtasia Studio is definitely the best option, granted it's fairly expensive. On Linux, recordMyDesktop is one of the nicest programs, and of course it's open source and free of charge.

<comment><USER7> There's also the free CamStudio for Windows. The UI is clunky, but it works pretty well.</comment></comment></comment>


Amazon sells copy-paste texts from the internet as "Books" - <AUTHOR> https://www.amazon.com.au/s?i=stripbooks&rh=p_27%3AZheng+Cirino&ref=dp_byline_sr_book_1 <comment><USER2> "Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online."

It appears they are being clear about what they are doing.

<comment><AUTHOR> Still a very weird practice, there are hundreds of books sold by this single publisher.</comment></comment>


40 Years of Suffix Trees - <AUTHOR> http://cacm.acm.org/magazines/2016/4/200160-40-years-of-suffix-trees/fulltext <comment><USER2> Fully understanding and finally correctly implementing Ukkonen's algorithm [0] is one of those things that put a big smile on your face.

[0] [https://en.wikipedia.org/wiki/Ukkonen%27s_algorithm](https://en.wikipedia.org/wiki/Ukkonen%27s_algorithm)

</comment><comment><USER3> Wow that's some tiny grey text on white. The non-mobile link works better for me: [http://cacm.acm.org/magazines/2016/4/200160-40-years-of- suff...](http://cacm.acm.org/magazines/2016/4/200160-40-years-of-suffix- trees/fulltext)

<comment><USER4> A little better [http://cacm.acm.org/magazines/2016/4/200160-40-years-of- suff...](http://cacm.acm.org/magazines/2016/4/200160-40-years-of-suffix- trees/pdf)

</comment></comment><comment><USER5> One great book on suffix trees and sting algorithms in general is _Jewels of Stringology_: [http://www.amazon.com/Jewels-Stringology-Maxime- Crochemore/d...](http://www.amazon.com/Jewels-Stringology-Maxime- Crochemore/dp/9810247826/)

</comment><comment><USER6> You can use "Reader" view for websites like this. I don't know who gets off on designs like this.

</comment><comment><USER7> I thought it was an April Fools joke, based on the layout.

</comment><comment><USER8> The non-mobile version is a lot easier to read. [http://cacm.acm.org/magazines/2016/4/200160-40-years-of- suff...](http://cacm.acm.org/magazines/2016/4/200160-40-years-of-suffix- trees/fulltext)

Edit: Ah the link has been replaced.

</comment><comment><USER9> Spent all of 5 seconds trying to read that page of tiny grey text on a white background and gave up as it appeared corrupted.

</comment><comment><USER10> Excellent article.</comment>


Ask HN: What can I do with 2 spare iPhone 3GS  - <AUTHOR>

We got two iPhone 3GS' in Aug 2009. Both phones work fine just that they are slow. I would like to get new phones but hate the fact that I have to throw these away. What have other people done ? <comment><USER2> I would build something with them if you can. Use the display or connect the iphone via usb after "jailbreaking" it. I'm sure the wonderful people here can offer a multitude of suggestions.

</comment><comment><USER3> Call ATT and unlock them, then sell them or give them away to charity. I think there is some place where you can donate your smart phones for the soldiers overseas.

<comment><AUTHOR> Really !! AT&T will do that for free without giving me trouble ? If so that would be fantastic.

<comment><USER3> Yes, if you are out of contract fit those phones.</comment></comment></comment>


How two men survived a prison where 12,000 were killed - <AUTHOR> http://www.bbc.com/news/magazine-33096971 <comment><USER2> Without the help from China at that time, no way Polpot could get that far. After Vietnamese troops helped capture Phnom Penh (and gave back to Kampuchean United Front), China decided to invaded the Vietnam-China border in order to "punish" Vietnam. Yet so far, only Cambodia publicly supports China in their claim of almost the whole East Sea. Disclaimer: I am Vietnamese!

<comment><USER3> This post is somewhat misleading. China invaded Vietnam (1979) AFTER Vietnam invaded Cambodia (1978). The genocide was pretty much done by that point. Polpot was on friendly term with North Vietnam during the Vietnam war, so it is unfair to blame China for the raise of polpot on China and make Vietnam the good guy in the whole mass.

</comment></comment><comment><USER4> > An estimated 90% of artists, intellectuals and teachers were killed

This is having the longest-lasting reverberation through the country - Pol Pot all but eliminated the local human capital.

50% of Cambodians are under 22 years old. There aren't enough teachers for this population boom. Kids go to school part-time in shifts - half in the morning, half in the afternoon. There are no jobs waiting for them after their schooling is completed. They have a wave of people getting older who they can't educate and can't employ.

</comment><comment><USER5> I visited Tuol Sleng in 2007. It was very disquieting to walk past row after row and room after room filled with boards holding thousands upon thousands of pictures, and realize that every single one of those people was murdered right there, in that building.

</comment><comment><USER6> it is interesting that when such things happen, the society at the time thinks it is ok, while later it comes to understanding that it was evil. Which begs the question - which things happening today will be considered evil tomorrow, and we or our descendants will be appalled at our implicit or explicit approval of those things today.

<comment><USER7> My guesses in the US: the war on drugs. The incarceration rate. Discriminatory profiling by authority figures (by race, class, etc). Lack of universal health care. Lobbying/the ruling that corporations have the same rights as people.

<comment><USER8> The treatment of illegal immigrants/refugees by EU, AU, USA etc.

Ignoring genocide and slavery.

<comment><USER9> Or any private property at all. I mean why does someone have the right to say I can or can't go somewhere.

<comment><USER10> Because on the whole we (culture/country/city) all agree that it's more important to keep strangers and unwanted people/property out of our private areas (and back it up with the righteous use of the state's monopoly on violence) than it is to give everyone free reign. It's a matter of sovereignty and community and fear really. It would be great if everyone could be trusted to have good intentions, but we've had to learn the hard way that that strategy doesn't pan out when you have hundreds of millions of people all crammed together.

<comment><USER11> In my home country, which isn't cram packed with hundreds of millions people though, everyone has the right to go/travel/camp anywhere on private property as long as that area is designated as wilderness (meaning pretty much anywhere that isn't a developed or agriculture area). - [https://en.wikipedia.org/wiki/Freedom_to_roam](https://en.wikipedia.org/wiki/Freedom_to_roam)

<comment><USER10> While that sounds lovely, it will never fly in a Protestant flavored bureaucracy, sadly... Too much need for an expectation of control and submission. Too much uncomfortable feelings around uncertainty and leisure.</comment></comment></comment></comment></comment></comment></comment>