Ask HN: What happens to blockchain transactions in case of network partition? - <AUTHOR> I am keen on knowing the answer to this intriguing question.The closest thing i came across is this. https://bitcoin.stackexchange.com/questions/12207/countrywide-internet-isolation-inevitable-fork.<p>https://bitcoin.stackexchange.com/questions/12207/countrywide-internet-isolation-inevitable-fork <comment><USER2> Some suggested reading on the subject.

I wrote a paper "Eclipse Attacks on Bitcoin's Peer-to-Peer Network" [0] about maliciously partitioning the Bitcoin network. Much of the paper focuses on how to partition the network, but Section 1.1 Implications of eclipse attacks should give a good sense for how Bitcoin's security properties depend on the network not being partitioned.

"Hijacking Bitcoin: Routing Attacks on Cryptocurrencies" [1] also discusses network partitions and Bitcoin. As with Eclipse Attacks it focuses on both the how and the effects.

Interestingly blockchains built on Algorand [2] would not fork under a network partition they would just cease to create new blocks until the network is whole again.

[0]: "Eclipse Attacks on Bitcoin's Peer-to-Peer Network" [https://www.usenix.org/node/190891](https://www.usenix.org/node/190891)

[1]: "Hijacking Bitcoin: Routing Attacks on Cryptocurrencies" [https://arxiv.org/abs/1605.07524](https://arxiv.org/abs/1605.07524)

[2]: "Algorand: Scaling Byzantine Agreements for Cryptocurrencies" [https://people.csail.mit.edu/nickolai/papers/gilad- algorand-...](https://people.csail.mit.edu/nickolai/papers/gilad-algorand- eprint.pdf)

<comment><USER3> Is an eclipse attack really realistic?

The issue is that bitcoin isn't really a 100% peer to peer network.

There are nodes that exist, such as the big mining nodes, that I can be pretty darn sure are honest nodes.

And the big miners all know each other on a first name basis. So it is not like you are going to be able to split them off of the network from each other.

<comment><USER2> The question we wanted to answer with the paper how much security against Eclipse attacks does the P2P network provide and how could it provide more security?

>There are nodes that exist, such as the big mining nodes, that I can be pretty darn sure are honest nodes.

Ghash.io the largest Bitcoin mining pool at the time performed mining attacks to steal money from Satoshi dice and at one point had more than 50% of the mining power. I would not trust a node just because a big miner is running it.

>And the big miners all know each other on a first name basis. So it is not like you are going to be able to split them off of the network from each other.

If all the big miners use a special network for block propagation, and they do, that network may go down or be compromised by malicious parties. The P2P network provides back up in the event that this takes place. Miners might be on a first name basis with each other but they are also competitors with each other. Bitcoin should not require that the Miners trust each other.

Many Bitcoin users are not Miners and so they would still be vulnerable to Eclipse attacks.

</comment></comment></comment><comment><USER4> In a network partition of any kind (either due to a physical network partition, or a "virtual" partition caused by incompatible client software), the entire network gets duplicated.

Someone who had 27 bitcoins before the split gets 27 of _each type_ of coin after the split.

Every transaction will be incorporated into one or both of the copies. Some transactions will depend on other transactions, and therefore as time passes, even a small difference in the sets of transactions applied to each copy will snowball into the majority of transactions ending up in only one tree.

There is a vulnerability in the bitcoin design here: Transactions from one partition can be replayed on the other tree at any time, now or the future. If someone sends you coins that only exist on one partition, but they later receive coins to the same address on the other partition, you can steal them by replaying the transaction.

<comment><USER5> The design of bitcoin is that this is resolved by one network's coins quickly becoming worthless. The only chain that matters is the one that most people believe is the right chain. The right chain is the one with the most committed blocks on it.

In the event of a partition, the partition with the most miners will almost certainly have the longest chain of committed blocks and be considered the right one.

*Note: I'm a hobbyist, not an expert on this. Please correct me if I'm wrong!

<comment><USER6> This is a common rebuttal but it seems to only make sense in a human timescale with assumptions of a lack of partitioning.

The miners are very fast, but have the same network as the rest of us for the most part. Disrupting that network renders the current system quite vulnerable to partitioning and if you can carefully partition the miners such that they're arguing among themselves, bitcoin effectively grinds to a halt and requires human intervention and negotiation to fix.

This is a statement not intended to be damning criticism btw. The proper failure mode for a distributed ledger IS to fail as a quorum takes place. Ultimately, bitcoin exists so long as it is more profitable for it to exist than for it to be destroyed. This is the case for most distributed systems.

</comment></comment></comment><comment><USER7> TLDR: The blockchain has the tools to resolve this situation but it would be a huge mess.

Longer:

The answers there are mostly right. If left to it's own devices, the fork will be resolved when the country gains access to the network again.

The way it would typically be resolved is that the chain that has done the most work (in a Proof of Work coin) will "win"... in practice this means the one with the longest chain and most transactions.

When this happens, the transactions in the blocks that roll back are likely to be added back to the mempool (in memory list of unconfirmed transactions) in which case they will probably still be added to a block. So for most legitimate transactions they might not notice.

However, there is a problem here. Adding hundreds of thousands of transactions to the mempool on many coins will cause huge problems.

Another problem is if the same output is spent on both forks. Called a double spend. In coins... each transaction has one of more inputs and one or more outputs. Outputs can then be used as inputs to other transactions. Each output can only be used as an input once.

If that happens, the transaction that was on the fork that lost will itself be lost since the network will reject it for trying to spend an already spent output.

Furthermore, if anyone travels from that country and connects to a network outside of it. They will eventually roll back and join the fork on that side of the partition as that partition will inevitable eventually have more "work done" than the one in the partition they left.

Now, if the country never gains internet access again. You effectively have two different coins. But you risk chaos as described above. One possible solution in that scenario is to "hard fork" and have everyone on one side of teh partition install a new blockchain client. Then it's official, they are two separate coins.

<comment><AUTHOR> Will the miners in both partitions able to mine bitcoins parallely? In that case the average number of blocks mined would take a hit?

<comment><USER7> While technically any transaction made on one partition can be mined into a block in the other partition assuming that the outputs of the previous transaction (inputs to the new transaction) are available in both, in practice it is more likely that transactions from one partition will only end up in that partition and both forks will be very different in terms of which blocks they have.

Also, as another reply said, you'd have to have minors connected to both partitions.

That is why the fork with the most work wins. Not the fork with the longest chain. Otherwise you could just intentionally partition your machine. Mine a bunch of blocks offline (because difficulty will adjust down as block solve time increases) and then reconnect.

</comment></comment></comment><comment><USER8> As a practical matter, every Bitcoin-accepting business with a competent ops team will stop accepting transactions until Bitcoin's central authorities declare All Clear.

(This is phrased in a fashion which Bitcoiners will not appreciate but it is not incorrect. For precedent, see the hardfork around the 0.8 release.)

</comment><comment><USER3> There are some weird assumptions in your question.

Assumption 1: a government is able to shut down its entire internet, and block off all electronic communications.

This assumption is fine. There are multiple historical examples of governments of doing this.

When a government does this though, there is no network split. A network split is when you have 2 networks that are cut off from one another. The government "shutting off the internet" does not create 2 networks. it make the population of the country have zero access to ANY network. Which means no split.

Which leads us to:

Assumption 2: A government is able to cut off access to the OUTSIDE internet, while also maintaining an INTERNAL network that can talk to each other, but not talk to the outside world.

This is basically impossible. There are no examples of governments being able to do this in any significant capacity.

Sure, there is some attempted internet censorship in countries like China, but the great firewall is extremely leaky. And even if it were 99% effective, 99% effective isn't good enough.

In order to partition the bitcoin network, you do not need to make it impossible for 99% of the population to get access to the outside world. You need to stop 100%, with no margin for error. This is because as soon as a SINGLE node is able to get access to the outside world, it can rebroadcast the information to all internal nodes.

</comment><comment><USER9> Something I think is very cool about bitcoin is that fact that you can compare it directly to physical currency in a way that makes it easy to understand at a high level.

The block chain is essentially the same as a physical ledger that everyone (collectively) uses to confirm and record _all_ transactions.

If everyone suddenly split (partitioned) in to 2 separate groups with 2 separate ledgers each 'everyone' (now that there are 2) would continue to use the ledger of their group.

I'm not sure if bitcoin makes any arrangements for 'merging' ledgers. My understanding is that among divergent chains the longest chain always 'wins' and any others are considered fraudulent.

So, once the two partitions are re-combined, when individuals reach out to 'everyone' and say "give me the latest version of the ledger" they would find the 2 competing ledgers and should choose to trust the one that is longer.

</comment><comment><USER10> Clickable link: [https://bitcoin.stackexchange.com/questions/12207/countrywid...](https://bitcoin.stackexchange.com/questions/12207/countrywide- internet-isolation-inevitable-fork)

<comment><USER11> The accepted answer from a Bitcoin researcher sums up the merge problem pretty well; "As for the merge, this is still being discussed and we do not have a good contingency plan."

Okay.

<comment><USER12> Why would there be any need for a contingency plan?

Bitcoin needs an internet connection to work properly. If you don't have a functional internet connection then you don't get functional Bitcoin either, sucks to be you.

<comment><USER11> >> Why would there be any need for a contingency plan?

That question is probably best put the person that wrote the statement and mentioned that it was under discussion: Christian Decker. He is a published block chain researcher and may have a good answer for you.

[https://arxiv.org/abs/1412.7935](https://arxiv.org/abs/1412.7935) [http://www.tik.ee.ethz.ch/file/49318d3f56c1d525aabf7fda78b23...](http://www.tik.ee.ethz.ch/file/49318d3f56c1d525aabf7fda78b23fc0/P2P2013_041.pdf) [http://www.tik.ee.ethz.ch/file/7e4a7f3f2991784786037285f4876...](http://www.tik.ee.ethz.ch/file/7e4a7f3f2991784786037285f4876f5c/esorics2014_submission_48.pdf) [http://www.tik.ee.ethz.ch/file/848064fa2e80f88a57aef43d7d595...](http://www.tik.ee.ethz.ch/file/848064fa2e80f88a57aef43d7d5956c6/P2P2013_093.pdf)</comment></comment></comment></comment>


ZPOCK.COM – The latest news aggregator to hit the market - <AUTHOR> http://zpock.com <comment><USER2> Actually would use this one because of its simplicity, but the fact that it looks like a mobile site even on desktop is the deal breaker.</comment>


Captive Web Portal for ESP8266 with MicroPython - <AUTHOR> https://able.bio/anson-vandoren/captive-web-portal-for-esp8266-with-micropython-part-1--66ikh60 <comment><USER2> Link to the original article (and the remaining posts in the series) here:

[https://ansonvandoren.com/posts/esp8266-captive-web- portal-p...](https://ansonvandoren.com/posts/esp8266-captive-web-portal- part-1/)</comment>


Mobile App to listen to emails - <AUTHOR>

Hello,
I am thinking on working on some personal project to build a mobile app to listen to your emails. Not sure if there are similar app available in the market. I know one of them is swipeapp which is no longer available. And another one is Text'n'drive but haven't tried either.
I just want to make sure that nothing similar already available before proceeding. <comment><AUTHOR> Hello, is anyone aware of such app?</comment>


Canada makes money out of plastic - <AUTHOR> http://latimesblogs.latimes.com/technology/2011/11/canadas-new-plastic-100-bill-is-all-tricked-out.html

<comment><USER2> This is Australian technology that has been around since the early 90's. I guess the patents are expired now.</comment>


Boomers got houses and good jobs. Doomers get AGI - <AUTHOR> https://stevehazel.github.io/AGI-Kernel/boomers-got-good-jobs-doomers-get-agi.html <comment><USER2> "Doomers, in case you're wondering, are Millenials and younger folks who haven't yet found their place. [...] a Doomer might bring up to explain their negative worldview, like climate change, politics, or wealth inequality, the source of their angst is that they lack a sense of belonging in modern society."

This seems a little cynical. The Author can't think of _any_ other reason to hold concern on those topics?

<comment><USER3> It's not that there aren't other reasons. It's that they use those reasons as justifications for their unhappiness. A "Doomer" would be just as miserable if climate change were solved tomorrow.

<comment><USER4> I'm not a millennial but I'm depressed about politics, global warming not mattering to people who will die soon (ie lots of boomers and greatest generation). I've got a great job, I'm a fortunate, overpaid programmer like so many others. And I can only see the slow decline of the world.

I don't want go to back to some mythically awesome time that wasn't really so great. The 50s or 60s (well before I was an adult) - remember endemic racism (far far worse than today), murders of people advocating for civil rights. I want to go forward, building on what we have. I'd like to get to the point that if you have a car accident and can't work your life is not ruined, or you get sick and can't work for a year the same happens. Somehow other western countries are able to pull this off.

</comment></comment></comment><comment><USER5> How does society and its systems serve its constituents? This is the core of politics, and plenty of brainpower is already devoted to it. Assuming AGI surpasses human intelligence, I'm still not sure how it helps with politics. The problem generally isn't with cognitive bandwidth, it's more about underlying assumptions and principles that differ. In order to come up with better solutions, better "understanding" (modeling?) of those cultural values is required. It's all well and good to say we should allocate one unit of AGI to each individual in some sort of democratic distribution, but how does the individual encode their values in the AGI? Through a series of Socratic dialogues? What happens when the AGIs point out the inherent contradictions of human nature? How will the human masters deal with the cognitive dissonance raised by super-smart machines? Will we trust them? Should we?

</comment><comment><USER6> This is machine-generated, right?

<comment><USER7> It's certainly not very easy to read. And a real person probably would realize most readers would think Adjusted Gross Income in a title mentioning houses and jobs.

</comment></comment><comment><USER8> Doomer seems like an ill-suited term for younger generations. As a Gen X who doesn't like things to fit into neat little stereotypes, I find that younger generations are incredibly optimistic and creative in how they view and change the world around them. Much of it has to do with technologies and tools, but there's a creativity there that seemed less common beforehand. Just my two cents.

</comment><comment><USER9> Does this guy know anything useful about AGI that I don't (all I know is that we're super fucking far away)? All of these articles seem to be him tossing around ideas that feel good to his mind, and no substance.

</comment><comment><USER10> Gen X are original doomers in spirit. FTW was the motto, and still is for some. Agreed, pension funds are ruining everything. And we do need our own AGI. Certainly not theirs. Where do we start is the question.

</comment><comment><USER11> I came hoping that this was about people who play Doom.

<comment><USER12> Sigh. I was hoping it was a re-spin of the Doom process manager. :'{

</comment></comment><comment><USER13> "If you ask a Boomer, life is pretty good now..." You don't get much more delusional than that. Seems divisive and bigoted.

<comment><USER12> Atomize people until they don't belong to any group except to be judged and then fight over scraps in the dung heap. Overall, the greatest enemies of the average person and the planet tend to be just a few thousand of very, very rich people and the million/s who enable them. Old or young, middle-class/poor or homeless, black/white or purple; the people must bring their power together because they don't have enough on their own. It's the only way anything can change. And borrowing ideas from JFK: misery, poverty, corruption and injustice are like pressure in a boiler, that if the safety valve of reforms are blocked, it will find a way to explode violently.

</comment></comment><comment><USER14> I shy away from generational griping, because I think a lot of it is misleading. People tend to use statistics that suit them.

Eg. a lot more people are staying in school for a lot longer. There are a lot more 25-year-old grad students now as a portion of the population of 25-year- olds, than in 1960. They use individual salaries instead of household because of the growth in dual-incomes, etc.

None of those statistics are incorrect per se, but one can strategically choose the stats that are in their favour.

A lot of the difference can simply be chalked up to the generation that preceded the boomers being relatively poor in comparison to their kids.

<comment><USER12> In general:

Bitching is tantamount to passively asking others to solve problems for you, and antithetical to _" Be the change you seek."_ This could be extended to _" Find and try solutions before whining about problems."_

Maybe the intent of their blog was to be a personal outlet of frustration, rather than anything constructive? It's hard to say.

More specifically: looking for a particular looking group to blame that has little influence over root cause(s) sounds a lot like scapegoating IMHO. Some trends in life have no specific person or group to blame or shame, while others do to an extent. If younger people these days are looking for specific causes to grotesque inequality, it's not old grannies who are on fixed-income Social Security (pensions), but it sure could be the lack of billionaires sharing their excessive exploitation of automation, deregulation, rollback of worker pay, decrease in jobs and increased worker productivity. People get upset when they can't start families, and blaming them that it's somehow their innate failing when there aren't enough jobs or houses to go around when there are a few people sitting on several trillion USD doesn't square that circle.

PS: I have $10k in student loan debt, have an UC CS/Eng degree that I can't use, bankruptcy, live in a vehicle, and can't hold a job because I must be worse than the Jump to Conclusions Mat-guy: I can't seem to get along with people, and it never(hasn't yet) worked out in a work situation.</comment></comment>


Behind the Lion Air Crash, a Trail of Decisions Kept Pilots in the Dark - <AUTHOR> https://www.nytimes.com/2019/02/03/world/asia/lion-air-plane-crash-pilots.html <comment><USER2> Based only on what I read in this article, I can kind of see Boeing's point? From what I understand, the procedure/checklist for an uncommanded nose down didn't change from the old to the new version, even with the addition of MCAS. So from the Pilot's perspective, there is nothing that they should do differently in the new vs. the older 737s when this happens-- follow the checklist, which will (eventually) cause you to flip the Stabilizer Trim Cutout Switches, and that will fix the problem.

So the interface didn't change, and the procedure's the same. Should Boeing and airlines update training every time they change something "under the hood", even when the procedure for pilots is the same? How about when they make software updates to already-flying models?

<comment><USER3> One interface change was the effect of 'pulling hard back on the stick' in case of runaway stabilizers. That worked with the old system, but not with MCAS.

This seems to be exactly the interface change that lead to the crash.

<comment><USER4> To use a car analogy ...

You can always override cruise control by stomping hard on the brake (like to avoid an imminent crash). That's how it's always worked and you've gotten used to this, and done it on occasion when warranted.

Now imagine that the next generation of adaptive cruise-control/"auto- pilot"/whatever comes out, and stomping on the brakes no longer does anything. You have to first disable the cruise control by pressing a button on the steering wheel, and only then will inputs to the brake pedal do anything.

And then you don't tell drivers about this change.

You can totally see how, right in the lead-up to a fatal accident, a driver is going to be focused solely on stomping on that brake pedal in increasing panic, wondering right up to the moment of death why that's not doing anything. They won't consider the cruise control off button because it's not their most immediate need (braking is), and they've never needed to use it before.

<comment><USER5> I do not think this is a good analogy.

Firstly, there is no single equivalent to "slamming on the brakes" for uncommanded nose-down. This could be caused by a variety of faults, and pilots are trained to respond in a fashion that will be effective for even those in which the first thing to try doesn't work. There is a standard procedure in place to use in this type of situation - arguing that the pilots should only be expected to do one thing with increasing desperation is essentially arguing that they will not be able to respond to a whole host of emergencies causing uncommanded nose-down.

Second,

> Information from the flight data recorder shows that the plane's nose was > pitched down more than two dozen times during the brief flight, resisting > efforts by the pilots to keep it flying level ... _The standard checklist > for dealing with that sort of emergency on the previous version of the 737 > focuses on flipping the stabilizer trim cutout switches and using the manual > wheels to adjust the stabilizers._ [emph mine]

your argument essentially hinges on the assumption that pulling hard back on the stick is a sufficient solution for all the problems that may happen with a plane with the exception of a fault with MCAS (the new system). I don't think that is accurate. Even prior to the the 737 max! It sounds there were a lot of things that would require further action that pulling back on the stick.

<comment><USER6> >Firstly, there is no single equivalent to "slamming on the brakes" for uncommanded nose-down.

Actually in the "old" version, there is.

From TFA:

Older 737s had another way of addressing certain problems with the stabilizers: Pulling back on the yoke, or control column, one of which sits immediately in front of both the captain and the first officer, would cut off electronic control of the stabilizers, allowing the pilots to control them manually.

Which makes the car analogy apt.

<comment><USER7> Drivers aren't trained to follow checklists and usually don't have dozens of seconds to respond to mechanical emergencies. Cars also don't fall out of the sky if they break down. It's not a great metaphor.

<comment><USER5> > have dozens of seconds to respond

12 minutes, in this case.

<comment><USER7> Yeah, I figured it's usually many minutes but didn't want to underplay the stress and difficulty of following a checklist in an extreme emergency. In contrast, car major mechanical failures generally resolve themselves extremely quickly.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> > In designing the 737 Max, Boeing decided to feed M.C.A.S. with data from > only one of the two angle of attack sensors at a time, depending on which of > two, redundant flight control computers — one on the captain's side, one on > the first officer's side — happened to be active on that flight.

The one thing that seriously surprised me was that an automated system that is able to point the airplane towards the ground is intentionally fed by a single, non-redundant sensor.

Everything else I've read about various safety systems that limit or override the pilot has explanations about how redundant sensors are used. And how the system does switch itself off in case the sensors don't give consistent results.

<comment><USER3> There is one more technical surprise in this article for me. Pulling hard back on the control collumn would override the stabilizer runaway in old versions, but not MCAS. That is a major interface difference between the old and new planes.

It sounds like the old flight manual stated one of two possible methods for dealing with runaway stabilizers. Because the second method (hard back on the control) wasn't in the manual, changes to that way weren't taken into account. Hence a non backwards compatible change slipped through.

<comment><USER9> From the Semver perspective, change to an undocumented (and therefore not public) feature is not a major change. The point is that their safety documentation doesn't change from one system to the next.

Anyone who was "doing it by the book" was not pulling up on the stick.

Now, maybe Boeing was suggesting via side channels that there were alternate ways to solve certain problems and those side channels should qualify as public documentation... but it may have been intuition earned through experience overriding standard procedure.

<comment><USER10> That ignores the fact that people will rely on undocumented behavior anyway, and a responsible developer should keep that in mind.

With a normal software library, you might make the decision to cause breakage anyway, even if it inconveniences users of your library. Or you might not, because you believe the inconvenience will be too great, and instead just document the behavior and make it a part of the API.

With an airliner control system, you need to be a bit more careful, since a pilot depending on undocumented behavior may do so in a way that could cost lives if that behavior is changed. Is the pilot _correct_ to depend on that behavior? No. But that's irrelevant when lives are at stake.

</comment></comment></comment></comment><comment><USER11> Here's a video from a few years ago of two student pilots handling a trim runaway in a 737 simulator.

[https://www.youtube.com/watch?v=3pPRuFHR1co&t=154](https://www.youtube.com/watch?v=3pPRuFHR1co&t=154)

You'll notice that it's a loud, physical event, with a very simple solution.

This happened over twenty times in the accident flight, and the pilots never disabled the problematic automatic stabilizer system.

<comment><USER12> This is a great video showing the UI - it makes what is going on much clearer!

</comment></comment><comment><USER13> Makes one wonder if the FAA is too close to Boeing. Not only did they green light this but they also put considerable pressure on EASA to do the same. The FAA's first priority should be safety, not Boeing's bottom line or their ability to more quickly deploy an aircraft update.

Pilots are pretty unhappy about this M.C.A.S. situation. They're literally expected to fly an aircraft, and not even being told how that aircraft functions. And while the checklist may eventually take care of this, that isn't a substitute for a professional pilot in the cockpit. Just the lack of training/simulated failures for this new system is highly irregular, pilots are used to and expect such training while transitioning to a new major aircraft version.

The biggest drivers here seem to be cost and Boeing's competitiveness, not safety. I think it might be time for the EASA to trust the FAA a little less, at least until they get their house back in order.

<comment><USER14> The revolving door between FAA and cushy positions at Boeing is not a secret. The shortcuts Boeing has been making with the blessing ( or willful omission of the FAA ) have been discussed but with many interests in the middle, like strong competition from Airbus, geopolitics, internal politics, States outbidding each other to create more jobs, national ego, and straight up greed.

"Word on the street", is that Boeing has lost most their safety reputation and most people just do their job and try to not get burned when the planes start to crash. I want to believe most are just blowing of steam, but I don't know..

<comment><USER15> The 737 models of two generations ago ( 300 / 400 / 500 ) had several fatal accidents in the 1990s due to runaway rudders. That dented Boeing's reputation with users but not with the FAA.

</comment></comment></comment><comment><USER11> There's something called the "Swiss Cheese Theory" of accidents. ([https://en.wikipedia.org/wiki/Swiss_cheese_model](https://en.wikipedia.org/wiki/Swiss_cheese_model))

In a mostly-robust system, different layers catch and defend against the errors of other layers in the system. For a major accident to occur, holes in multiple layers have to line up that day.

In this case we have four holes that lined up that day - a plane model with a possible rare software bug, an aircraft with a faulty sensor feeding bad information to the computers, an airline company with internal culture that continues to fly a specific aircraft that keeps trying to point at the ground, sometimes without even making an attempt at fixing the problem, and finally, on this fatal day, a crew that did not follow the proper procedures even after twenty-three nose down incidents during the flight.

Even without the MACS system present, the last two holes seem like they would bring down an airliner eventually, from one cause or another.

Pilots are rightfully mad about not being told about the MACS system. But it's just one of many systems on a 737 that can trim the stabilizer to point that it can't be flow. That's why the procedure for any stabilizer problem is to disable automatic control of the stabilizer. The training and checklists that the accident pilots had covered this, and previous pilots flying the accident aircraft did this and then had uneventful flights.

<comment><USER16> Still, to have a system on board that, with _one_ sensor malfunctioning, repeatedly trims you down (unless you switch the cutout switch or physically arrest the trim-wheel), is pretty tough.

By the way - in small airplanes, you can overcome trim with elevator pressure. That's not necessarily the case on a passenger jet; and not only because it's much bigger, but because the trim works differently [1]. I wonder whether that played a role. I must admit that before I read [1], I had assumed that bad trim is something I can overpower, when push comes to shove.

[1] [https://www.skybrary.aero/bookshelf/books/2627.pdf](https://www.skybrary.aero/bookshelf/books/2627.pdf)

<comment><USER11> Yeah, when the trim is a giant screw changing the angle of the whole stabilizer, rather than just a little tab, it's a whole different ballgame.

There are plenty of single components on an airliner whose failure can cause a stabilizer trim runaway. Different airliners handle it differently. On a 737 can you can cut out automatic control, and use wheels connected to the stabilizer jackscrew with metal cables. On other airliners, you can cut out automatic control, then switch second electric control system and use it manually. A 737 stabilizer runway isn't an instant thing, and is a loud event in the cockpit.

</comment></comment></comment><comment><USER17> Boeing should face some major fines for this, and additional regulation is going to be needed to make sure this doesn't happen in the future.

This all seems to come down to the fact they wanted to avoid having to retrain pilots ($$$), so these automation changes were kept in the dark.

The crew before them dealt with this same problem but they successfully cut out the trim system. They got lucky and they should have been more vocal in expressing the fault outside of just a post-flight note about it.

The fact that the 737 can auto-trim itself beyond manual elevator authority, due to a SINGLE faulty AOA sensor, is mind-boggling and scary.

<comment><USER18> From what I can tell, the previous crew did not get lucky, they just followed the checklist which would have solved the issue in this case.

Auto-trim beyond the elevator authority is not a problem as the pilots can take manual control of the trim by grabbing the trim wheel (its in a very obvious spot on the 737).

The actual fix is hard as adding another alarm can get tricky from a UX perspective during an emergency. Probably the only "fix" is to reinforce the value of following the checklist.

<comment><USER10> There already _is_ another alarm: an optional "angle-of-attack disagree" indicator that Lion Air was apparently too cheap to install.

Now, that wouldn't have _directly_ pointed to what was wrong, but it would have been pretty suggestive.

(I would suggest, though, that having an optional configuration that lacks robustness for a system that can automatically point the plane toward the ground... a really poor choice of options.)

</comment></comment></comment><comment><USER19> Actual example: Normal takeoff in instrument meteorological conditions (no external visual references, flight by reference exclusive to instruments). The attitude indicator shows proper climb attitude, vertical speed and altimeter show positive rate of climb, airspeed indicator shows speed increasing above target speed. Pilot response? Probably nose up and/or power reduction; OK they do both. Airspeed indication continues to increase. Pilot noses up and powers down. Airspeed increases. Pilot noses up aggressively. Stall. Crash.

What happened? The pitot tube and drain were clogged. Static port was clear. This turned the airspeed indicator into an altimeter - it was incapable of showing correct airspeed from the moment of blockage.

The cause of the crash is pilot error. The pilot is expected to recognize from other instruments that the airspeed indicator is unreliable, and this is part of training for instrument rating.

If the MCAS in the Lion Air crash made a similar mistake - using a single data point to determine a stall condition. That is an error. It's functionally "pilot error" to have no means of determining if the angle of attack sensor is wrong, and no mechanism for disregarding its data. Further, the corrective action it took, had the flight condition actually been true, sounds excessive. If a human pilot did the exact same thing MCAS did, I expect the human would be blamed - it would be pilot error to so aggressively nose down that you've exchanged a level flight high speed stall (a rare event indeed) for a high speed dive. That is not a competent recovery, in particular that there's apparently no recognition of the danger of high speed dives let alone recovery from them it's probably a really good idea if your stall recovery does not ensue in a dive!

</comment><comment><USER20> If it affects flight stability especially in an emergency, then pilots should be trained to understand what it affects. Period. Not doing so to save money or get more sales is beyond stupid. Watch Air Disasters to see what happens when highly trained pilots fail to do the right thing because they hadn't trained to deal with what went wrong because the problem was something different than what they knew. Flying is easy when things are working, pilot training is the difference between dealing with an emergency or being dead.

</comment><comment><USER21> From the article: _" In designing the 737 Max, Boeing decided to feed M.C.A.S. with data from only one of the two angle of attack sensors at a time, depending on which of two, redundant flight control computers — one on the captain's side, one on the first officer's side — happened to be active on that flight."_

They created a single point of failure that way. Why?

<comment><USER11> By having each redundant flight computer hooked to completely different sensors, in case of a bad sensor the crew can bypass not only the sensor, but also any computation done with that sensor.

It's not a single point of failure as we think if it - if it starts acting up, you can easily disable the automatic stabilizer system, per the procedures. 737 stabilizer runaways take several seconds to take effect, and are recoverable afterword. Later you can switch flight computers and then be using clean data, though you are supposed to leave the stabilizer system off for the remainder of the flight.

<comment><USER21> Using only one sensor at a time, there's no "sensors disagree" fault to tell the pilot there's a problem. Or to tell the flight control system it shouldn't be taking drastic action based on that sensor.

Airbus uses three angle of attack sensors and compares them. They've had at least one crash when two sensors failed in a consistent way.[1] The vulnerability of aircraft flight control systems to bad AOA data is well known.

[1] [https://news.aviation-safety.net/2010/09/17/report- blocked-a...](https://news.aviation-safety.net/2010/09/17/report-blocked-aoa- sensors-caused-loss-of-control-during-a320-check-flight/)

<comment><USER22> There wasn't a "sensors disagree" alert in the Lion Air plane because they didn't have installed the optional AOA Disagree indicator.

As comparison, Southwest had the indicator but has now also installed an enhanced AOA Disagree indicator as a result of the Lion incident

[https://theaircurrent.com/aviation-safety/southwest- airlines...](https://theaircurrent.com/aviation-safety/southwest-airlines-is- adding-new-angle-of-attack-indicators-to-its-737-max-fleet/)

<comment><USER21> That's not a feature which should be a extra cost option.

</comment></comment></comment></comment></comment><comment><USER23> Mentour Pilot did a youtube podcast about this air crash back in November. [https://youtu.be/zfQW0upkVus](https://youtu.be/zfQW0upkVus)

</comment><comment><USER24> When we first heard this crash was due to a change in computer-controlled stabilizer behaviour, my question was "why on earth did Boeing do this?". Perhaps I didn't read deep enough, but the summary explanation that it was to improve handling was a poor answer.

I guess what really bugged me about it is how un-Boeing-like this behaviour was; a computer overriding a pilot (even if there is a way for a pilot to override it in turn). It's fundamentally an Airbus-esque design.

As I read this article though, everything fell into place. As you read it you start to see, with utter clarity, exactly how this happened organizationally.

It's well known that Airbus uses software flight envelope protection to enable them to reduce the safety margin applied to the airframe, reducing weight. In other words, fuel efficiency is improved by making airframes less airworthy and compensating for it in software. I don't actually disagree with this as such; it's been demonstrated to be a sound approach, but historically Airbus's domain.

Essentially, it seems like what happened here is that Boeing finally felt the need to adopt similar techniques to compete with Airbus on fuel efficiency (though regarding engine size issues, not airframe safety margins, but still making a plane's airworthiness more caveated and fixing it in software). Essentially, we're witnessing the point at which Boeing feels its traditional user interface philosophy (do what the pilot says) is conflicting with market pressures.

If this were a new plane with a new type rating, this wouldn't be unreasonable. Trying to tack this on to an existing plane, and not only that, but doing everything in your power to minimise the amount of transition training, is OTOH extraordinarily egregious.

The problem with this change isn't so much that Boeing's reasoning for not telling pilots about it isn't logical. If anything, the problem is that their reasoning _is_ utterly logical: the checklist will solve the problem anyway, no matter the cause. You can see how this decision must have percolated through different teams at Boeing, through regulators, via this unimpeachable- seeming logic. The market pressures involved (fuel efficiency and retraining costs) would have made it particularly hard to contest. It's a completely logical line of reasoning... yet here we are with fatalities.

I'm very interested to note, though, this new revelation (to me at least) that the yoke behaviour re: extreme deflection mitigating stabilizer runaway was removed in the MAX. So what was Boeing's justification for _this_ change? Was it even mentioned? If not, what on earth were the regulator's justifications for allowing it to go unmentioned? I want to hear those justifications, since it seems impossible to justify. I was under the impression that compatibility of type ratings fundamentally revolved around an absence of differences in how two planes handle, and how they respond to the yoke.

I should add, the reliance on a single sensor is also remarkable; makes me wonder if this entire subsystem was really rushed and not given proper design review, which would make sense given the circumstances (panicking to get a product to market).</comment>


The Campaign to Get Every American Free Money, Every Year - <AUTHOR> http://motherboard.vice.com/read/the-campaign-to-give-every-american-free-money-091515 <comment><USER2> Strangely absent, how they would pay for all of this "free" money. Worthless article, really.

If you go to the site and look for how they plan to pay for all of this free money[0], some of the things they mention:

> "Some of the funds can also come from a carbon tax on oil, coal, and natural > gas"

> "increasing the money supply"

That sounds like a recipe for disaster. Make almost all goods and services and energy sources more expensive and then print money to give away. Win-win!

[http://www.basicincomeaction.org/about_basic_income](http://www.basicincomeaction.org/about_basic_income)</comment>


Thoughts on my new emoji app? - <AUTHOR>

Looking for advice on how to improve the new app I started working for. Its in the app store called Emu. <comment><USER2> This is brilliant, had no idea apps can create custom keyboards nowadays and the background removal is really clever (how does it work?). Too bad it doesn't seem to work with Line.</comment>


Show HN: We're building an RPG in a 14 day sprint for charity - <AUTHOR> http://www.bigblockgames.com/games/coffeehero/challenge/

<comment><AUTHOR> We're blogging the whole thing live, roughly once per hour while we're awake, and also have a live channel going at:

<http://www.twitch.tv/bigblockgames/>

</comment><comment><USER2> Great cause - apologies on being a bit late.

Your concept art looks amazing and would definitely love to give that game a go and maybe a bit of my support. Other than donations, do you guys need help with any infrastructure at all? I'm the Product Manager for PostageApp (<http://postageapp.com>) and any help we can throw your way would be easily arranged.

</comment><comment><USER3> Not sure why, but I first thought you were building this kind of RPG: <http://bit.ly/quBlcD>

<comment><USER4> Long URL for that short URL: [http://www.google.com/search?cx=w&q=rpg&um=1&ie=...](http://www.google.com/search?cx=w&q=rpg&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&hl=en&tab=wi&biw=1152&bih=890) (Google image search for rpg)

</comment></comment><comment><AUTHOR> More info here:

<http://www.bigblockgames.com/blog/coffeesprint/></comment>


Show HN: Make reports from your pull requests with Shipping Report - <AUTHOR> https://shippingreport.com/ <comment><AUTHOR> Hi one of the developers here. We've found this a really good way to share progress with our clients. It would be great to get some HN feedback!

<comment><USER2> \+ I'd probably go ahead and move "How it works" to the landing page. It's an important question for the target market. Maybe more important than the list of features in terms of content (if so, put it higher up the page) because the features emerge from how it works.

\+ On my laptop the Hero image takes _all_ of the screen height. It contains almost no useful information. In part because the image of the report is a lorem ipsum. Showing actual output would start to answer my most important question, "what the hell is it?"...the other two important questions are "why should I care?" and "how does it work?".

\+ The "elevator pitch" lacks clarity and sizzle:

      Communicate project progress
      from developer activity
      with just a few clicks

Maybe something like "Quick progress reports from Github commits"...though I am just guessing at the Github part, maybe it's Trello, maybe it's something else. Back to the "How does it work?"

Good luck.

<comment><AUTHOR> Thank you that is really useful feedback!</comment></comment></comment>


Do MMORPGs *have* to be boring? - <AUTHOR> http://robinhoksbergen.com/2012/02/23/do-mmorpgs-have-to-be-boring/

<comment><USER2> The game mechanic of grinding is common across many MMORPGs for good reason, it is a proven money maker when done right.

If you think about it, this is a win-win scenario for both game developers of this genre and players: they get to wave the hypothetical equivalent of a carrot in front of their user-base that they'll never catch, and fans don't seem to mind one bit.</comment>


TileMill — an application for making beautiful maps - <AUTHOR> http://mapbox.com/tilemill/

<comment><USER2> One of the neatest hacks in TileMill is the "UTFGrid", used for associating tooltips to regions of the map ... without having to do all kinds of expensive boundary checking on the client-side.

<http://mapbox.com/mbtiles-spec/utfgrid/>

 _edit:_ TileMill is also a really cool example of using Backbone.js + Bones to build a Desktop app: <https://github.com/mapbox/tilemill/tree/master/models>

<comment><USER3> Why use a grid of characters and not a grid of pixels (with indexed values that can be linked to the properties just like UTFGrid links chars to properties) ?

I use this kind of pixel grid which brings those advantages, especially for very large maps :

\- use of the image (with carefully chosen colors) as a direct preview of the map (depending on the resolution)

\- efficient (bidirectional) PNG compression

\- use of already present image manipulation libraries for all kind of manipulation (like layers addition)

What's the benefit of using UTF characters ?

<comment><USER4> Basically the answer to all of these questions is that it's easier to decode in the browser. A UTFGrid is just plain JSON, so we can just run it through JSON.parse(). PNG uses zlib compression, so we can get that benefit for free when sending gzip over HTTP. Here's some more design rationale: [http://developmentseed.org/blog/2011/09/21/how- interactivity...](http://developmentseed.org/blog/2011/09/21/how- interactivity-works-utfgrid/)

<comment><USER3> OK, I understand.

As a side note, I send my PNG when needed in JSON (larger, with base64 encoding, I didn't try to make a comparison with ASCII art format) and I find that with getImageData getting the indexed colors is fast and easy. I was referring to bidirectional compression because PNG filter (applied before the deflate) uses the fact that pixels are often similar on both axes.

Of course, without a few tests and comparisons, I can't be sure I really gain in size, but I like to use the fact that my map is an image (faster to draw on the screen at some resolutions and image manipulation server side - my zero indexes are simply mapped to the transparent "color" as is common in most color palettes).

I have different constraints trough, as my map contains 3200x1600 pixels and not 64x64, so that I really need those compressions for instant display.

</comment></comment></comment></comment><comment><USER5> we just posted 2012 TileMill + MapBox major investment priorities today: <http://ds.io/mapbox-2012>. In short, big push for:

\- TileMill on Windows,

\- Live map rendering for dynamic data via TileMill + direct uploads to MapBox for hosting,

\- Beautiful new OpenStreetMap base maps as an alternative for Google Maps w/ its new usage fees,

\- Shipping fast hardware (which we are still designing :) <http://www.flickr.com/photos/developmentseed/5812414817/>).

<comment><USER6> Is that 3D modeler Blender? I appreciate MapBox's use of and support of open source.

</comment></comment><comment><USER7> TileMill is great, I used it to style our replacement maps, since google maps decided to start charging. Here is an example: <http://tile.ridewithgps.com/leaflet.html>

TileMill is addictive to play with, though very tedious if you don't have a fast machine with some SSD's, as refreshes take a while to reload various zoom levels to see your work. Not much to be done there except throw hardware it.

Edit: I am hosting our maps on my own hardware, mapnik2+mod_tile. I just used the slick client to create a mapnik XML file for rendering.

<comment><USER3> Thanks. It's fast.

Your demo displays one problem : the strange choice of labels. For example, look for France's capital at zoom 8. You'll see a lot of small towns indicated but not Paris. And I can reproduce this for a lot of notable towns (like NY).

<comment><USER7> I am constantly tweaking at label sizes, and which labels to show at various zoom levels, and am not quite satisfied. You've pointed out an issue that is on my todo list. Problem is, it's easy to get sucked into a full day of TileMill styling, and I have to get some other stuff done over the next month ;)

<comment><USER3> Am I wrong or does it mean that TileMill, while impressive, lacks an essential feature ?

<comment><USER7> I just haven't taken the time to fully dial in the details available at each zoom. It's really hard, since in one area that level of detail will look sparse (much of the US), but in the UK, that much detail at a particular zoom will look way overcrowded. It's doable, but takes alot of patience and tweaking, which is my next round of styling. That and US state borders being messed up.

</comment></comment></comment></comment></comment><comment><USER8> TileMill is a lot of fun; you can download it and be making custom maps in just a few minutes. There's a lot of very sophisticated open source cartography hiding under the covers, not to mention nodejs wizardry. They've done a great job of packaging it all and making an easy to use tool for map- makers without requiring a lot of GIS or OSGeo expertise.

One particularly nice option is the ability to "print" your pre-rendered map to an MBTiles bundle for serving in a slippy map on the web.

</comment><comment><USER9> Looks great, and kudos on releasing open source code as well. As a developer who has specialized in making web-based maps, I've been dreaming of something like this coming a long, and here it is.

I had seriously considered working toward the same goal, but gave up because I wasn't sure about what kind of customers I might find. I'm still convinced that there are a lot of customers out there for this type of thing, and I hope you guys make this into something big!

</comment><comment><USER10> We've been using TileMill for a good 6 months now; for anybody who has been struggling with the tools that were available so far, it is a breath of fresh air.

I'd recommend anybody to give it a try and then have a look at their plans: <http://mapbox.com/plans/>. It's damn affordable for that kind of service.

We even use Tilemill's underlying node.js framework, Bones, for some of our projects.

</comment><comment><USER11> Maybe not entirely on topic, but after some googling I could not find this: what is the easiest way to have this interface (or Google Maps, etc) towards a huge picture (so not maps/GIS). A gigantic panorama picture so that the end user can pan and zoom?

<comment><USER12> You can actually do this with TileMill as well, but a common option is GSV - <http://mike.teczno.com/giant/pan/> or panojs: <http://code.google.com/p/panojs/>

</comment></comment><comment><USER13> i fiddled with TileMill last week.

I need something more "freehand" and Ortelius is what I need; <http://www.mapdiva.com/ortelius/>

</comment><comment><USER14> News and background on Development Seed's great work: [http://developmentseed.org/blog/2012/jan/02/major-mapbox- inv...](http://developmentseed.org/blog/2012/jan/02/major-mapbox-investments- coming-2012/)

</comment><comment><USER15> Can you create large map images from tiles that can be turned into a poster?

<comment><USER16> Yes. Stitching the tiles together is relatively easy. Depending on the specific tiling scheme, you may be able to do so without any depth of knowledge in geography.

That said mapnik [1], the rendering engine used to generate tiles, is a general purpose geographic data renderer. You could use tilemill as a tool to generate the map style then use mapnik directly to render your map at any pixel or geographic dimensions desired.

[1] <http://mapnik.org/>

</comment></comment><comment><USER17> Talk about filling a gap in the market, good luck with this model!

</comment><comment><USER18> Its so refreshing to see someone launch software with an OSx, Windows, AND linux version. Thank you for your hard work.

<comment><USER19> No Windows version.

<comment><USER20> Not yet.

<comment><USER21> Plans for Windows just announced in the 2012 roadmap: [http://developmentseed.org/blog/2012/jan/02/major-mapbox- inv...](http://developmentseed.org/blog/2012/jan/02/major-mapbox-investments- coming-2012/)

"Just two months ago, after Node.js added native Windows support, we started testing and porting TileMill to a native Windows application. We plan to release a beta version this quarter"

</comment></comment></comment></comment><comment><USER22> This is awesome. Thanks for posting.

</comment><comment><USER23> Gorgeous.

</comment><comment><USER24> every month we have this post about your app :)

</comment><comment><USER25> fantastic. guess they were faster than me :)</comment>


Tell HN: I wrote a ruby wrapper for the Stack Overflow API - <AUTHOR>

So wanting to learn ruby, and wanting to play around with the Stack Overflow API, I decided I would write rubyoverflow.
This is my first ruby project ever, so feedback would be greatly appreciated.
It is licensed via the MIT License
Source: http://github.com/phsr/rubyoverflow
GitHub Pages: http://phsr.github.com/rubyoverflow/
RubyGems: http://rubygems.org/gems/rubyoverflow
gem install rubyoverflow <comment><USER2> One tip, you should really put your classes in a module, otherwise it might interfere if people have defined their own Tag class for example.

<comment><AUTHOR> Done, and released. Thanks!!</comment></comment>


Ask HN: What production sites are powered by Google Dart? - <AUTHOR>

Dear HN,
We are intrigued by Google Dart (http://www.dartlang.org/) and seriously thinking about using it for a few next projects but the main question is how sustainable Dart would be in the next years.
Do you know any commercial sites and web applications built with Dart and running? <comment><USER2> (disclaimer, I work on the Dart team)

Thanks for the question!

We released Dart as a Technology Preview last year, which means we released very early in the project's life cycle. We've been collecting feedback and updating/refactoring the language, libraries, and tools. We've recently started releasing Milestone builds, which are essentially beta builds of the SDK and tools. The language does not anticipate backward breaking changes (but we still anticipate adding features like mixins). The libraries are currently undergoing changes, driven by feedback from the community and internal users.

The question if you should use Dart _now_ depends on when you need to ship your projects. Too much will be changing to bet on it to ship your project in Q1 2013. However, my impression is that if you're shipping in Q2 or after, Dart should be a good bet.

The Dart community and team is standing by to help if you have any questions or concerns. You can find us at email@example.com, dartbug.com, and Stack Overflow.

</comment><comment><USER3> None within google.

Dart is targeting HTML 5 capable browsers and ECMAScript 5 capable browsers... which tends to means stuff that is current as of today. As google tries to run on some older browsers as well, dart is not a good solution.... yet.

There are teams within google that are starting to build sites with it, but nothing is public yet.

<comment><USER2> From: [http://support.google.com/mail/bin/answer.py?hl=en&answe...](http://support.google.com/mail/bin/answer.py?hl=en&answer=6557)

"In general, Gmail supports the current and prior major release of Chrome, Firefox, Internet Explorer and Safari on a rolling basis."

I interpret this as IE10 and IE9, at least for Gmail.

</comment></comment><comment><USER4> Blossom.io seems to be using Dart [1, 2].

[1] <http://news.ycombinator.com/item?id=4694645>

[2] [https://plus.google.com/113104647883788326011/posts/RzYVrLRs...](https://plus.google.com/113104647883788326011/posts/RzYVrLRs1YZ)

<comment><USER5> Yes we do. One of our first small Dart codebases is the signup widget for our upcoming book.

<https://www.blossom.io/growth-engineering>

But we're also working on other stuff to ship. Stay tuned :)

</comment></comment><comment><AUTHOR> Or have anyone just used it and found stable/mature enough to build commercial projects?

<comment><USER4> Out of curiosity: what do you feel that Dart provides that makes you consider it (over say other ->JS solutions in the front end and Nodejs on the back)?

Are you even considering using it on the back end?

<comment><USER2> This answer might help: [http://programmers.stackexchange.com/questions/164273/does-d...](http://programmers.stackexchange.com/questions/164273/does- dart-have-any-useful-features-for-web-programmers/164304#164304)

Also, performance is looking good: <https://www.dartlang.org/performance/></comment></comment></comment>


YouTube Is Finally Banning Nazis, Holocaust Denial, and Sandy Hook Truthers - <AUTHOR> https://www.vice.com/en_us/article/vb9px8/youtube-is-finally-banning-nazis-holocaust-denial-and-sandy-hook-truthers <comment><USER2> Finally, giant corporations are deciding what is and isn't true on their global-scale platforms. As epistemology and history teaches us, the means to human progress is cementing the status-quo, via giving a small group of unaccountable, politically/profit-motivated bureaucrats the means for unilateral censorship.

</comment><comment><USER3> I'm curious if they're also banning tankies, 9/11 truthers, and violent antifa activists.

<comment><USER4> Is the implication of your question that Nazis, Sandy Hook Truthers and Holocaust Deniers are right-wing and so they need to be even handed and ban left-wing groups too?

<comment><USER3> Not so much that they should be even handed as that they shouldn't ignore similar bad behaviour just because it does not appear as salient from their perspective.

</comment></comment></comment><comment><USER5> This is nothing but a good thing.

</comment><comment><USER6> Ideally, public naming and shaming should be enough. Unfortunately, unless you get views for calling out bad behavior, doing so can cost you likes. This might have some content creators hesitant to act. A corporation might have more latitude, so maybe they risk the backlash instead.

</comment><comment><USER7> [https://news.ycombinator.com/item?id=20105903](https://news.ycombinator.com/item?id=20105903)

</comment><comment><USER8> It's their platform, they can do what they want, but I personally dislike this urge to ban everything the group consensus doesn't like. Leaving aside questions about "which group" and "whose consensus", I don't like it mainly because I've always been the guy in my social circle that is interested in things no one else is. I will watch videos about odd topics because I like to test my base presumptions at times, for example. I went on a flat earth video binge a while back because one friend's wife fell into that rabbit hole. Was there something very basic about my understanding of the world around me that I could be missing somehow? Turns out that, no, there wasn't. Not that I could find through those videos, anyway. Same thing with moon hoax videos.

I don't think I've ever watched a nazi video or a holocaust denial one, but I have watched a Sandy Hook one. It was along the lines of assuming the government, or the Left, or whoever, is trying to manipulate you and see what facts you can find that might fit that model, ignoring anything that doesn't fit well. It was an interesting mental exercise, if nothing else.

At the very least, where will you point people to examples of people slipping off the tracks without realizing how they got there? I'd rather YT hid them behind the equivalent of an adult content flag, if they feel they have to do something, rather than banning them. They will just appear on some other site, which will suddenly become blocked by all the major players, including banks.

Just my opinion, and an admittedly unpopular one.

</comment><comment><USER9> Obviously Nazis, Holocaust deniers, and Sandy Hook Truthers are bad.

But if you don't think corporations should decide what we watch or read peertube is a decentralized alternative. [https://joinpeertube.org/](https://joinpeertube.org/)

</comment><comment><USER10> What happens when they quietly start banning subjects that aren't as objectively bad?

<comment><USER11> What you said is called the slippery slope fallacy. Just saying.

<comment><USER12> It may be a fallacy to assert that it will happen, but it's entirely logical to observe that the current developments make that eventuality more likely.

<comment><USER13> Slippery slope goes both ways.

What if giving platforms to Sandy Hook Truthers enable them to recruit more and more crazy people, who would do more crazy things than just making videos, for example, actually seeking out victims of Sandy Hook and harassing them?

...Oh wait.</comment></comment></comment></comment>


General Mills to buy pet food maker Blue Buffalo for $8B - <AUTHOR> https://www.reuters.com/article/us-blue-buffalo-pet-m-a-general-mills/general-mills-to-buy-pet-food-maker-blue-buffalo-for-8-billion-idUSKCN1G7185 <comment><USER2> We give our large breed dog Limited Ingredient (by Blue Buffalo) specifically because it doesn't contain grains and other irritants. Maybe I'm being overly cynical, but I'm concerned that General Mills ownership will decrease the quality of the ingredients, and we'll have to find another brand, which has always proved to be a tricky, extended process of trial and error, where the "error" leads to your dog losing weight and having diarrhea.

<comment><USER3> Try Taste of the Wild, may be what you are looking for.

<comment><USER4> Victor is another very good brand. The site [https://www.dogfoodadvisor.com/](https://www.dogfoodadvisor.com/) does provide a good breakdown of what it is in many dog foods

<comment><USER5> Not sure how easy it is to find outside of boutique pets stores (just happen to live near a fantastic one that delivers for free) but I highly recommend the Orijen brand. Have tried numerous other "premium" brands with my dogs over the years but no matter which brand I was using, I always managed to run into at least one vet than had less than stellar things to say about brand x, y, or z. Maybe it's just coincidence but in the 7+ years I've been feeding my dogs Orijen I've yet to encounter a vet that anything other than positive things to say about the brand.

</comment></comment></comment></comment><comment><USER6> I wonder how long it's going to be until we hear about a direct-to-consumer online pet food store that gives a bag of food to a dog in need for every bag purchased

<comment><USER7> Why not? It seems like a pretty solid option for a subscription model and they already ask you for money donations when you pay at Petsmart and Petco...

<comment><USER8> I've been using the Amazon "subscribe and save" to get Blue Buffalo dog and cat food for a while. A subscription model seems solid, especially as I can't get Blue Buffalo in the grocery store so I have to make a special trip for it. But, maybe with this deal it'll get into more grocery stores?

<comment><USER9> A lot of those amazon reviews make it look like counterfeit Blue Buffalo is being commingled with the real stuff. Pretty fascinating reviews.

<comment><USER10> Yeah, given my experience with Amazon purchases over the past year or so, I'm really hesitant to buy any food or dietary products from them, for me or for my dog.

<comment><USER11> Many food companies will have their own "store" on Amazon and you can purchase from them as a supplier. I assume they have quality control to ensure the food they ship to Amazon is from their warehouses, and I assume that Amazon only ships you that food. I guess it's a lot of assumptions.

<comment><USER12> My understanding is that Amazon tags similar products with the same SKU despite their source. This allows someone to ship fake inventory in, have amazon fulfill it, and then those products make their way to customers purchasing direct from Amazon. There are cases of this reported by authors and other products

<comment><USER11> You might be right. I was just looking at some listings to see if I could find any disclaimer but didn't see any. I did find some various suppliers, all similar names but not exact.

If you search for Van Houtte coffees, you get products supplied by "Van Houtte Coffees", "Van Houtte" and "VAN HOUTTE". Clicking on the supplier link two bring you to the same page, the 3rd to a different supplier page. They all look legitimate but there's no way to tell. I'd actually like to see a "Verified" listing by Amazon. I'd much rather buy from a verified supplier to make sure I'm not getting some "off the back of the truck" coffee pods or whatever.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> The big food conglomerates have been buying up pet food makers for decades. Gives a convenient place to dump all the leftovers from their human food production.

Best option is to find a maker that still only makes pet food, or take the old fashioned approach and feed the dog raw bones and leftovers.

<comment><USER14> (you generally should not feed your dog bones, they can splinter and lodge in the dog's throat)

<comment><USER13> Only if cooked first, as they become brittle. So cooked chicken bones would be especially risky. Raw bones are generally fine - they break into small pieces. Larger marrow bones they can only gnaw at of course.

<comment><USER15> curious: if the bones aren't cooked, isn't the pet spreading bacteria with (possible) resistance to antibiotics throughout the entire house?

<comment><USER13> Generally we encourage the dogs to keep the bones outside, or in the kitchen, and mop the floor after. Not that it needs much - they usually munch wherever it lands!

The sound of a couple of German Shepherds crunching up their bones means you probably don't want them doing this right by the sofa during a movie. After an hour or so all that's left of a big marrow bone is entirely cleaned, and the smaller stuff is gone completely. So we've never found it an issue.

I imagine we and the children, especially when they were younger, spread as much as any salmonella loaded paw prints. :)

</comment></comment></comment></comment></comment><comment><USER16> I feed my purebred English bulldog:

He started off on royal cabin puppy bulldog blend.

Then I was a little smarter, and fed Origin.

Origin I found was true protein rich. Switched to Acanna, which is actuallyade by same people as origin, just less protein.

Tried fromms, taste of the wild.

Then nutrience grain free with freeze dried meat.

I have used this a few times inbetween, but now back on it. Zignature Kangaroo formula.

[https://www.zignature.com/?portfolio=kangaroo-formula- dry&la...](https://www.zignature.com/?portfolio=kangaroo-formula-dry&lang=en)

With my dogs allergies and gastro issues, this has been the best.

Hypoallergenic meat first recipe, with no Corn, grains, Wheat, Soy, Dairy, or Chicken, Chicken Eggs, or Chicken By-Products.

My Dog is allergic to chicken, suprised how much chicken meal is in alot of dog foods.

They pet store basically said: "has your dog ever had kangaroo? unlikely, and its only meat in it.)

So I tried it, maybe not the absolute most favorite of my dog, but he still enjoys it and it's been the best for him.

Never tried blue origin, likely won't now, my wife' heart always dropped watching the commercials telling the history of blue the dog and the resulting company in memory

<comment><USER17> You might try Nature's Select. My great dane is allergic to almost every traditional protein except fish, so he's on a diet of wild salmon and sweet potatoes.

[http://naturalpetfooddelivery.com/select-cold-water- recipe/](http://naturalpetfooddelivery.com/select-cold-water-recipe/)

</comment></comment><comment><USER18> I still find it disturbing how much breakfast cereal is made by dog food companies.

<comment><USER19> I, for one, love Crackling Oat Bran.

<comment><USER20> As do we. True story - our kids always called C.O.B. "cat food".

</comment></comment></comment><comment><USER21> I don't wanna be the "why is this on HN" guy, and I certainly don't _mind_ that it's here, but I really don't see any possible hacker angle here. I'm not complaining, I'm just puzzled.

</comment><comment><USER22> People interested in this topic might want to check out the Skept Vet's web site:

[http://skeptvet.com/Blog/](http://skeptvet.com/Blog/)

The site is run by a veterinarian who "takes a skeptical and science-based look at veterinary medicine". There's a strong bias towards evidence based research over junk/pseudo-science (which should appeal to a lot of HN'ers), and I've learned a lot from reading his blog.

</comment><comment><USER23> My dogs pooped blood when we tried giving them Blue Buffalo

<comment><USER24> That typically means you gave them too much too fast. It's best for their digestive system to _very_ slowly ease them into the new food. A few kibbles (or partial teaspoons if wet) mixed into their old food at first, and then gradually increase over two weeks, until the new food completely offsets the old food.

</comment></comment><comment><USER25> "Hacker News" this is not. I hate to be the guy saying "why is this article on here" but I do miss the stuff that used to be on this site :(

<comment><USER26> It must be of some interest to the entrepreneurial-minded folks on HN. An East Coast company that started in 2012 [0] gets a $8B buyout -- and unless I'm missing something, it doesn't even have a Wikipedia page. Reminds me of stories about all the tech startups started by non-teenagers/non-dropouts whose big exits (some near unicorn-level) don't get much attention because their origin stories or their business plan don't sound as sexy as the archetypical Silicon Valley startup myth.

[0] [https://www.bloomberg.com/research/stocks/private/snapshot.a...](https://www.bloomberg.com/research/stocks/private/snapshot.asp?privcapId=49372845)

<comment><USER25> Yeah I hear you, I'm just missing the stuff I used to find here - little cool libraries, new ways of doing things, stuff people made.

So much of what's upvoted now are just the contents of the business section of any major newspaper.

<comment><USER17> I can't speak for everyone, but I find the business, political, and social posts far more valuable than any technical post about a library, framework, or new abstraction.

Very few people change the world with code. It's either soft skills or business acumen.</comment></comment></comment></comment>


Unsolved problems with the common core - <AUTHOR> https://liorpachter.wordpress.com/2015/09/20/unsolved-problems-with-the-common-core/ <comment><USER2> That article has a terrible title. It implies it discusses deficiencies with the Common Core standards. A much better title would be something like "Open questions in mathematics that align to Common Core standards"

<comment><USER3> I interpreted it as a joke.

</comment></comment><comment><USER4> I can't tell if this post is serious, or making fun of the topic. I got to the point where the author thinks it's a good idea to talk about graph k-colouring with kids in kindergarten. Does anyone think this can have any meaningful discussion beyond a "you can colour any map with 4 colours" trivia?

Just as a reminder, these are points from the grade k overview:

\- Know number names and the count sequence.

\- Count to tell the number of objects.

<comment><USER5> Getting kids to think about and experiment with graph coloring is probably a more reasonable and productive goal than trying to have a "meaningful discussion" about it with kindergarteners. It's certainly not something that stood out as ridiculous to me.

<comment><USER4> I think I didn't use the right phrase. I was thinking of something more general than discussion - meaningful interaction? But the main point was that I don't think those kids would understand map colouring as something beyond map colouring. It's just trivia - you can do it with 4 colours. A huge majority of people of any age doesn't know why that fact is in any way significant.

On the other hand if anyone wants to prove me wrong about kindergarten kids, I'd be glad to hear that.

<comment><USER6> I thought that example was quite nice, and it might work with kindergarten kids. It has to be kept easy and not overwhelming, though. I'd do it like this:

First take some simpler map that can be 3-colored and ask the child to 3-color it. Make sure it is always correct (no neighbors have the same color).

Then give a simple map that cannot be 3-colored. Let the child try it for a while, try arguing together or let them try to argue why it is not possible.

Maybe even start with 2-colorable first, and move up slowly to 3 and then to 4.

Mentioning that 4 always works is optional.

Depending on the child's patience, they can even try coming up with the 3-counterexample themselves. It can be a back-and-forth of challenges and solutions between the child and adult.

</comment></comment></comment></comment><comment><USER7> I love this, and I'm going to try some of these with my child.

> The four color theorem states (informally) that "given any separation of a > plane into contiguous regions, producing a figure called a map, no more than > four colors are required to color the regions of the map so that no two > adjacent regions have the same color." (from wikipedia). The mathematics > statement is that any planar graph can be colored with four colors. Thus, > the first part of the "warm up" has a solution; in fact the world map can be > colored with four colors. The four color theorem is deceivingly simple- it > can be explored by a kindergartner, but it turns out to have a lengthy > proof. In fact, the proof of the theorem requires extensive case checking by > computer. Not every map can be colored with three colors (for an example > illustrating why see here). It is therefore natural to ask for a > characterization of which maps can be 3-colored. Of course any map can be > tested for 3-colorability by trying all possibilities, but a > "characterization" would involve criteria that could be tested by an > algorithm that is polynomial in the number of countries. The 3-colorability > of planar graphs is NP-complete.

This is the background and context for the problem for kindergarten. It would be good if educators and writers could provide a version of this for young children and their teachers.

<comment><USER8> I've never understood why the proof had to be so complicated.

Instead of color filled areas, use nodes and arcs. One and two nodes are trivial. When you add a third node it either connects to one other node and then can be just a second color, or it connects to both and you have an enclosed region (two actually). When you add the fourth node it will have a fourth color if it has three arcs. You now have 6 arcs which is the maximum possible with four nodes. To reiterate, a map the requires three colors has three nodes and three arcs; a map the requires four colors has four nodes and 6 arcs. So a map that would require five colors should have five nodes and ten arcs. But that's not possible.

<comment><USER9> The standard proof does use nodes and arcs (or vertices and edges, which I am taking to mean the same thing). A proper coloring must assign distinct colors to neighboring vertices, but this doesn't mean that vertices with the same color are identified.

Here's an overview of the simplest version of the proof as of 1998: [http://www.ams.org/notices/199807/thomas.pdf](http://www.ams.org/notices/199807/thomas.pdf) . This should shed some light on why the proof is as complicated as it is. (See especially the section on equivalent formulations.)

<comment><USER9> I'm way out of date. The proof (discretized using hypermaps instead of graphs) was completely formalized in Coq in 2005: [http://research.microsoft.com/en- us/um/people/gonthier/4colp...](http://research.microsoft.com/en- us/um/people/gonthier/4colproof.pdf)

</comment></comment></comment></comment><comment><USER10> Heh, their "Kindergarten-level" problem is proving P≠NP? :)</comment>


Poor font rendering the downside of Firefox 4 beta's hardware acceleration - <AUTHOR> http://input.mozilla.com/en-US/search/?product=firefox&q=font Unfortunately the new hardware acceleration feature in Firefox 4 Beta 5 seems to have a bad impact on font rendering.  There is already a fair amount of negative feedback and users turning this feature off. <comment><AUTHOR> Here are some examples with hardware acceleration on (left) and off (right)

<http://a.imageshack.us/img231/5900/firefox42.png>

Obviously the header text here is completely messed up. But the normal text is horrible too. Look at the N and the D at the beginning of the first posts - previously nice and sharp 1 pixel lines, now 2 pixels. The T on The on the third post runs into the h, rather than having a gap. The text was previously sharp and crisp, now it looks blurry.

<http://a.imageshack.us/img291/9493/firefoxbeforeafter.png>

Look at 'sebastianmarshall.com' on line 4 - it's so much more compressed. In fact, before it is 139px wide, with acceleration it is only 132px wide: it's not just the look, it's actually changing the dimensions of the text!</comment>


Algorithms as objects - <AUTHOR> https://gieseanw.wordpress.com/2019/05/10/algorithms-as-objects/ <comment><AUTHOR> I perform many code reviews a week, and as a result I see very long functions with a lot of nesting more often than I'd like. I'm even guilty of it myself. This post let's me point at all the reasons for using a class rather than just writing a comment that says "Maybe you have a class here?"</comment>


A letter to (Mark) Zuckerberg - <AUTHOR> https://medium.com/@ravensley14/748654b1fb51

<comment><USER2> I'm not sure there's anything more infuriating to an OCD person than your erratic style of punctuation, placing commas after spaces. Also I know you wrote it years ago but did you realize at the time the entire post was one great long run-on sentence?

<comment><AUTHOR> yes and no when i wrote this, i just had the idea and i didn't have any pen and paper on me so i asked my friend to borrow his phone(since i didn't have one myself),so i can quickly write the idea down and send it to myself and later send it to Mark Zuckerberg. But what end up happening is, he wanted his phone earlier than predicted and in the rush i skipped the sending it to myself part,and send it to him instead.Also I apologize for any inconveniences caused on my part. Besides that, I would like to thank you for your patience and guidance .

<comment><USER2> Hey, man, I have posted zero original works to HN and I've been a reader for almost two years. So, kudos :)</comment></comment></comment>


Mentat Wiki - <AUTHOR> http://www.ludism.org/mentat <comment><USER2> These are useful techniques but they kind of miss the point. They all concentrate on the question of how to do something, but completely ignore the (much more interesing in my opinion) question of what to do. Besides raw intellectual ability good answer to this question requires creativity and also philosophical and ethical skills (that includes the ability to make tough decisions). Much harder.

Worth remembering who the mentats were in the Dune universe - servants of those in power.

<comment><USER3> Actually, I'm surprised the Dune universe never explored people who undertook at least some mentat training, at least in secret, to become better leaders, instead of merely relying on that group of human computers.

<comment><USER4> Isn't Paul Atreides being secretly trained as such by Hawat? Or was it just Bene Gesserit training?

<comment><USER3> A bit of column A, a bit of column B. See my other reply.

</comment></comment></comment></comment><comment><USER5> It is interesting that no comments mention the "SmartDrug" , or nootropics. There was a rumor that half of Silicon Valley CEOs use Modafinil,an important nootropics that enhance human's brain.

There are some new breakthrough in recent years about psychedelics that with low dosages, psychedelics can be more efficient nootropics. Psychedelics might give normal people some visualization capabilities that most famous geniuses have. It's good for graduate students to understand complicated math or engineering concept. There could be more new discoveries in Science because more normal people have genius brains.

Steve Jobs mentioned using LSD was one of two or three most important things in his life.That statement might be ignored by most people.It's quite likely that Jobs could never be the Jobs we know without LSD.

<comment><USER6> The Jobs we know is no genius. The only extraordinary thing about him is the ability to exploit people. As for psychadelics, they'll give you the ability to visualise things that normal people don't alright. Like random geometric shapes even after you've stopped using.

<comment><USER7> He was alright: [https://www.psychologytoday.com/blog/finding-the-next- einste...](https://www.psychologytoday.com/blog/finding-the-next- einstein/201111/was-steve-jobs-smart-heck-yes)

</comment></comment></comment><comment><USER8> I didn't check every link but I find it interesting that under "improving intelligence", there is no mention of the generations of work previous thinkers have put in to the question about how to be wiser/intelligent, or the question of what that means.

I'm not saying the answer lies in past philosophers, but I think it would be silly to discount previous work done in this area and focus on video games and drugs.

<comment><AUTHOR> Which thinkers did you have in mind?

The Mentat Wiki has entries on mnemonic techniques like the Major System[1], Peg System[2], and the Loci System (aka Memory Palace)[3], which are hundreds if not thousands of years old.

It's not really fair to characterize the wiki as being all about "drugs and video games".

[1] - [http://www.ludism.org/mentat/MajorSystem](http://www.ludism.org/mentat/MajorSystem)

[2] - [http://www.ludism.org/mentat/PegSystem](http://www.ludism.org/mentat/PegSystem)

[3] - [http://www.ludism.org/mentat/LociSystem](http://www.ludism.org/mentat/LociSystem)

<comment><USER8> I was thinking of philosophers like the Greeks (Socrates, Plato, etc...), Jewish (Maimonides, Goan, etc...), Chinese (Confucius, Sun Tzu), Europeans (Descartes, Hume), American (Autobio of Benj Franklin, other autodidacts like Hamilton, Jefferson, etc). Now, a good argument against my list is that few of these sources have actual methods for becoming more intelligent, aside from general advice on how to live "a good life" (paraphrasing) which will allow one to be wise.

I hadn't seen the systems you mentioned so I will check those out, thanks.

I can see how my comment came across as implying it was all drugs and video games, which it is not and I should have chosen my words better. I was trying to convey the overall feel that I got from the site that becoming more intelligent can be done with quick interventions (which is entirely possible, but I think unknown).

This wiki is in its early stages so I can't fault it much. What I would like to see is a source of evidence behind each link it lists for improvements in memory, creative thinking, problem solving, etc... so that interventions can at least be ranked. The reality is presently we can't measure these things very well. Another nice addition would be early childhood interventions that have been associated with increased intelligence (something we do have data on).

</comment></comment></comment><comment><USER9> Interesting that there is no mention of better ideas.

(for example, people will choose to internalize ideas that are economically valuable, and if they happen to have applicability beyond that, they are likely to end up better thinkers as a by product of seeking that economic advantage)

</comment><comment><USER10> Nice project, I'll be browsing it for the next hour or so. I do have a suggestion, however. Take the MemoryTechnique[1] page for example. It should begin with a very short introduction to the subject and be followed by a suggested reading order. The links are good but they need to be presented differently in order for users to find what they want more quickly.

[1]: [http://www.ludism.org/mentat/MemoryTechnique](http://www.ludism.org/mentat/MemoryTechnique)</comment>


Apple Lawyering Up On "Fake Steve Jobs" - <AUTHOR> http://yro.slashdot.org/yro/07/12/22/2039248.shtml

<comment><USER2> For those that can't be bothered flicking through all of the posts, be sure not to miss the "totally medieval" one:

\---

This is followed by a recommendation that I retain an attorney to represent me. And then, I swear to friggin God, there's a list of my assets with an estimated value for each and I suppose the implied threat that I stand to lose them. Which kinda scares the living shit out of me, to be honest, since they've got a pretty thorough list, which means they've been doing some research on this and the offer didn't just come out of thin air. Their lists includes my home address, most recent assessed value of my house and all the information about my mortgage; a rental property that we own; my bank accounts and investment accounts, including the college funds for our kids, whose names are used; and our boat and two cars.

Damn. And right at Christmas. I am going to go make myself a drink.

</comment><comment><USER3> You people sure are gullible. Oh, wait. Call the EFF!

</comment><comment><USER4> I'm so glad that my work doesn't include being a lawyer and getting paid extremely well for going after people in the most heinous way.

</comment><comment><AUTHOR> This seems to be the first quasi-confirmation that Think Secret's settlement involved Apple paying the Think Secret guy money.

</comment><comment><USER5> Satire perhaps?

<comment><USER6> Yes. I believe FSJ has pulled this very same trick before. His deadpan is improving, though. Perhaps he's been studying Andy Kaufman tapes.

The beauty of it is that Apple -- having just silenced a critic by executing a very real shady, secret backroom deal -- is in no position to claim that it doesn't pursue shady, secret backroom deals to silence its critics.

<comment><USER6> Okay, I know it's wrong to reply to myself, and I will go to hell.

But look at the first picture in this FSJ blog post:

[http://fakesteve.blogspot.com/2007/12/breakfast-with- apple-l...](http://fakesteve.blogspot.com/2007/12/breakfast-with-apple- lawyer.html)

It's _Andy Kaufman_! I rest my case.

Though, I gotta say, the Andy Kaufman of legend would never have issued such an obvious tipoff. :)

</comment></comment></comment><comment><USER7> this is such an amazing departure for FSJ. Break character but become something completely different and equally satirical. I love it.</comment>


Cleaning House - <AUTHOR> https://lists.webkit.org/pipermail/webkit-dev/2013-April/024388.html

<comment><USER2> Back in 2011, I got my first exposure to WebKit and OSS in general as I was hanging out at my friend's office in downtown MV, 9pm on some random weekday.

I recall him working on submitting a patch (which I think got accepted after a few necessary revisions) to WebKit, and him explaining to me how WebKit is behind both Safari and Chrome, and how even though the companies and its fanboys are grabbing at each others' throats, the developers are happily working together, conversing casually on the mailing list and on twitter. It reminded me of the great sports rivalries, where the fans and media rile up the heat and hatred, but the players themselves remain respectful to their brethren on the other side of the lines.

In the years since, I've been able to help out some OSS projects as a non- coder, and I look back and think that learning about the collaboration behind WebKit certainly nudged me a little bit towards this direction.

It's a bit sad for me to see the Google and Apple teams split in this manner, since it was such a visible and prominent example of how OSS can bridge corporate divides, but I am hopeful that down the line we'll all look back at this moment in history with fondness.

<comment><USER3> There's nothing to be sad about. Some people seem to think this is some sort of tragedy and failure of webkit the opensource project. It's not.

The fork happenned to a large extent for a want of control on the code base. So, it's mostly technical. WebKit has atleast 8 ports in trunk. Every part of it - networking, os, javascript engine, bindings, plugins, graphics has been hacked to death. And it has abstractions galore.

Now imagine you worked for WebKit. If you wanted to commit something, you had to test it against 8 ports. Many of these ports are cross platform. So, you are really talking about like gazillion combinations (mac, windows, linux, retina vs non-retina, os versions). It was not a happy place to develop and everyone in the project recognized this.

The pace of development was getting very slow because of the above. Apple faced this and said WebKit2 is all theirs and nobody else should really use it. Google faced this and decided to fork.

In short, most webkit devs are happy about this. It's worked out well for everyone.

<comment><USER4> > In short, most webkit devs are happy about this. It's worked out well for > everyone.

I can't say the same about front-end web devs. They are potentially looking at yet another browser family that can have its own quirks (sure, safari and chrome were different enough already, but this fork means that now they can be different at a lower level).

<comment><USER5> I believe this is pretty much the definition of "fear, uncertainty and doubt." Let's not spread it around.

Google already basically ran their own fork of WebKit — it most definitely was not the same codebase in Chrome and Safari. Now they've just made it a clean, official one. Let's not freak out about problems that may never exist and certainly don't yet.

<comment><USER6> They shared WebCore: pretty much all of HTML, CSS and JS parsing and CSS positioning. That's most of what a front-end, PSD2HTML kind of developer has to worry about.

So yeah, they will probably differentiate even more now.

<comment><USER7> I don't think it will be that bad. WebKit is already pretty well established, when they're this far along I doubt they'll diverge much. For the most part, even Firefox and WebKit render the same, even though they have no common lineage. This isn't going to be like IE6 vs Firefox.

</comment></comment></comment></comment></comment></comment><comment><USER8> Unless I am mistaking things* it looks like there is a rather big problem brewing regarding the JS engines in webkit.

Webkit guys want to remove support for V8 (and any JS engine apart from their own JSC engine) due to maintenance and complexity conerns BUT:

* Qt 5.x uses V8 in Qt's Webkit

* Samsung uses V8 (In a unofficial fork of WebkitGTK+ by the looks of it).

* Oracle want to add support for their own JS Engine to webkit.

Resolving this one amicably should be interesting. If you want to use Webkit on windows with anything other than JSC it looks like you might want to start investigating blink in detail.

* I probably am.

<comment><USER9> Out of curiosity, why would you have a strong preference for one of the two over the other? Both are open source and very fast,

[http://www.arewefastyet.com/#machine=12&view=breakdown&#...
each beats the other on some benchmarks. Is there another reason for your preference?

<comment><USER8> I personally have no stake in this, I am just observing from an outside perspective so I cannot really say why some groups whose webkit + V8 over JSC, you would really have to ask them.

I am _guessing_ there are probably non-technical points (eas of commit access, architecture, roadmap etc)

</comment></comment></comment><comment><USER10> I noticed a striking lack of snark in this link and the prior announcement of Blink. Either these are pros who are working in good faith toward their respective ecosystems, or there's bad blood and vitriol all around that goes deep enough to not get expressed right away.

I'm hoping for the former, but human nature being what it is...

<comment><USER11> The lack of responses to the announcement post makes me sad. [https://lists.webkit.org/pipermail/webkit- dev/2013-April/024...](https://lists.webkit.org/pipermail/webkit- dev/2013-April/024384.html)

<comment><USER12> There is one now. And the author of the mail posted in the thread linked here and offered help, seemed professional to me. Of course, I don't know whether there was any arguing going on before that decision, but that thread doesn't seem to point to that.

</comment></comment></comment><comment><USER13> So it seems you'll need to choose Blink+v8 or WebKit+JSC, I had thought WebKit+v8 was relatively common but perhaps its just Google.

[https://lists.webkit.org/pipermail/webkit- dev/2013-April/024...](https://lists.webkit.org/pipermail/webkit- dev/2013-April/024408.html)

<comment><USER14> Opera planned to adopt WebKit+v8, but since they are moving to Blink they will be fine.

<comment><USER9> Opera was planning to move to Chromium all along, not WebKit. So it was a given they would be using v8.

<comment><USER15> Also, given how recent Opera decided to switch to Chromium, surely they knew about Google's plans?

</comment></comment></comment></comment><comment><USER16> Will Android and Windows become "tier 2" platforms in Apple's WebKit tree? Who, besides Google's Chrome team, cared about WebKit on Windows?

<comment><USER17> Well, Apple does. They use WebKit to render the iTunes store.

<comment><USER18> Apple also supports Safari on Windows.

<http://support.apple.com/kb/DL1531>

<comment><USER19> "Supports" maybe (is it up to date with WebKit security fixes?), but definitely no longer maintains or develops. Safari 6 is not available for Windows. There have been no updates to Safari for Windows in almost a year, and no new feature releases in almost two years.

<comment><USER20> On that matter, I wonder why they didn't continue to provide security updates for 5.x when they decided to continue support for Snow Leopard, like MS did with IE.

</comment></comment></comment></comment></comment><comment><USER21> So which browsers on the market are currently using webkit proper? I've heard that Apple uses their port called Webkit2 for Safari, and now with Chrome and Opera using Blink, who's left?

Or will Webkit2 and Blink still pull changes and improvements in from Webkit?

<comment><USER22> Webkit2 is a branch of webkit project supported by parties other than apple.

</comment></comment><comment><USER23> They seem really eager to make the forks as hard to merge as possible.

<comment><USER24> Undo a fork is at least an order of magnitude more difficult than making the decision to fork in the first place. Nobody has that on their minds right now.

</comment></comment><comment><USER25> Google pumping and dumping. Seems kind of shitty to me. E: I do realise it's a very long term pump. But it has that feel.

<comment><USER26> Could you explain how this is "pumping and dumping"? What I have learned from the material floating around is that there are fundamental difference in the architectures of Chrome and Safari and how they talk to WebKit. Google decided to go their own way because maintaining the common code base was a pain for both sets of developers.

</comment></comment><comment><USER27> Yay...common Safari beat Chrome!

<comment><USER28> What? Safari is substantially _less_ common than Chrome. I'm confused.

<comment><USER24> You are responding to a stray Apple fanboy who spelled "come on" as "common." I recommend disengaging.

<comment><USER27> Refer to #6 <http://www.urbandictionary.com/define.php?term=common>

<comment><USER29> _Commonly used by uneducated teens and young adults_

So you're _trying_ to sound uneducated?

<comment><USER27> No, because it's another way to talk in social media. Now, let's not get into the semantics, we all know how much correct grammar is used in social media/web.

<comment><USER29> HN is not Facebook. Hold yourself to a higher standard.</comment></comment></comment></comment></comment></comment></comment>