HNHacker News
TopNewBestAskShowJobs

vec

2,000 karma · joined August 9, 2012

submissionscomments
vec··on No class action for unhappy Uber drivers: U.S. appeals court
> Contract law, if I understand correctly, takes into account the relative power of the parties.

It really doesn't, at least not in the US.

There are a bunch of things that are necessary for a contract to be considered enforceable, but the two that are relevant here are "meeting of the minds" and "duress".

"Duress" is the obvious one, but it's a really high bar. It usually means something like physically threatened or blackmailed or literally locked in a room and told you can't leave until you sign. There's not generally a case that an employee or contractor was under duress from their future employer because they always had the option to not take the job in the first place.

"Meeting of the minds" is a bit more subtle. The parties have to believe they're agreeing to the same thing. This is also hard to show, though. Generally speaking, if you've been given the full text of the contract and had ample time to read through it then you are legally considered to know and understand its contents. There are a few cases where shrinkwrap licenses and extremely one sided terms of service get rejected under this theory, but it normally requires the parties to have signed materially different documents or for one party to be able to show that they weren't given adequate access to the document before they signed.

It's also worth noting that contracts are basically considered valid until proven otherwise. So even if there is a case to make that you shouldn't need to comply with some terms of a contract you are bound by you still need the resources (both in terms of relevant supporting documents and in terms of time and money) to actually prove that case in a court of law.

vec··on Chrome 69 will keep Google Cookies when you tell it to delete all cookies
I don't think these two ideas are as opposed as you're implying. They're describing two different perspectives on the same process. To wit:

1. Individuals have values and ethics that they'll make a reasonable effort to comply with. Society recognizes this and rewards and punishes individuals for the ethical bent of the projects they are clearly responsible for.

2. As the size and complexity of a project grows responsibility becomes diffuse until there's no single individual to hold responsible for any given decision. Once this happens the informal, personalized ethical safeguards begin to break down.

3. Once the informal individual scale safeguards have dissolved they usually can't be rebuilt. Instead they need to be replaced with formal safeguard mechanisms that operate at the project scale.

vec··on An open governance model for the AMP Project
There is no "AMP itself" outside of Google. The AMP project consists of three parts[1]:

1. a specification for an HTML/CSS subset (almost) which is relatively easy for browsers to render efficiently.

2. an open source client-side JS library designed to automatically apply a number of performance optimizations to pages written against the specification above

3. a closed-source proprietary proxy server designed to further optimize content delivery for pages written with the above tooling.

The first two are pretty awesome; full stop. The third one is probably also pretty awesome from a technical perspective, but it's hard to say for sure since I can't spin up my own proxy server to find out.

