HNHacker News
TopNewBestAskShowJobs

knucklesandwich

737 karma · joined March 26, 2014

educated stupid
submissionscomments
knucklesandwich··on HyperNormalisation (2016) [video]
It's completely ironic, the tone of the show is extremely anti-authoritarian (a huge part of the show is eviscerating "washington consensus" liberals from a leftist perspective as well as pathological sycophants in various political orgs) and appropriating the nickname of fascists in Turkish AKP for their fans is a joke.
knucklesandwich··on HyperNormalisation (2016) [video]
I love Chapo and this interview had me buzzing for days after I heard it, it's one of the best calls to action for left politics I've ever heard. If anyone new to the show likes this, I recommend you start with episode 2 after this, since the show relies on a lot of running jokes (episode 1 is basically just a throwaway where they talk about how they want to organize the show). Highly recommend it though, one of the best podcasts I've listened to in a while.
knucklesandwich··on HyperNormalisation (2016) [video]
I MAY not BE.... FRANK SINATRA.... BUT IM.... PART OF the pack.

EDIT: lol apparently not many others.

knucklesandwich··on Crytek has not paid wages, employees are leaving
I don't think there's anything ethical about stringing your employees along for 3 months without pay, regardless of how successful you may have been in the past: https://news.ycombinator.com/item?id=13140938
knucklesandwich··on Crytek has not paid wages, employees are leaving
IANAL, and from what I understand the laws about pay schedule vary by state, so I'm not going to make some claim I can't substantiate. But my guess is if you're 5 weeks late paying your employees you're most likely committing wage theft (probably also not paying payroll taxes on time). You have to liquidate assets, conduct layoffs, or close the business from what I understand.

Crytek is also German, right? So I have no idea how that works there.

knucklesandwich··on Crytek has not paid wages, employees are leaving
Reminder that wage theft is estimated to cost workers over $50 billion a year, more than the cost to victims of all robberies, burglaries, and larcenies combined: http://www.epi.org/publication/epidemic-wage-theft-costing-w...
knucklesandwich··on Tell HN: Political Detox Week – No politics on HN for one week
It's not like political affiliation is the only example of ingroup-vs-outgroup conflict on HN. I think it's an incredibly weak argument to even pretend like this is somehow a distinguishing characteristic of political discussion that makes it somehow more inflammatory.

If you want to enforce the code of conduct more strongly, fine. But highlighting political discussion as somehow worse than other kinds of discussion involving competing views is incredibly frustrating and only serves those who may benefit from engineers putting their political and ethical agency to bed in a work/work discussion context. Politics is about choice, its about reasoning out decisions and coming to a consensus on those decisions. Work life is not exempt from the scope of those decisions, and trying to keep that discussion out is a pretty questionable practice.

knucklesandwich··on Tell HN: Political Detox Week – No politics on HN for one week
Tech is just as political as actual politics, so this explanation that political discussion "causes harm" / "war" / "emotion over reason" strikes me as incredibly facile. And frankly the notion that software engineers need to segregate our political lives from our professional lives is unbelievably self-serving to certain interests and frankly a big problem with the culture today.
knucklesandwich··on Peter Thiel To Join Trump Transition Team
Yes, the guy who had to be shamed out of attending a libertarian meetup with a heavy white nationalist presence has some extreme views.
knucklesandwich··on Thomas Piketty’s Capital in the 21st Century, in 20 minutes (2014) [video]
> Now that I've substantiated my claim that welfare AND social welfare spending have grown tremendously, you're trying to move the goalposts. You ridiculed me with your snarky put-down when I made the claim, and it turned out to be absolutely correct.

It's not "moving the goalposts", your claim was that welfare programs were "growing". The definition of beneficiaries and benefits hasn't grown probably since LBJ was in the white house, only the pool of retirees and disabled persons has grown. In other words, government hasn't changed anything to make the program grow.

> Should we throw people in prison for not living up to your moral standards and giving to the poor?

How many people are in jail because of tax fraud versus in jail for some form of theft of property? That's a good primo facie test to verify that this ideology even passes a simple smell test. Even if that did demonstrate a problem, this idea that there's anything nonviolent about your ideology is fucking bonkers. The non-agression principle is anything but: http://www.demos.org/blog/1/29/14/what-world-following-non-a...

knucklesandwich··on Thomas Piketty’s Capital in the 21st Century, in 20 minutes (2014) [video]
Yeah Orwell, the democratic socialist and Labour Party member, would have hated income redistribution programs. Orwell was anti-authoritarian, but he knew that the market left to it's own devices was just another incarnation of authoritarianism.
knucklesandwich··on Thomas Piketty’s Capital in the 21st Century, in 20 minutes (2014) [video]
> How about you act like a decent human being instead of making ridiculous strawman arguments against me?

Love the calls for civility from the person proposing that anti-discrimination laws were bad. Also "the free baby market" isn't really a leap from any of these hardcore libertarian views.

> In Western countries in general, social welfare spending is substantially higher now, as a percentage of GDP, than it was before the 1970s. Social democracy on the scale we have today is a relatively recent phenomenon.

This has absolutely nothing to do with program expansion, it has to do with an aging population. It's an increased percentage of GDP because the population is skewing older: https://www.cbo.gov/sites/default/files/cbofiles/images/pubs...

> Regarding your claim that welfare reform has had "horrendous" consequences, it is overly narrow and simply assumes no broader and longer-term negative consequences from compulsory income redistribution.

We can debate about how absurd it is to say that the 50% of the population who can't work (and would provide basically nil extra productivity to the labor force if they were unjustly forced to rejoin it) shouldn't have income redistributed to them, but I suspect this is a point of philosophy we'll never agree on.

knucklesandwich··on Thomas Piketty’s Capital in the 21st Century, in 20 minutes (2014) [video]
This is classic libertarian bullshit. Ask them how they enforce private property and watch the web of insane bullshit about how market intervention is "violence" unravels. Hilariously, the newest trend in libertarian thought is to embrace something like feudalism without reservation, which is basically the inevitable consequence of a libertarian society.
knucklesandwich··on Thomas Piketty’s Capital in the 21st Century, in 20 minutes (2014) [video]
Hoo boy. Can't wait for the Rothbardian argument from you about why a marketplace for infants is a good idea.

Also love the revisionist history that welfare has in any way grown. It hasn't, in fact it's been scaled back dramatically since the 90s, and the consequences have been horrendous: http://www.demos.org/blog/2/12/16/welfare-reform-was-quite-b...

knucklesandwich··on Shame on Y Combinator
It seems like your assertion here is that Clinton's supporters skew low income because they're college students being subsidized by their parents and not actual low income workers or unemployed non-dependents. So while your own poll in the other thread basically rejects that by giving the share of voters for family income and not individual income, you still haven't actually given any data to support this. All you've done is tell me I'm wrong about what the definition of class is without an alternate definition.

You also haven't done any work towards arguing against the fact that voters for Trump fundamentally don't live in areas with high immigrant populations or where their jobs were moved overseas. In other words the notion that Trump voters support immigration reform and trade protectionism because they have bad run-ins with our current policies on these issues.

Face it, Trump voters are bigots.