AMP pages can be served without the proxy layer, but then they're not really AMP pages. They're just unusually svelte HTML pages with some slightly esotreric JS runtime extensions. In order for the end user to actually get most of the benefits of AMP the page needs to be filtered through a compatible proxy, and that means Google (or Cloudflare, who also host a proxy layer with Google's blessing).

I've got nothing against Google's proprietary tools. I've got a Gmail account, all my spreadsheets live in Google Docs, I still miss Reader. But let's call a spade a spade. AMP is fundamentally a proprietary Google offering with a handful of open source components. Nothing short of enabling third parties to host their own proxy servers will change that fundamental fact.

[1]: https://www.ampproject.org/learn/overview/

vec··on We’re Measuring the Economy All Wrong
I think this is the wrong way to look at it. It was never actually 100/0. Homemakers did (and still do) a large amount of informal and uncompensated labor that doesn't show up in the employment statistics. In essence, employees used to be paid wages that allowed them to cover their living expenses with enough left over to pay for a full-time live-in nanny/chef/housekeeper/social secretary/etc. (in the form of their spouses).

We're moving to a world where it's more acceptable for men to choose to be homemakers and more common for women to have professions other than homemakers, both of which are good. But we've also moved from a world where the typical family had one income and one adult's full-time labor to support the household to a world where the typical family has two incomes and zero adult's full-time support without an equivalent jump in standard of living that would allow them to comfortably hire out for all the previously uncompensated labor.

In other words, typical working age adults used to only have one full-time job (as either a homemaker or a member of the formal labor force). Now adults of both genders have a full-time formal job plus a part-time job maintaining the household but without the equivalent real income increase that would imply. That's the crisis.

vec··on The GDPR Is a Cookie Monster
I dunno. Convincing my friends and family to care about Facebook's potential for abuse was science fiction, right up until it wasn't. Certain recent events in American politics took an issue that was abstract and invisible to the median consumer and made it very concrete and very visible.

Business and engineering culture around website construction is horribly broken with regards to user privacy. Changing that culture is going to take years of consistent pressure which existing interests are going to fight every step of the way.

In my opinion the ugly consent forms are the best thing about GDPR. A problem that techies have known about for years is now visible (and annoying) to the general public. Of course that doesn't restructure the entire internet overnight, but dragging the problem out of the shadows seems like a pretty good opening salvo.

vec··on The GDPR Is a Cookie Monster
GDPR doesn't make every site show cookie policies and popups now. It's entirely within a site's power to decide not to collect analyitics on their traffic, in which case they don't have to show or get consent for anything.

I know, that's so glib that it's laughable. That's the point.

We currently have a status quo where user analytics are very valuable while the cost of collecting them is minimal. That strongly incentivizes site owners to collect and store as much data as possible. In this moment we have a business culture and a set of engineering best practices that's grown up around those incentives.

GDPR changes the incentive structure by imposing a cost on the collection end, in the hope that site operators will start being significantly pickier about what analytics they want to collect, when, and from whom. The end goal is a cultural change in how we collectively build websites. But culture doesn't change on a dime. It takes time for the existing actors to accept and adapt to a new normal, especially one that's more hostile to their interests.

Be pissed off. Pissed off is an appropriate response to the horrible UX you're being exposed to. But be pissed off at the people showing you the horrible UX. It's in their power to stop, they just don't want to.

vec··on The GDPR Is a Cookie Monster
It is idealistic. Idealism is how the status quo changes for the better.

The short-term effect of GDPR is ugly interstitial pages and mandatory consent, but that's not the point of GDPR. The point is to make legally collecting user data difficult, annoying, and onerous in the hope that going forward more companies will eventually decide it's more trouble than it's worth. That'll only work if complying actually is a chore.

Call your local news site and complain if they aren't honoring GDPR to the letter. Call your country's ICO and complain to them too. Talk your friends and family into doing the same. Be a pest; the more annoying the better.

vec··on Bullshit jobs and the yoke of managerial feudalism
Is BofA going to redline all of their staff? No. But absorbing a spike at a single department or branch is another story, and it wouldn't surprise me if having excess capacity already on hand is more efficient overall than trying to reassign individual workers on demand.

Besides, actually working on a team that's redlined is exhausting, and doing it for more than a few weeks is a recipe for burnout. There's real business value in high employee morale and a low turnover rate, and having some amount of built in slack at normal operating capacity seems like a relatively cheap and reliable mechanism to safeguard that value long term.

vec··on A Web Design Crash Course: From Developer to Developer
> Starting on pen and paper

This is really the secret. Pencil, pen, whiteboard, crayon, whatever. Anything that lets you rattle off half a dozen super low detail sketches in under a minute will work. It doesn't need to be pretty either. Just as long as it's enough to give you a feel for interacting with the page as a whole.

Once you have a good solid idea for how you ultimately want it to come together then you can move to a computer to drill down into the individual details, but for getting from zero to concept there's no substitute for analog tools.

vec··on Researchers: Last Year’s ICOs Had Five Security Vulnerabilities on Average
I think there's a difference between what you're saying (doing it right is possible) and what the critics are saying (doing it wrong needs to be impossible). There's nothing that best practices can do to prevent a motivated novice from throwing together a minimum effort contract that "works" by whatever test criteria they thought up over the past five minutes.

Imagine surfing the web, but instead of showing a 500 error a broken page would withdraw a random sum from your checking account. It doesn't matter how good the best pages are, no one in their right mind would ever open a browser.

vec··on Researchers: Last Year’s ICOs Had Five Security Vulnerabilities on Average
It's worse than that because immutability and lack of human judgement is also the killer feature that smart contracts offer over good old fashioned paper contracts and binding arbitration agreements. Any attempt to make maintaining smart contracts manageable is almost by definition going to undercut one of the main rationales for wanting to use them in the first place.
vec··on Researchers: Last Year’s ICOs Had Five Security Vulnerabilities on Average
> Blockchain smart contracts are often unchangeable, so you can't fix bugs

This is the fatal flaw with smart contracts as a concept.

If they can be changed by the author then they don't provide the security guarantees that make the system worth using, but if they aren't changeable by the author then a huge fraction of smart contracts will ultimately end up doing something unintended because of any of the million reasons we don't normally expect first releases of alpha software to work perfectly in all circumstances.

In a perfect world Etherium would work great, but we don't live in a perfect world. People make mistakes. Any system which expects human input but isn't designed to gracefully handle human error (including the humans who programmed the system) is probably not going to end well.

vec··on Blockchain 2018 == NoSQL 2009
Except that (to use your acronym) BFTSMRs are fairly common and well understood. Git, to choose the obvious example, probably qualifies.

The only thing that's new about blockchain is that it removes the requirement for a quorum of nodes in the network to trust one another. It achieves this solitary feature by means of forcing all updates to be as computationally inefficient as is economically feasable. Even then the security guarantees only hold as long as no single party can directly or indirectly control 51% of the network's collective computing power.

Aside from the cryptocurrency use case, that's a fantastically unattractive feature profile. The more fully I grasp how much of blockchain's promises rest on proof of work as a cornerstone the less optimistic I am the technology will ever have any useful real world applications other than serving as the mcguffin in weird zero sum securities market games.

vec··on The Limits of Expertise
Wow, that is a crazy headline! I wonder what the article actually says?

> “We work with parents from birth...Just about how to set up a culture of consent in their homes. ‘I’m going to change your nappy now, is that OK?’ Of course a baby’s not going to respond ‘yes mum, that’s awesome I’d love to have my nappy changed'.

> "But if you leave a space and wait for body language and wait to make eye contact then you’re letting that child know that their response matters," she said.

> [Snip]

> Carson quoted statistics reflecting how common sexual abuse is among children, and said the work her organization does follows international best practice in abuse prevention.

> "It teaches children their rights AND their responsibilities and connects them with people who care and can help. It invites their parents into the discussion and is sensitive to cultural and family values," she said.

This seems ...honestly pretty reasonable and well thought out to me.

You're right. The headline does speak for itself, because it certainly doesn't speak for the subject of the article.

vec··on JeffBezos Is Already $40B Richer This Year–While Typical Amazon Worker Made $12K
I think you're getting too tangled up in the specific framing device the article uses. There's no easy way for Jeff Bezos to conjure up $40B in cash to hand out as bonuses, but there are plenty of ways he could have not made that $40B in the first place.

For a dramatic example, Amazon could decide tomorrow to give the entire company a 20% raise and eat the stock price crash. They'd be fine. Jeff Bezos is prioritizing growth and shareholder value but it's entirely within his powers to prioritize other things, like paying his employees a living wage all the way down the pay scale. Amazon would be a slightly smaller and less important company with a somewhat lower share price and the world would be a better place.

When he says that he doesn't have anything other than space exploration to spend his money on what he means, in part, is there's nothing he can change without negatively impacting the metrics he cares about. The point of this argument is that he could choose to care about different metrics.

vec··on System76 and LVFS
As far as I know, the only three System76 employees who are active on HN are myself, jackpot51, and cassidyjames.
vec··on JavaScript Symbol.thenable Proposal
Can we not introduce a dirty hack into the formal specification solely to work around an edge case introduced by another dirty hack that's already in the formal specification?
vec··on 100 days with Rust: a series of brick walls
Don't leave us hanging. What's the other piece of advice?
vec··on Unfortunately, StackOverflow is difficult-to-avoid nowadays…
I've lost count of how many times I've googled a question, had the first hit be SO, and the top answer concisely explains how to solve my exact problem, often with several other alternatives in the other answers and a nuanced discussion about the tradeoffs between them.

Stack Overflow is like democracy. It sucks sometimes, but it's still better than everything else we've come up with so far.

vec··on Why I Don't Like Golang (2016)
I actually find go extremely difficult to read. The abstractions tend to be both shallow and leaky, the syntax is noisy, and the very limited feature set forces a particular coding style whether it's appropriate for the problem at hand or not. It limits expressiveness, which I find makes it harder for an author to communicate intent.

In other words, go makes it extremely clear how a piece of code works at the expense of knowing what a piece of code is trying to accomplish and why I might want to invoke it. I generally think that's a poor tradeoff.

vec··on Why I Don't Like Golang (2016)
Okay, "can't" is too strong a word. But I don't know a good word for "it's technically possible but is cumbersome, is not idiomatic, and requires introducing another stack frame for no good reason".
vec··on Why I Don't Like Golang (2016)
Go's a great language for Google. Their use case needs very high througput but can tolerate GC pauses, their code is a giant single-repo monolith with thousands of contributors where pedantry prevents conflict, and they hire a bunch of people straight out of college who haven't figured out how not to be clever yet. "C, but with unremovable training wheels" is a really good tradeoff for their specific situation.

Why anyone who doesn't share Google's unique issues would want to use it, though, is beyond me.

vec··on Why I Don't Like Golang (2016)
The problem is that I can't declare the variable and set it's value as part of the same operation. I'm forced to declare a variable with a nonsensical or incorrect value then correct it later as part of a logically distinct statement. This introduces a window into my code where some piece of memory is known to be wrong and puts the onus on me to not use it between its declaration and it's being set.

It's a small nitpick in the grand scheme of things, but it forces me to allow a class of user error (and, in some cases, concurrency issues) that other styles of programming make impossible.

And also it usually adds to the line count, which is annoying.

vec··on Why I Don't Like Golang (2016)
1 is a subset of a smaller issue. Default params are just a way to declare variadic functions more easily, but the language doesn't allow variadic functions at all. In go trying to define `add(int x, int y)` and `add(float64 x, float64 y)` is a compile error, even though the compiler can tell full well which one I want to use where.

2 is so annoying. Half the sdtlib wants you to use `foo.NewStruct()` and the other half uses `&bar.Struct{}`. As far as I can tell the rule is to use a bare definition where possible and only declare a New function if the zero value isn't meaningful. But there's no way for a library author to force the use of new and/or disable bare struct literals, and there's no way for an API consumer to know which category a given library will fall into other than by rote memorization. It's practically designed to invite user error.

Both of these seem emblematic of a bigger problem in the design philosophy of go. It's optimized for simplicity, but often at the expense of making idiot proof interfaces difficult or impossible to build. This seems like a fundamental misunderstanding of what makes programming difficult in the first place. My package's users (including future me) aren't going to know or care about how the internals of whatever I'm throwing together work, they just want to use the API to solve their problem with as little extra contextual knowledge as possible. Go doesn't let me write an interface where they don't have to know or care, all in service of a definition of "simplicity" that doesn't seem to actually make anything easier.

vec··on Coinbase Multiple Charges
I'm fairly financially stable but I generally only keep a few hundred dollars in my checking account at any given time. The rest goes into long term savings of one sort or another, and it's not necessarily easy to convert back to petty cash on short notice.
vec··on FCC’s Inspector General investigating whether Ajit Pai acted inappropriately
I would argue that local channels matter even more now than they used to.

Most of my day-to-day news sources are national or international. Most of the media and pop culture I consume too. I'm lucky enough to still have a local newspaper that does some actual reporting, but it's probably not long for this world. Even social media and the water cooler at work are more interested in the widely distributed professional communities I'm a member of then the actual physical community I live in.

My city's nightly news broadcast is close to the only reliable source of information about my municipal and state government in my media diet. In all but the most sensational of cases, it's likely to be the one place I hear about huge classes of events which will have far more of an impact on my life than whatever is on CNN today. For all but the federal level, it's as likely as not to be my sole passive source of information about political candidates.

I like to think I'm an unusually well-informed citizen (by which I mean I'm a politics junkie) and without a half hour of TV news every night I would have absolutely no clue what most of my government is doing in my name with my tax dollars.