knucklesandwich··on Shame on Y Combinator
Class is a set of wealth and income categories (or is in the US anyways, I can't speak for other countries). I'm not sure why you claim they're "correlated". They're literally the same thing.
knucklesandwich··on Shame on Y Combinator
That only (partially) explains the median income for Bernie voters, not Clinton voters: http://graphics.wsj.com/elections/2016/how-clinton-won/

Also I'm not sure why that's important, is your assumption that Millennials don't have legitemate economic anxiety?

knucklesandwich··on Shame on Y Combinator
Any pushback from these people that starts with the fabrication that Trump voters are the working poor is basically not worth engaging with. They live in the same world as everyone else where it's reasonable to critique people who have deeply harmful or prejudiced views and it shows when that pushback is based on the assumption that classism is essential to the case against Trump, even when all the polling shows us that's a complete lie.
knucklesandwich··on Shame on Y Combinator
Read the poll, this still shows that Clinton has a larger slice of low income voters. Also who do you think Trump's base is? The people who voted for him given a pick at any of the potential nominees for president, or the people who had additional choices eliminated and were encouraged to vote based on partisan loyalty?

Also I've included polling data that is past the primary, and includes voter sentiment for the general election, such as the gallop poll. The trend towards upper-middle craftsmen jobs remains.

knucklesandwich··on Shame on Y Combinator
Because it's utter bullshit. All of the polling tells us the Trump voters skew higher in wealth and wages than Clinton voters and that hate for "the other" is largely motivating their choice. It's a narrative Republicans love because it gives them some tie to authentic "real Americans" and an argument to deflect from their pure, naked racism and neoliberal Democrats love because it allows them to pin Trump on the working class, but it's completely wrong.
knucklesandwich··on Shame on Y Combinator
The implication here is that Trump voters are working class people who have been drawn to Trump by virtue of their economic anxiety, concern about loss of their jobs via globalization or immigration, etc. The image in mind is coal or steel workers or industrial factory workers in rust belt cities that have lost their jobs. It's a seductive narrative to Republicans to try to claim the working class, and to classist Democrats to pin Trump on dumb hicks. It's also fundamentally at odds with what all the data tells us.

The first thing that's wrong about this is the assumption that the most economically disenfranchised vote at all. The least financially secure voters have some of the lowest turnout in America, with only about 20% of them voting [1]. These people fundamentally don't vote. The second problem is to try to pretend like Trump actually has a claim on the working class as his base to a greater extent than other candidates. He doesn't [2]. The median income on Trump supporters from the primaries was higher than that of Clinton supporters or Bernie supporters. He also claims a larger take of the wealthiest voters, who compose 9% of his voters in the primary, vs. Clinton and Sanders' 7% and 5% respectively. Fundamentally, his demographic skews more wealthy than the democrats.

A recent gallop survey with a large sample size shows that Trump's base don't live in areas that experience job loss due to companies moving overseas, nor do they live in areas with large immigrant populations [3]. They live in areas that are largely racially segregated (largely white). They have tradecraft jobs like HVAC repairmen, plumber, etc. and live relatively comfortably. Fundamentally though, these people have low exposure to people of color, which might explain their bigotry. Finally, surveys tend to show that Trump voters have a more negative opinion of muslims and people of color [4], which should be of no surprise.

So no, please pedal your "Trump's voters are the economically anxious white workers of America" narrative somewhere else. The truth is that Trump voters are bigots.

[1]: http://www.people-press.org/2015/01/08/the-politics-of-finan...

[2]: http://fivethirtyeight.com/features/the-mythology-of-trumps-...

[3]: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2822059

[4]: http://www.vox.com/policy-and-politics/2016/10/15/13286498/d...

knucklesandwich··on Consistency is Consistently Undervalued
I'm not saying you should not have availability. On the contrary, many strongly consistent algorithms actually have very good availability characteristics. The whole point of being distributed is often to increase availability. Algorithms like raft and multi-paxos can provide availability so long as a majority of nodes remain reachable to the client, which I think is pretty acceptable in many cases. This is sort of why the availability vs consistency dichotomy is a false dilemma. Sure, having linearizability means you cannot have total availability and vice versa, but generally you can have very good availability and preserve strongly consistent semantics. What I disagree with is that trading strong consistency to achieve total availability is useful in many domains. To be fair, there are some, and for write-heavy workloads that tend to materialize a readable view in the future or for things like immutable caches, it can be extremely useful to weaken consistency, I just have often found that for the bulk of business logic, weaker consistency semantics make unacceptable tradeoffs to users.
knucklesandwich··on Consistency is Consistently Undervalued
You seem to be assuming that I'm a UX designer. I'm not, I'm a backend engineer. Just a note though: I wouldn't say something like "The internals of the system don't matter to you. It only matter to us, as the builders." to a UX designer, since that's super condescending.

Sequential consistency is basically the most lax model you can get away with in this case (and have it generalize to other similar operations). This is a very strong consistency model and weakening linearizability to this basically provides no advantage for availability. There is a proof that anything stronger than causal consistency cannot provide "total availability", which I'd argue is somewhat mythical anyways (except when you're colocated with where data is being stored).

My point here is that this is clearly a case where many of the strongest ordering guarantees are required to get the desired behavior, and subsequently availability must be sacrificed.

knucklesandwich··on Consistency is Consistently Undervalued
Oh apologies, I misunderstood what you were saying! Yes, agreed, this is a good method for communicating what's occurring in weakly consistent systems to stakeholders. Definitely going to use this in the future.
knucklesandwich··on Consistency is Consistently Undervalued
There are a couple ways you could do this, though according to jerf in a comment below, banks often don't implement transactions as commutative.

Most commonly things like this are done by somehow reifying the operation as data and attaching some information to determine ordering. One way would be to attach a timestamp to bank transactions. By itself, that would be enough to ensure bank transactions commute (but without bounds on clock synchronization, wouldn't guarantee that you see those operations in the order you issue them). You could also require a single consistent read to an account to get a state version number and attach an incremented version of that in your transaction. Ties in both cases could be resolved by account id of the person initiating the transaction.

knucklesandwich··on Consistency is Consistently Undervalued
It's a cool metaphor, and I'm sure there are occasions where its easy to pass this off as innocuous. But inconsistent semantics can produce blemishes and bugs that can be difficult to anticipate and can very negatively impact user experience if you aren't careful. The typo explanation is acceptable when I just see some comment I posted being reordered after a page refresh. It's less so if I get locked out of my account because my password change hasn't fully replicated to all servers (and even less so if my consistency model doesn't converge).

To be clear: there's an economic tradeoff to make here that isn't identical at all scales. At a certain point, lost revenue due to user dropoff from availability is more expensive than users who stop using a site due to a frustrating experience (and sometimes that scale itself is the compelling feature able to stave off a user from giving up on your app completely). But in most cases, I think its advisable to start with stronger consistency semantics and only weaken them when a need presents itself. Hell, Spanner is the foundation for Google's ad business, if that's not living proof that you can preserve strong consistency semantics and keep your system sufficiently available, I'm not sure what is.

knucklesandwich··on Consistency is Consistently Undervalued
There are definitely solutions for handling this with consistency semantics that are something weaker than linearizable consistency. But they usually become expensive in other ways and loose a lot of the availability benefits to recover the consistency properties you do need. Most of the models we're even talking about here are something in the realm of sequential or causal consistency, which are still considered strong consistency models (and are usually implemented on top of linearizable algorithms that allow for weakening invariants that protect against witnessing inconsistency. spanner is an example of this).

Your friend-state solution only protects the visibility of the post if the friend-state between the two users has not changed more recently than both the post and your version.

I.E.

Friend state 0 is we're friends.

Friend state 1 is we're not friends.

Friend state 2 is we're friends.

Friend state 3 is we're not friends.

I have friend state 2, and the post is at state 1. I accept my version incorrectly and am able to view the post, despite the fact that we're no longer friends.

knucklesandwich··on Consistency is Consistently Undervalued
> Your privacy settings is a local concern to your account, it most certainly does not need to be globally consistent. All you need to do to avoid problems with that is to ensure consistency in routing requests for a given session, and enforce local consistency of ordering within a given user account or session depending on requirements.

I think you're misunderstanding what the problem is here. I want global consistency (really I want two party consistency) to prevent the said user from witnessing the unkind thing I posted about them. It's necessary that my own actions appear in their original order to me, but also to anyone else who is plausibly affected by their reordering.

The full example also involves posting on a mutual friend's wall and having that post hidden by unfriending. You could route all requests to fetch posts to the owning poster's pinned set of servers, but this would be extremely expensive. Sharding solutions also weaken availability guarantees, because you necessarily shrink the set of nodes able to service a request.

knucklesandwich··on Consistency is Consistently Undervalued
Apologies, you're right, I've never implemented bank accounting in the real world, I'm only talking about it in the sense of an account balance as a "toy problem", where its often used to discuss the virtues of weak consistency by being able to use overdraft charges.

Whether or not its actually implemented with something like CRDTs in the real world isn't really my point, my point is that its a cherry-picked example of a system that clearly does reorder operations and has weaker-than-usual concerns about witnessing inconsistency.

knucklesandwich··on Consistency is Consistently Undervalued
> You misunderstand me, and I appreciate that I should have been clearer: A single observer in a single location that is both the sole observer and creator of event will have a consistent view. But this isn't a very interesting scenario - the type of interactions that matter to us are operations that requires synchronisation between at last two different entities separated in space.

My point in bringing that up is that applications don't present the appearance of appearance of entities separated in space, that's why weak consistency is unintuitive. We expect local realism from nearby objects the same as we expect behavior in an application that exhibits effects from our immediate actions.

> E.g. consider a forum system. It requires only a bare minimum amount of consistency. You don't want it to get badly out of sync, so that e.g. there's suddenly a flood of delayed comments arriving, but a bit works just fine. We have plenty of evidence in the form of mailing lists and Usenet, which both can run just fine over store-and-forward networks.

Most threaded or log-like things are examples that fare well with weak consistency (because they're semi-lattices with lax concerns about witnessing inconsistency). I'm not saying that there aren't examples where its a tradeoff worth making, I'm saying that many applications are built on non-trivial business logic that coordinates several kinds of updates where it is tricky to handle reordering.

> They'll remain available to the portion of nodes that can reach a majority partition. In the case of a network partition that is not at all guaranteed, and often not likely. These solutions are fantastic when you do need consistency, in that they will ensure you retain as much availability as possible, but they do not at all guarantee full availability.

Weakly consistent databases can't guarantee full availability either when a client is partitioned from them. In fact there's no way to guarantee full availability of internet services to an arbitrary client. I think the importance of network partitions is somewhat overstated by HA advocates anyways. They're convenient in distributed systems literature because they can stand-in for other types of failures, but link failures (and other networking failures, but link hardware failures are disproportionately responsible for networking outages[1]) happen at an order of magnitude less than disk failures.

> In instances where you can safely forgo consistency, or forgo consistency within certain parameters, you can ensure full read/write availability globally (even in minority partitions) even in the face of total disintegration of your entire network. But more importantly, it entirely removes the need to limit throughput based on replication and synchronisation speeds. This is the reason to consider carefully when you actually need to enforce consistency.

I'm all for giving careful consideration to your model. And I agree, there are several cases where weakening consistency makes sense, but I think they are fairly infrequent. Weakening consistency semantics per operation to the fullest extent can add undue complexity to your application by requiring some hydra combination of data stores, or come at a large cost by requiring you to roll your own solution to recover some properties like atomic transactions. You called this "laziness" earlier, but I think this is actually pragmatism.

[1]: http://research.microsoft.com/en-us/um/people/navendu/papers...

← PreviousPage 2 of 5Next →