vec··on Coinbase Multiple Charges
But if we do that we have to accept that there are tradeoffs in the first place. We have to recognize that reasonable people might disagree about which tradeoff to make. We have to accept that even good decisions are likely to leave someone somewhere worse off. We might even have to gasp understand the historical and cultural context in which the current system arose.

Applying a slogan is so much easier.

vec··on Ikea founder leaves fortune to no one, structures it to ensure it lasts forever
Looks to me like the Swedish people did, in fact, come to the conclusion their socialist policy didn't work and reversed it via the normal political process. According to the wiki, the Social Democrats retook power three years later and didn't attempt to reintroduce it.

That looks to me like pretty compelling historical evidence against the hypothesis that socialist experiments must necessarily slide down the slippery slope to full-on communism.

vec··on Ikea founder leaves fortune to no one, structures it to ensure it lasts forever
For a value of "we all agreed" that expands to "was decided via a free and fair democratic process", then it appears that the Swedes did all agree, at least for a time, that this was a fair way for their government to use their tax money.

For any other value of "we all agreed" then it sounds like you're arguing that the vast majority of government expenditures are unjustified. That seems like a much more expansive claim than what you're trying to make.

Why should it be okay for the state to use tax money to purchase a tank or a mile of road but not to purchase a share of stock?

vec··on Ikea founder leaves fortune to no one, structures it to ensure it lasts forever
It appears the intent was to purchase control over the ownership of the companies at prevailing market rates. As far as I can tell, the existing stock owners were entirely free to refuse the state's purchase offer and maintain control indefinitely, if they so chose. That doesn't sound like a tax at all.
← PreviousPage 3 of 13Next →