Why Facebook should pay everyone a basic income - <AUTHOR> https://www.ft.com/content/5103204e-7b5b-11e7-ab01-a13271d1ee9c <comment><USER2> > Why Facebook should pay us a basic income

Perhaps so we can afford the $10 subscription fee to find out why Facebook should pay everyone a basic income.

<comment><USER3> i put it into instapaper and was actually able to read it.

</comment></comment><comment><USER4> This is kinda ridiculous. What about those of us who don't use Facebook? Should they pay us, too? This has to be some kind of satire.

<comment><USER5> It kind of is. It alludes to Zuckerberg earlier statements in favor of basic income. The author basically replies that he should set an example. "Mr. Zuckerberg has said his purpose has been to make an impact rather than build a company" \- so that now the opportunity presents itself to live up to his words.

</comment></comment><comment><USER5> Non-paywalled link: [https://www.cnbc.com/2017/08/09/why-facebook-should-pay- us-a...](https://www.cnbc.com/2017/08/09/why-facebook-should-pay-us-a-basic- income-commentary.html)

</comment><comment><USER6> I think [https://en.wikipedia.org/wiki/Local_currency](https://en.wikipedia.org/wiki/Local_currency) is better than UBI

<comment><AUTHOR> I'm interested in your reasoning here: how does local currency solve the problems that UBI is meant to, but better?

</comment></comment><comment><USER7> If Facebook paid people in exchange for the content they produce, it's not UBI, it's normal income. UBI happens when you get paid for nothing. Looking the example from Alaska, though, it makes sense - it encourages people to move to a place they might not consider otherwise. Perhaps UBI would be a good idea if offered by cities that are facing issues with declining population, as an incentive for attracting more people.

<comment><USER8> UBI is in the focus for a lot more than attracting people to an area - it's a solution to a future (present?) where we don't need everyone to work.

The reality is when all the menial jobs are automated, you have to reclassify anyone not capable of non menial jobs as disabled, create busywork jobs that don't give value / actively don't automate things just to create jobs, or provide UBI.

Maybe the first option combined with better education would work, but UBI seems like the best option. It should also cut costs around welfare and, morally, I think it is right - everyone should be able to live, regardless of ability.

I think the idea of UBI as incentive is dangerous because it leaves a lot of potential for rug pulling when it sees success.

<comment><USER7> I don't think we'll reach this point of all jobs being automated, where UBI becomes an absolute necessity, mostly because human desires are unlimited, but that's beyond the point I'm making here.

I'm curious about why you think UBI as incentive would be dangerous, especially in the scenario I described. Doesn't this already work in Alaska? What kind of rug pulling you expect it might happen?

<comment><USER8> Human desire might be, but human ability isn't. If we don't raise the level of education everyone can get, and to a lesser extent even if we do, some people just will not be able to do any of the jobs that aren't automated - that's already true today. As I said before - our current solution, call them disabled and provide for them specifically, would have to be expanded, or UBI would solve the problem universally.

As to it being an incentive - if you provide a UBI as an incentive, you will presumably get people moving there to receive that UBI. When enough people have moved to the place and the incentive is stopped, it could easily cause huge issues as those people who moved will be relying on it.

It's probably only an issue if the UBI is high enough.

</comment></comment></comment></comment><comment><USER9> Nah. UBI is government's duty.

What companies like Facebook should start doing is to stop avoiding taxes. That is the best way if they really want to help.

<comment><USER10> Not really. Yeah even if we would assume responsible governments and effective governance what makes you think that the money collected from taxes would not go to where it should not ?

<comment><USER9> If you assume "responsible governments and effective governance", then yes, money collected from taxes would go where it does the most for the overall well-being. But I'm aware of how governments are hijacked by private corporations that lobby and bribe politicians so they work to maximize those private profits in detriment of the public interest.

</comment></comment></comment><comment><USER11> Facebook makes slightly more than a dollar per active facebook user (in profits). So if they did payout to active users, it would be just a couple (or tens) of dollars. Hardly an "income".

Reasoning: Facebook's profits divided by active users.

</comment><comment><USER12> considering how hard Zuck is pushing for this, then sure, let him put his money where his mouth is... oh, you want other people to pay for your lefty ideas? I see.

<comment><USER13> UBI isn't a lefty idea at all actually. It's probably most popular with right- leaning Libertarians.

<comment><USER14> It's wealth redistribution, so I don't see how it fits with libertarian ideals in any way.

<comment><USER13> there's a far greater diversity of Libertarian thought than you seem to be assuming, and ultra laissez-faire capitalist ideology is a very very narrow slice of it that I think is a position discussed loudly by undergrads and dismissed quietly by everyone else.

The reason this form of wealth distribution is favored by many Libertarians is that it far more free of encumbrances and complexities than any other form of redistribution you might think of. It's not means-tested, everyone gets it, so that avoids the moral hazard of treating the wealthy differently than the poor. It's not restricted in what you can do with the money, so that avoids the moral hazard of picking winners and losers in the marketplace by government fiat. It's not linked to unenforceable nanny state monitoring of people's behavior, so that avoids the moral hazard of intrusive bureaucrats monitoring your spending habits.

It is a policy that can aim to provide significant humanitarian improvements in people's lives while avoiding many of traditional pitfalls of government policies intended to provide humanitarian relief.

<comment><USER12> > than any other form of redistribution you might think of.

and why do we need to do redistribution of any sort? I think that's what Libertarians are opposed to.

</comment></comment></comment></comment></comment><comment><USER15> actually that wouldn't be a bad idea considering they get $ worth of money from our data. That way people join the service too and they can mine more.</comment>


Programmer hiring is broken because of whiteboard interviews - <AUTHOR> https://medium.freecodecamp.com/why-is-hiring-broken-it-starts-at-the-whiteboard-34b088e5a5db#.nvyqnknw9 <comment><AUTHOR> _" I would argue most of the people who reject whiteboard interviews can't actually code"_

A comment like this currently on top of this post just shows how broken the whole thing is. Of course the fact that this rejection of whiteboard interviews is coming from people who're doing the hiring (like myself), rather than interviewee's doesn't seem to make a whit of difference to the commenter.

</comment><comment><USER2> I'd say it's broken because often hiring is done without an actual need, and just to hypergrow because that's what you're supposed to do. Even when there is a legitimate need there's usually zero understanding on the part of the organization or hiring manager how to scope that need and understand what kind of person can fill that need, and thus no idea what a good assessment or process for assessment even looks like.

Whiteboarding interviews are terrible, but they're symptomatic of a process and ethos that is far, far more broken than simply demanding an absurd dog and pony show to be carried out under ridiculous conditions.

</comment><comment><USER3> I see this same opinion posted over and over again. I would argue most of the people who reject whiteboard interviews can't actually code. Because if they could, they could learn these algorithms in 2 weeks and be a bette coder for it, like everyone else who goes through them. The idea that you don't need to understand space/time complexity in day to day coding is ridiculous.

<comment><USER2> When I'm asked these questions I either provide a solution in Haskell or Erlang to highlight how dumb of a dick waving contest they are and/or I cite the PhD research that went into the thing they're now taking for granted as being "obvious".

I once asked an interviewer who claimed to be a distributed systems engineer to write out the fast paxos protocol or sketch out the operations and structure of a DVVset. They had no idea what I was talking about. Should they have been fired on the spot?

I can "code", and I still reject the premise and supposed utility of these dumb assessment methods on the grounds that I know they're dumb, I know they don't work, and I know this because I bothered to dig into the research on the subject of proficiency assessment.

Also, knowing space-time complexity isn't even remotely useful by itself. It's much more valuable to also understand average and worst case complexity, and how they impact a given use case, but when I ask the interviewers about this, they almost never know the answers, and they clearly don't think they're unfit for their own job, so which one of us is right?

</comment></comment><comment><AUTHOR> It's our greatest collective failure as an industry that we hire people for a job based on testing their skills on a completely unrelated task. A task that they'll never actually carry out in _any_ job anywhere.

<comment><USER4> I was thinking, the problem that your new hire can't code, is the least of your worries.</comment></comment>


A second Brexit referendum could actually happen - <AUTHOR> https://www.gq-magazine.co.uk/article/second-brexit-referendum-could-happen <comment><USER2> And if the second one doesn't work out the way politicians want, third time is the charm!

<comment><AUTHOR> The politicians have a hard time to get the first vote done. I doubt there will be a third.

Looking at the state of Brexit, it's due time to think it over, give people a chance a to remedy a grave mistake. Or go all the way, at any cost? With a 52%/48% vote? Really?

<comment><USER2> You're right, time for another attempt.

And if this next time it is 51%/49%, we can try yet another time!

That's exactly what I am suggesting: iterating until the desired results are obtained.

<comment><AUTHOR> Do you really think the next vote will be 51%/49%? Seriously?

<comment><USER2> Joke aside, I do.

<comment><AUTHOR> You might be up for a surprise.</comment></comment></comment></comment></comment></comment>


Is it illegal to lie on your resume? - <AUTHOR> I am not talking about stretching the truth or padding your time spent at a company. I am talking about stating you work at places you never worked at. I know people have been fired and had legal actions taken against them for stating they had a PHD from some where. Could someone do jail time if they put they worked at google for 3 years when they were never employed there? <comment><USER2> If you apply for a job and lie about what you put there, the business can sue you for civil and criminal reasons. It is called resume or application fraud. So padding and stretching the truth of what you have actually done can get you twisted up legally if the company feels like pressing charges. The business can also sue you for all the time the different employees put into interviewing and training you, back pay (you pay them back what they paid you) their side of the taxes and benefits they paid on your behalf and many more things).

Also note, if you put a university on your resume that you never attended or graduated from that university could sue you for fraud if or when they found out about it.

It would be even more severe if this was for a government contractor or agency, as you sign legal documents saying everything listed is truthful. Depending on the job they will actually send an investigator out to everyone and every job you listed and you could get caught up legally before you even start your first day of work.

There is no reason to lie on your resume, would you like for your employer to lie to you in the job application? My advice is to always be truthful on your resume as once you start lying you may find yourself in a job where the lying can only get you so far and you end up in a position above your capabilities and your friends, family and coworkers will find out about it and you would eventually be publicly reprimanded or even blacklisted from your industry.

<comment><USER3> First, I am not a lawyer and what I am about to state is in no way legal advice. Second, I generally agree with your statements.

With that being said, a few comments. In the United States the legalities of this would fall under fraud. The legal basis for the criminality of fraud differs from state to state and depends on how you commit the fraud. It isn't safe to give a blanket statement that lying on a resume is illegal or fraudulent. Additionally, the penalties are based on a number of factors. My opinion, and only my opinion, is that at best an employer would only be able to civilly sue you for the damages of your fraudulent behavior. Additionally, legally, they have a burden to complete due diligence on applicants just as they do with many other things.

This is mostly theoretical as a quick search of Lexus Nexus does not bring up many employment related fraud cases at all. The exception seems to be when credentials are fraudulently represented (for example, a PHD that does not exist). However, I could not find one case that went criminal even in the instance of fraudulent credentials, nor could I find a case that wasn't settled before a trial.

</comment></comment><comment><USER4> From FindLaw Blog -

All states have criminal statutes against fraud, and some states, like Washington, have statutes that make using a fake degree a felony. And if you're faking documents as part of your resume lies, you could also be charged with forgery. - > [http://blogs.findlaw.com/law_and_life/2015/10/can-you-get- ar...](http://blogs.findlaw.com/law_and_life/2015/10/can-you-get-arrested-for- lying-on-your-resume.html#sthash.lZCjaci1.dpuf)

</comment><comment><USER5> Depending on location, but it'll probably get you fired everywhere. Also, you'd be surprised how small the world can be once you're "tainted".

<comment><USER6> +1 on the industry being small.

I knew one of my ex coworkers padded his resume with 5 years of experience he didn't have. Two years later I'm working at Google and I'd blackball him without hesitation.

You might not get thrown in jail, but honest people never forget scummy behavior.

</comment></comment><comment><USER7> I just don't understand why people would want to get a job they pretend to be qualified for in the resume just to get a hell trying to compensate for the lacks of skil/knowledge. Money is not worth it. Having a stable life is much better than trying to live based on a lie.

</comment><comment><USER8> You need to state what jurisdiction you are asking about for your question to be meaningful.

</comment><comment><USER9> Varies state to state for criminal charges: [http://www.shakelaw.com/blog/lying-on-your- resume/](http://www.shakelaw.com/blog/lying-on-your-resume/)

<comment><AUTHOR> Thanks for the link, but all it told me was lying about education can lead to legal action. Lying about anything else would give them just cause to fire me on the spot or take away my ability to take them to court for mistreatment.

</comment></comment><comment><USER10> The right way to do the PhD thing is to get a PhD from one of those mail order places and hope your boss doesn't realize that's what it is.

<comment><AUTHOR> Yeah I have heard Harvard of Jamaica University has a impressive CS program

<comment><USER11> From the link someone else posted above:

 _Under the Texas Penal Code, for example, it is illegal to use, or even to just claim to hold, a postsecondary degree you know to be fraudulent, substandard, or fictitious in order to obtain employment. This makes it illegal to either falsely claim you received a degree from an actual, accredited university, or to list a degree from a "diploma mill" (an unaccredited institution that offers "degrees" for a flat fee in a short amount of time with little to no coursework)._

<comment><USER3> IANAL but I do love studying law. I love laws like this! Because they are up for so much interpretation. The law itself states just "substandard" degrees. The legal question then becomes what is "substandard"? The link that talks about this law attempts to interpret substandard for us but as far as I can find, no case law has actually defined substandard because no one has ever allowed a judge to make a ruling on a case based on a supposedly substandard degree. These, we don't actually know whether getting a degree from somewhere like Harvard Of Jamaica University would be fraudulent.

Of course, you'd still be fired most likely.

<comment><USER11> Law is interesting. I have had a couple of (environmental) law classes. The thing is that I don't personally want to be the test case for something like this. I mean, we all need a hobby and all that, but being dragged into court doesn't sound like a ton of fun to me.</comment></comment></comment></comment></comment>


Ask HN - CO2 emissions and cloud computing - <AUTHOR> Who is responsible for the CO2 generated by cloud infrastructure? The company which is consuming it or the cloud infrastructure provider like Amazon or Rackspace.<p>And who will be taxed for those emissions? <comment><USER2> Given that datacenters are powered by electricity, the amount of CO2 would depend on how the electricity was produced. Since the utility company providing the electricity is responsible for how it is produced any CO2 taxes should be paid by them.

<comment><AUTHOR> What if they are not liable to pay CO2 taxes?

<comment><USER2> Levying taxes on emissions any other way would be a nightmare to implement fairly, be very inefficient, and would be ripe for abuse and fraud. The whole carbon credit system is about the dumbest thing I've ever seen.

</comment></comment></comment><comment><USER3> In any sane system, the CO2 emitter would be taxed --- the electricity generation company. This would be the same as the cloud provider if they generated their own electricity and that caused CO2 emissions.

Do you have any specific CO2 tax regime in mind? EU? US?

If you mean who is responsible in a moral sense, all three are responsible to some degree, as are the consuming company's customers.

<comment><AUTHOR> Let us assume that the provider's data center is in country like Saudi Arabia, where there is no carbon tax and the provider does not include the carbon offset charges in the invoice.

Would it make sense for an enterprise (EU/US) to have its entire IT infra hosted by such cloud provider and save some carbon tax?

</comment></comment><comment><USER4> Interesting question. I think it should be the company that use it, but Amazon can collect those taxes with its fees and pass them on, like with sales tax.

<comment><AUTHOR> What if Amazon is not accounting the emissions while billing them?</comment></comment>


North Carolina Bans Use of Latest Science on Rising Sea Level - <AUTHOR> http://abcnews.go.com/US/north-carolina-bans-latest-science-rising-sea-level/story?id=16913782 <comment><USER2> "And yet it moves..." [http://en.m.wikipedia.org/wiki/And_yet_it_moves](http://en.m.wikipedia.org/wiki/And_yet_it_moves)

</comment><comment><USER3> _" Tom Thompson, president of NC-20, a coastal development group and a key supporter of the law, said the science used to make the 39-inch prediction was flawed, and added that the resources commission failed to consider the economic consequences of preparing the coast for a one-meter rise in sea level"_

I wonder what might be the economic consequences of ignoring the possibility.

I would love for him to be right and for there to be no major rise and for the coastal development business to be secure, but I personally wouldn't bet on it.

</comment><comment><USER4> But it is rising anyway.</comment>


Ask HN: How to not feel bad/guilty about quitting the current job for a break? - <AUTHOR> Using a throwaway account for obvious reasons. I am a 28 year old developer working in New York at one of the big tech companies for the last several years. Lately I am finding myself burnt out and in poor health both physically and mentally and all around miserable. I have lost joy in a lot of things in life including the work. I recognized work being a key thing contributing to this and made the decision to quit my job, take 2-3 months off just mentally recovering and improving my physical health and then finding a new job at another company- likely a startup instead of another megacorp.
I have enough money saved up that I could afford to not do anything for many years and live off my savings if I wanted. I am single with no house, no kids or responsibilities and a simple lifestyle, the most expensive thing I own is my $2500 desktop.
However as I get closer to handing in my resignation the more self-doubt is creeping in. The thing is this job pays incredibly well and I feel guilty quitting it to take an extended break without having anything lined up. Another thing is that I have been working basically non-stop since I was 16-17 so the idea of taking 2-3 months off for myself is also making me feel bad and guilty. Moreover I see people who are much worse off then me who continue to grind and that makes me feel even more guilty for doing this.
I imagine there are many here who might have been in similar situations and can share their story and offer advice. I would love to hear your thoughts on this What should I do and how do I stop feeling like shit for considering this? <comment><USER2> You need a 1 to 2 week vacation.

Sounds like you have a great job, those are tough to find.

Take 1 week or 2 off, unplug and see how you feel after that.

You can probably recharge quite a bit in 1 week or 2. Vs. worrying about what you're doing next.

If that doesn't work, see if you could take 1 month off paid or unpaid and travel.

It might be a good idea to see a life coach or therapist too just to explore what you're feeling.

Good luck.

<comment><USER3> This is the best advice. Take baby steps. From my perspectiv, 1 week is too short a time to fully assimilate the difference. See how you feel after 2 weeks of total disconnect from the job. Are you feeling relaxed and unwinded? Then the job is the stressor. Else, the source is somewhere else, though the job might also be a contributing factor.

How do you feel after joining again? Do you feel energetic/normal and interested in tackling office work? Then all you need to do is take care not to work 80 hour weeks and take an occasional long vacation.

Back from vacation, do you start dreading going to office more? Then the office is the problem and it is deep rooted. There is the justification you need, right there. Run away as fast as you can, protect yourself . You totally deserve that.

<comment><USER4> And if OP does end up leaving the job, _please_ don't feel guilty about taking time off when you see others around you working harder but worse off than you.

Unless you were actually managing them you are not responsible for their happiness. Get yourself back on track before worrying about others (it's cliché but think of the oxygen mask metaphor).

</comment></comment></comment><comment><USER5> Ask for a three month Sabbatical. If you've been working for a company for some time and have done well there, you might be surprised how eager they are for you not to leave outright. The reason for the Sabbatical? Have a couple of ideas in your head if you feel the need to explain yourself, but don't say burnout:

Trip around the world, meditation retreat, extra-tech study, family reasons, whatever.

And of course, have your mind made up in case the answer is no. Make it clear that you've decided to take the time off regardless, but would really like to return to work for them in three months.

I've done this very thing myself. 2-3 months off, going part-time, etc. The cost of losing your experience and abilities down the road usually out-weighs any short term difficulties it presents to the company.

</comment><comment><USER6> I quit my job at a startup after a little over a year because I was burned out. I took off a little over a year before getting another job. In the time off, I worked on some of my own projects, I played music, I hung out with friends, went on walks, spent time with family.

> _The thing is this job pays incredibly well_

So? What does that actually _do_ for you if you're unhappy? You're getting paid in money, and money translates into wealth, i.e. things that you want. But only if you spend it. What are you even bothering earning all that money for, if you're going to spend your life being miserable? You have no house, no kids, no responsibilities, a simple lifestyle — do you want to spend this time in your life in a job that is burning you out and making you miserable?

edit: As for not feeling like shit about quitting — I don't know what will work for you (I didn't have this problem when I quit; I didn't feel a moment's regret), but you might for example set yourself some amount of time (2 months? whatever) during which you are explicitly permitted to be self-indulgent and relax, and after which you tell yourself you will sit down and plan for what comes next, whether that's looking for work or donating to charity or starting some project or helping others or whatever.

</comment><comment><USER7> > Moreover I see people who are much worse off then me who continue to grind > and that makes me feel even more guilty for doing this.

Unless you want to be a saint and donate all your money to charity then there will always be people less fortunate than you. Though perhaps donating some money to charity will make you feel better about it? And of course be a good thing to do. But to ruin your mental and physical health by working yourself silly just because there are others who have to go through the daily grind in worse conditions would be a real shame.

Some people spend their money on fancy cars or big houses, you spend your money on 2-3 months off, think of it that way.

Also, perhaps you should look into freelancing sites like toptal? I don't have experience using them myself but from what I hear if you are good enough to pass the interviews then they have a wide range of work available and you can choose how many hours per week you want to work. Apparently the pay is not as good as you would get in New York but it might be enough to live on if you have a simple life. Perhaps consider working 20-30 hours a week after your break so you don't have to feel guilty about using up all your savings?

<comment><USER7> Another point I would add is - choose your next job (after the break) wisely. Just like working for large corporations, startups have their own set of downsides. I wouldn't say they have fewer downsides - just different ones. You can find good places to work that are startups and good places that are megacorps.

</comment></comment><comment><USER8> I didn't even hate my job and I quit to take 2 months to travel. Giving myself some time off to experience new places, meet new people, and work on projects I wanted to was the best thing I've ever done. I'm much like you where I worry about always being better for tomorrow, but that means you don't live today. Or if you are, it's not to your full potential.

Even when I was abroad, I would still put in a 4 hour day, dedicated to whatever project I felt like working on. What you don't realize is how much work occupies not only your physical time, but your mental time. I had 8 full hours that I never had to think about things I wanted to do. In the end, it re-ignited my passion for code and gave me a new perspective on how I want to work the rest of my life.

</comment><comment><USER9> Sounds like you'll be more effective and productive if you take off enough time that you get bored and bored for a few weeks until you're hungry enough to dive back into work.

For me that's about 3-4 months. I get sad and angry and bored and need need need to work with a group of skilled people again. I've heard from others that it takes about a season, no less than 8 weeks, no more than 6 months (except for people that are fine working alone).

Since you have enough money to retire this should be easy. Don't worry about this particular job. Worry about doing well in your career. If you're good head hunters will contact you.

</comment><comment><USER10> Roughly how much did you save up? I just turned 27 and am also in NYC. Have 85k cash. Just wondering.

But yeah, I would ease into it like the others said. If you have a well-paying job that you kind of like, that's not a bad thing. Me myself, I've taken long travel breaks before so I know what I'd be getting into (with tweaks from maturing).

Take a 2 week vacation and disconnect. If you like it, then ask for a 2 month sabbatical. If they say no, then just quit and go for a 3 month slow travel trip around Europe or SA. Hit some meditation retreat and a music festival.

<comment><AUTHOR> I have saved up ~$220k in 5 years. My rent situation is pretty good as I only pay $1500 a month and I had minimal student loans when I graduated so that put me ahead(state school with part time jobs and internships). I also have a good amount of vested stock options that I can sell if need be (I got lucky that the company I work for has had their stock appreciated significantly).

</comment></comment><comment><USER11> If you like your job and it pays well, why leave it. Your problem is not job, your problem is that you haven't taken any vacations. Just take a month off and plan a vacation. Or just stay home and work in your health.

I used to pool my vacation and take entire month of December off and just relax. I used to work out in the gym almost every day, wake up late, take naps, watch movies. Other times, go travel to far away places etc.

If you come back and have forgotten passwords, then you have used up the time well.

</comment><comment><USER12> Unlike these jobs, your youth and health won't always be there. Figure out what you would regret least and do that. I just resigned from my job, with only 10k in savings, to pursue something that I find extremely compelling.

</comment><comment><USER13> You're feeling what you're feeling because you're trying to treat your mental health issues yourself, and your mental health issues are interfering with your attempt at treatment.

Instead of trying to self-treat, you really should go see a mental health professional; that's what they're there for. Your work very likely will cover it; if not, well, this is why you have savings. Once a professional has helped you deal with your unhealthy attitudes towards work and what could very possibly be depression, then you can determine the best way to move forward with your life.</comment>


How to setup your own WKD server - <AUTHOR> https://shibumi.dev/posts/how-to-setup-your-own-wkd-server/ <comment><USER2> Why would you ever do this? Public ledgers of long-lived identity keys are an anti-pattern. They beg people to retain a single key, across all their devices, whose compromise is catastrophic.

<comment><USER3> Forgive my curiosity, but what is a better solution?

It seems like the alternative is delegating control of your identity to a central authority, which greatly increases the risk of compromise of many users all at once.

Perhaps there's a third option I'm not considering.

<comment><USER4> There are more options, including using the domain name system, preferably using DNSSEC to securely sign the DNS resource records: [https://slxh.nl/blog/2016/pgp-and-dns/](https://slxh.nl/blog/2016/pgp-and- dns/)

<comment><USER2> PGP and DNS. A secure messaging system tied to a PKI controlled by world governments. What could possibly go wrong?

<comment><USER4> From [https://easydns.com/blog/2015/08/06/for- dnssec/](https://easydns.com/blog/2015/08/06/for-dnssec/)

 _The "government controlled PKI" criticism ignores the fact that traditional TLDs are a government controlled naming system. This is much worse than a government controlled PKI…_

 _The only way to escape governmental control is to use overlay networks, like Tor, and non-traditional TLDs, such as .bit and .p2p. But even if you choose a domain with a TLD that isn't controlled by a government, you still need DNSSEC to securely delegate to a nameserver and to communicate application level cryptographic information._

<comment><USER2> That is an argument - a bad, wrong one - in favor of DNSSEC over the WebPKI CA system. But PGP doesn't use the WebPKI either. DNSSEC makes even less sense here. No reasonable person would ever use DNSSEC to protect end-user PGP keys; that design would be incompetent on its face.

<comment><USER4> _No reasonable person would ever use DNSSEC to protect end-user PGP keys; that design would be incompetent on its face._

Don't get it twisted.

Nobody suggested protecting end-user PGP keys with DNSSEC.

Because DNSSEC ensures the integrity of DNS records, a user that publishes their public key in the DNS using a CERT or PKA record (both defined in RFC 4398) or uses an OPENPGPKEY record as defined in RFC 7929, can be sure anyone who uses a DNSSEC-aware resolver (Google's 188.8.131.52, Cloudflare's 188.8.131.52, Quad9's 126.96.36.199) can confirm the integrity of these records.

Exporting public keys to be published in the DNS has been supported by GnuPG for at least 10 years.

Without DNSSEC, there's no way to ensure the DNS records haven't been tampered with. That seems particularly important for public keys.

RFC 4398: [https://www.rfc-editor.org/info/rfc4398](https://www.rfc- editor.org/info/rfc4398)

RFC 7929: [https://www.rfc-editor.org/info/rfc7929](https://www.rfc- editor.org/info/rfc7929)

<comment><USER2> You just said the same thing you said previously with more words and a bunch of RFC cites. If you store your PGP key in the DNS, then the entities that control the DNS can control your key. That they are "public keys" is immaterial; the point of a public key stored in a public ledger is that other people can rely on that key to safely send you a message, which they clearly cannot do with a key stored in the DNS.

Even if you believed DNSSEC is a good system --- nobody should; it's bad, and moribund --- a secure messaging system with end-user keys anchored in DNSSEC- protected records would be an incompetent design, on its face, simply due to the basic core architecture of the DNS and DNSSEC.

<comment><USER5> A different line of arguing may be helpful: not even GnuPG validates DNSSEC signatures (source: [https://dev.gnupg.org/T4618](https://dev.gnupg.org/T4618) ). That's why DNS key discovery schemes are not enabled by default there (WKD is).

<comment><USER4> It's not the job of GnuPG to validate DNSSEC signatures; that's what a DNSSEC- aware resolver like BIND, Unbound or Knot does. If you're not using such a resolver, all bets are off regarding trusting _anything_ in the DNS.

But it's certainly easy enough for GnuPG to check the DNS flags to verify the resolver has validated the DNSSEC signatures, therefore authenticating the openpgp record for its use, which is the point.

This is how DANE records work; SSH doesn't validate DNSSEC signatures either but that doesn't stop it from using SSHFP records in the DNS when they've been signed.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


83% of browser features are used by under 1% of top websites - <AUTHOR> http://www.theregister.co.uk/2016/05/24/pointless_features_add_to_browser_bloat_and_insecurity <comment><USER2> There are web sites, and there are web apps. Most websites, think news sites, Wikipedia, etc.. just deliver static content and a whole bunch of ads, as someone noted here. Web applications are the ones that need all this functionality.

Why don't we do the following for HTML6, and introduce one profile for sites, and one for apps.

\- Sites: HTML + CSS, Javascript if at all only for presentation purposes (like DHTML over a decade ago). Can be viewed with a radically stripped-down web browser. All you need is the layout engine and components for display and networking. No WebGL, no sound API, and no shenanigans like ambient light sensors or vibration (wtf!). Think of Google's AMP.

\- Apps: The whole package that is offered nowadays. We can even go past this and rethink the division between web and native apps. Why can't a web app use sockets? Why can't a native app use the HTML layout engine or live in a tab? Google is planning to blur the gap between web and native with their new "instant apps".

<comment><USER3> This just keeps coming up on HN time and again; [1] [2] [3]

Whichever side you're on, browser vs. native, the sheer frequency of this discussion proves that _at least_ a clear distinction IS needed. Continuing the status quo of web/browser/standards bloat cannot be good.

Somebody really needs to set down some global rules of thumb. I think that when your webpage starts needing sidebars and subwindows and popups and notifications (yes, looking at you, Facebook) then at that point it should just be a native app.

Let the web and its browsers focus on "sites" and "pages" and let the OS do "apps." After that it's up to the operating systems to make discovering and accessing apps as easy as typing in a website's address.

As a user, I want to sign in just once on each of my devices (iCloud/Apple ID lets me do that), and just type in an app's name (say Cmd+Space and "facebook") and then start using it right away as the OS begins downloading it incrementally, just as a browser does a website, except with full access to the OS's features, efficient use of my hardware and battery, and instant access to all my data without a separate login.

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

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

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

</comment></comment><comment><USER4> Kind of a silly article. Most top websites just serve static content with tons of ad-network crap, they would never need 83% of the features. This is like saying "the most sold vehicles in the world don't use 90% of the horsepower they have". No shit, the most sold vehicles in the world are Corollas and Civics, ie. "sit in traffic and commute" type cars.

It doesn't cost anything to keep these features around, why kill them off? Code is cheap, it doesn't cost you, the user, anything to have the features in your browser...

<comment><USER5> It does cost you something if that code has security holes.

<comment><USER4> That's a big if. Anything could have security holes, seems pedantic to kill a feature because it _might_ have a security hole at _some point_.

<comment><USER6> > That's a big if.

Reminder that we've been issuing so many CVEs last year we had to upgrade the numbering spec to allow for more than ten thousand a year.

</comment></comment></comment></comment><comment><USER7> This is something I've noticed a lot when developing Servo. The vast majority of the time, when a site is broken in Servo, it's due to some CSS 2.1 bug or another (CSS2 has existed since 1998), or a broken DOM API that's been in the platform for years and years. Attention is disproportionately focused on the new stuff when the reality is that old standards still rule.

I wouldn't necessarily agree that the conclusion is to just rip stuff out of the Web platform, though (although there is plenty of stuff I'd love to drop). Rather, we need to implement the features in a secure way. This isn't rocket science. Notice, as usual, that the majority of these security issues are straightforward memory safety issues† in C++: e.g. [https://cve.mitre.org/cgi- bin/cvekey.cgi?keyword=firefox+svg](https://cve.mitre.org/cgi- bin/cvekey.cgi?keyword=firefox+svg)

† Food for thought for those claiming that "modern C++" solves these problems.

</comment><comment><USER8> How many sites are on the internet again?

Around a billion.

1% would mean 10 million websites are using each possible feature. Okay, it's not quite that even, and a lot of popular sites (like many news sites) stick to the most basic features, but all these browser features are there for the other various cases. Like aforementioned web apps. Various tech demos. Sites with very specific use cases.

In other words, it's because the internet is massive and varied.

</comment><comment><USER9> 90% of words in the English language are not used by the majority of people. Maybe we should just get rid of those words?

99% of the world doesn't use Calculus. Maybe we should stop teaching it in school.

Lame article.

</comment><comment><USER10> And for the websites that leverage browser features, those are the websites that stand out and shine.

It reminds me of Sturgeon's law [https://en.wikipedia.org/wiki/Sturgeon's_law](https://en.wikipedia.org/wiki/Sturgeon's_law)

If 99% of everything is crap, you can bet a sizeable wager the 1% wheat from the chaff are using HTML5 and Javascript APIs.

Also if a content silo counts as a 'top website' then this is an outlier and not to be included. Facebook is a walled garden and not indexable. Facebook is parasitical to the web. Twitter and Google are not the web either.

<comment><USER11> You mean like Hacker news? Because, I don't think this site leverages HTML 5.

The hard part of any design is knowing what features can be removed not added. HTML 5 and JavaScript is fluff for most websites.

PS: HN even uses <table id="hnmain"... o the horror.

<comment><USER10> > HTML 5 and JavaScript is fluff for most websites

Yeah but HN can be progressively enhanced and it's also one of the few exceptions to the rule.

        <table id="hnmain"..

Indeed.

Worth noting the small eco-system of HN redesigns which all leverage HTML5+JS in some way :)

All sites should be like an electric stairs: the stairs still works when the power is cut off, but to the inconvenience of the users.

</comment></comment></comment><comment><USER12> To propose removing these features instead of fixing them fundamentally misunderstands the modern purpose of the web. It's not just for document distribution anymore. It is and has been for many years an application deployment system. To get rid of these features would kill whatever chance we have of getting out of walled garden app stores.

I mean, a similar study would probably find "top 10,000 apps don't use 80% of OS features." Just because not a lot of people use a feature doesn't mean it shouldn't exist.

</comment><comment><USER13> Right. And then when those features aren't available in the browser, that's used as a justification going back to proprietary (aka native) platforms. It's a circular argument made by people determined to return to the days before we had an Open Web, for whatever reasons. If you don't want to use the features, nobody is forcing you to do so.

</comment><comment><USER14> > _ALS, "ambient light events", would let browsers respond to the light level > the laptop, phone or desktop is exposed to if anybody used it._

Can someone give me a good, non-gimmicky example of what this would be used for?

<comment><USER15> Hmm, perhaps a text-heavy site could switch between "night" and "day" modes for ease of reading

<comment><USER16> Oh god. No no no. I cannot hate this idea hard enough to overcome my fear that someday this kind of thing might actually happen! This would be the browser's job, under user control, not _ever_ the site's job. My computer, my choice, _no_ you don't get to decide that for me just because you are a web page designer.

<comment><USER17> It's difficult to pull this off with every website and keep it readable, without any hint from the site. This is why we have CSS for different screen sizes, rather than relying on mobile browsers to make all the decisions, along with an option to view the site in "desktop mode". I do agree that it would be annoying if sites made this decision for users.

But I think the more promising use for this could be enabling aesthetically pleasing color palettes that are power consumption optimized. Picture a HN that switches to darker tones of the current colors when you're on a mobile device.

<comment><USER16> I'm already constantly using "readability mode" to strip away as much of the custom styling as I can, because letting designers run riot - and building browsers that obey their wishes - has turned the web into such a mess. Tighter limits and more end-user control would be better. Different people have different preferences about their browsing experience and should be able to control that without having to rely on every last web designer to make helpful choices, because they really just don't.

<comment><USER18> My vapourware web browser is tentatively titled "fuck your web designer".

It will ignore site-provided CSS.

Interested?

<comment><USER16> Ha! I would like to give that a try.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> This seems pretty obvious to me. And at the same time, entirely not a problem.

A great example that comes to mind is the drm component that Netflix require to deliver html5 instead of that spotlight .. thing. I cannot think of any other site that has needed it - or at least, any other site I visited before it was available, that suffered for it.

And still, I consider it a requirement. That feature that I require for exactly one site.

</comment><comment><USER15> this was very interesting: "SVG, for example, has a problem however you look at it: on one hand more than 15 per cent of the sites use it, on the other hand, nearly 87 per cent of blockers block it, but it's had 14 security warnings (CVEs, Common Vulnerabilities and Exposures) in the last three years."

<comment><USER20> I am deeply suspicious of that number. I've never encountered a plugin or anything of the sort that provides for "blocking SVG", and it's fully supported in all recent browsers.

<comment><USER21> Paper author here. The blocking % referenced, and discussed in more detail in the paper, is the % of times a feature is used when someone visits the page, but ISNT used when you visit the page with AdBlock Plus and Ghostery installed.

In other words, its how often these popular blocking extensions prevent the JS APIs from firing.

Its not blocking SVG, its blocking (mostly fingerprinting) JS libraries from running SVG JS methods

<comment><USER20> Aha, thank you for the clarification. That's a lot less worrying.

</comment></comment></comment></comment><comment><USER22> Ok, this seems interesting. However, unless I am misunderstanding this, of the large table they used for the bulk of the articles content they only showed 6 features under utilized.

Obviously, we could prune the execution of some of the JS which is backwards compatible to the early 90s, and some of the html which is based on IBMs 1960s.

My super high-level first pass optimization rec for the w3c: If a feature exists for 3 years and a random sampling of 100,000 websites has usage stats of less than < 1% it is automatically deprecated. If it is >1% but less than 5%, it is automatically phased out in 2 years of the spec.

<comment><USER23> Unfortunately this would create a huge disincentive for developers to use any new features no matter how compelling. Would you learn any new features if there was a chance in 2 years all of your users would drop support for it?

<comment><USER22> That was the point. If a feature wasn't great enough to inspire 1 out of 20 developers to experiment with it, then I don't think it makes sense.

<comment><USER24> 1\. Retrocompatibility. It's impossible to assume that 99% of the users are using a modern browser with under 3 years.

2\. We are not talking about _experimentation_ , we are talking about deployment into production.

<comment><USER22> I agree with you. I was certainly t aggressive in time frame, but I still agree with the sentiment. We shouldn't have failed decade old features in a browser. As to point 1, you are correct and this is certainly true, however I wish it werent. I assume everyone on hacker news has either gone to college or is aware that a presedential term is 4 years long. Consider how much you as person changed in those 4 years, consider how much the world changed during a 4 year presedential term. China as a country sets guidance for itself, directly for its billion people, and indirectly for the rest of the world, on a rolling 5 yeat basis. I would like to challenge users (and enerprises) to upgrade their browsers over this timeframe and spend the multitude of seconds this takes them to not only increase their own well being, but the well being of developers writing the software they consume.

<comment><USER24> Consider the Jquery 3.0 that is launching now. It supports Internet Explorer 8, a browser released over 7 years ago [1]. Using jquery means, for example, you won't be using FormData for submitting forms. Heck, you won't even be using `.forEach()` on arrays.

[1] [https://en.m.wikipedia.org/wiki/Internet_Explorer_8](https://en.m.wikipedia.org/wiki/Internet_Explorer_8)

</comment></comment></comment></comment></comment></comment><comment><USER23> Can anyone recommend an updated browser that skips most unused features to run faster, use less memory or be more secure?

<comment><USER22> Brave software. This was created by Brendan Eich the x ceo of mozilla. Eich does seem to have some problems with equality[0] which may have contributed to his ouster at Mozilla, but Brave is a top shelf browser. Super great team, pretty security conscious and given the Eich developed JS, well, they have a pretty good working knowledge of it. Brian Bondy is a super awesome guy (thanks for adding duckduckgo BTW), Yan Zhu is a pretty well known dev & security blogger and they had the woman who wrote a couple encrypted chat clients working there (apologies her name escapes me) but she isn't on the site. I assume the rest of the team is talented. So in essence, I ove Brave. I still wish they would make a goddamn search engine, but it is an awesome browser.

[0] NaN === NaN returns false?. 0.0001 + 0.0002 !== 0.0003? weird.

<comment><USER25> The ultimate goal for Brave (I don't know if it's doing this yet) is to replace blocked ads with ones sold by the Brave company.

I cannot support this.

<comment><USER26> Couple of things:

1\. Brave won't "sell ads", that's not how it works. Marketers buy space for ads and spend to create the ads themselves. Websites or publishers sell space for ads, sometimes directly to brands/agencies. If ads use no tracking and host the ads' images and other assets on a non-blocked domain, no problem.

2\. Where we propose to do better is with "indirect" or programmatic ads. These are so out of control, publishers make money from them but disclaim responsibility when a piece of ransomware malvertisement places in the offered space. We aim to put tracker-free, sandboxed ads in these spaces and share revenue (equal shares to the user and to Brave: 15%) with the bulk of the revenue (55% direct, 70% in total per the default settings) to the website.

We're thus working to align incentives in the system that currently work against the user's interest.

We also support pure ad/tracker blocking, if you prefer.

On top of either mode, we're buildling an anonymous system for micropayments as well as aggregated ad metrics, so no one can re-identify a Brave user from a revenue stream.

Of course, we're not yet doing anything more than blocking all third party / indirect ads and trackers. To get better user-aligned revenue models in place, we'll need to scale up and win over some top publishers for trial/testing purposes.

So if you want the fastest (native code wins in perf and mem use) browser that blocks ads by default, I hope you will give Brave a try.

<comment><USER27> Honest question: If Brave doesn't sell ads, where do the sandboxed ads come from that are under #2? Presumably your software is stripping out the bad stuff and putting in _something_ , which marketers have agreed to pay you for. Or how is it determined what goes there?

<comment><USER26> Short answer: we hope to sell blocked ad spaces on behalf of our users, but only a few per page, and always with par-with-Brave revenue share to our users.

Longer answer: we would be selling anonymous ad spaces based on matching tags (like standardized keywords) on-device/in-browser against a set of tags for ad deals whose buyers sign up to pay us only when those ads perform (have anonymously confirmed viewable impressions).

The tag matching is private -- no cookie or other identifier comes out of the device/browser, no tags out either.

The (few, three or four) tags for each ad space come from local inference, weak AI, running on-device. The goal of this AI is to work for you on your device, studying your data, to pick the best small set of tags for the ad space. Only a few, even just one, spaces per page might be filled. The ad serving is async as well as sandboxed, so it doesn't delay page load.

This private and device-local inference uses the sum of your browser state, which is a superset of what remote trackers see via cookies and fingerprinting. Think of tab opener relationships, absolute viewability/visibility, evolution from search and social interactions to browsing sites to buying. As with browser history, you can clear the summaries inferred from your data.

We are building cross-device, client-private-key-encrypted sync (as other browsers offer, although not always client-encrypted). To handle inevitable key loss, as with user multisig wallets, we will rely on a separate Key Recovery Service. So we won't have keys for your data or the results of inferences made from it. But you will have the benefit of inference studying all your browsing on all your devices, as they sync and the inference runs incrementally.

If we pull all of this off, we'll have built a private data platform where our users own their own data cross-device, along with valuable results from analyzing their data on their devices. Kind of an upside-down, individuated, private Google.

You're seeing movement toward "segment of one" marketing tech (companies who track you as an individual, across apps and even offline credit card purchases). These trackers may run afoul of regulators, as they zero in on PII.

We think Brave's way of defending your data on device is better: more precise and of course more private. Clustering among users and sync'ing with non- browser data can come later, and via ZKP protocols like the one we're using for the Brave Ledger (see [https://brave.com/blogpost_3.html](https://brave.com/blogpost_3.html)).

We also see IoT (home, car, internal/wearable computing) as a field in need of our "anti-cloud" approach. Of course backup is important, and some transacting with cloud services wins, but giving all your data away from the start puts you at a permanent disadvantage. It also accrues rising privacy and security risks.

Users won't get paid fairly for their attention and time (never mind their location and health data!) until they defend all such data from trackers. We're building a system for doing this, using a browser as first line of defense. (There will be other lines of defense.) Anonymous ads are just one way to get users their fair share.

Our principle of users getting their fair share means we take the same ad revenue cut as our users get, and pass the bulk on to the publisher or website (or account, if YouTube or the like). We'll follow this principle for other possible revenue including from search, if we can work that out.

Your data, on your devices, with a fair share to you, are key points of the brand value we hope to build.

<comment><USER28> @Brave has no future in a sense of gathering people just because they hate ads, ads market is very noisy world. This market will find answers to any questions no matter someone's software is blocking ads or not. Because majority of Internet's users aren't much hate those clunky "click-on-me" links at all. Ignorance is a blessing.

<comment><USER29> If you can give those users faster performance and lower data usage and opportunities to cash in on the value of their eyeballs, where/when they are willing, it doesn't seem like you even have to 'hate' them, you just have to prefer something with more positive features.

Honestly, I think Brave is good for everyone - including advertisers. There are interesting new patterns to develop here, I'd bet. With every change in tech comes new possibilities, Brave is opening the door to a lot of potentially new ideas/strategies here IMO.</comment></comment></comment></comment></comment></comment></comment></comment>


Harvard's dirty secrets on display - <AUTHOR> https://www-m.cnn.com/2018/10/20/politics/harvard-admissions-affirmative-action-trial-money/index.html <comment><USER2> Two threads from the past week:

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

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

</comment><comment><USER3> Preference for children of donors and legacies are such blatantly racist admission policies, it's shocking that they're even legal. The fact that this lawsuit is targeting affirmative action rather than those policies is incredibly telling.

<comment><USER4> It is a private organization. Feel free to argue that the policy is flawed or that the government shouldn't route tax dollars to Harvard or discourage people from affiliating themselves with Harvard, but legal constraints on admission would be an overreach that run into 1st Amendment constraints on freedom of association.

<comment><USER5> I'm pretty sure if a privately owned bar refused to allow Asian-Americans or any other person based on their appearance in the public would rightly have an issue.

Why should Harvard, or any other organisation play by different rules?

<comment><USER6> > if a privately owned bar refused to allow (...) based on their appearance

You've described how bars operate on a regular basis. Some establishments even employ staff dedicated to control who gets in based on their appearance.

</comment></comment></comment></comment><comment><USER7> I'm surprised they don't get all the admissions data and do some data mining with machine learning to figure out admissions trends. That would be the easiest way to prove whether or not there is any real bias.

To me the most suspicious thing is that the demographics of different races remain just about the same year after year after year. That reeks of manipulation, just like how Madoff's returns were almost always perfectly similar year after year.

</comment><comment><USER8> These clickbait titles really dilute any substance that these articles might have.

<comment><USER9> They're a reflection of the financial state of journalism in the digital age.</comment></comment>


Craigslist Valuation: $80 Million in 2008 Revenue, Worth $5 Billion - <AUTHOR> http://www.alleyinsider.com/2008/4/craigslist_valuation_80_million_in_2008_revenue_worth_5_billion

<comment><USER2> I'm genuinely confused about valuations. Craigslist is making $80 million in revenues, and of course less in profits. Say someone buys the company/organization for $5 billion. Won't it take a good many years to recover the price paid via the site's profits? In general, when companies acquire other companies, they should want to make back their purchase cost quickly and hopefully make a lot more in the near future right? Even if the acquirer thinks they can hack the business model, add more advertisements, or charge for more things, isn't it a huge gamble to pay so much over the _current_ profits? I'm missing something but don't know what.

<comment><USER3> The current $80m in revenue is an extremely misleading figure to base a valuation upon. Craigslist exploit the absolute minimum of their assets and any company taking control could make considerably more with little additional expense without even considering the potential of international expansion or using its ability to expand other brands or services.

While I think the article is more than a hyperbolic with its projected revenues and valuation, I certainly think a valuation of a few billion would be fair, especially when you consider Skype was bought for €1.9b, YouTube was bought for $1.65b and Bebo was bought for $850m.

</comment></comment><comment><USER4> "Craigslist's content is not at all bandwidth intensive--all light text, no computation or transactive processing like eBay or Google--so this should keep its costs well below those of other huge global sites. Let's call it $50 million a year. (This is probably high--grateful for any help in refining)."

What is he smoking? Sure they have a lot of page views, but man, you can do a lot for $50 million a year. Craigslist's site is as bare as it could be. All static html, that is probably just generated using whatever scripting language it wants. I'm there is some engineering challenges and that they go through a good bit of bandwidth, but i mean, I feel like this guy is off by like an order of magnitude. Now, I don't know squat about serious big iron servers and doing stuff that large, but its definitely not $50million to run it. A guy in the site's comments puts the yearly cost at $1 million and he even over- estimates a bit in my book.

Also, all these analysts always speculate about how much money craigslist could make if they charged for _all_ job postings and ads. As soon as they started charging for anything more than what they do they would probably get an order of magnitude less postings. Then they would just another monster.com/careerbuilder.com/etc crappy clone. Whats great now is that people can post whatever they want for free, with the few exceptions that help pay for it all (and still probably make Craig rich). The author obviously didn't study engineering or physics because his back-of-the-envelope calculations suck.

</comment><comment><AUTHOR> My favourite part about this article is in the comments, where someone estimates CL's hosting costs about about $1 million a year for over 100 billion page views. But you can do that on a page load average of 6 kb. I used to work at a company whose nav images were each 50 kb.

Text-only = everyone's best interest!

</comment><comment><USER5> I had a sense of Deja Vu reading this. Old "analysis". [http://www.startupboy.com/journal/2006/2/6/craigslist-is- wor...](http://www.startupboy.com/journal/2006/2/6/craigslist-is-worth-more- than-ebay.html)

</comment><comment><USER5> Everything is for sale on Craigslist, and Craigslist itself is not for sale (imagine sponsored ads on the main CL page - it's antithetical to CL)

</comment><comment><USER6> This is Henry Blodget talking here, folks. Keep that in mind as you read his analysis.

Also, his definition of startup is a bit off -- Craigslist shouldn't be included in this group.

<comment><USER7> Why? Is he using an alternative currency system? Does he do math in base 8? Is there some other flaw in _reasoning_ that makes this argument not worth listening to?

<comment><USER6> His argument is based on guesses and assumptions, including:

\- Uncertain data: "We've struggled to get formal business metrics for Craigslist"

\- Assumptions -- count how many times he says "let's assume"

\- Doesn't acknowledge potential competition

\- Doesn't note that Newmark has repeatedly ruled out selling Craigslist

You don't think these are problematic?

<comment><USER7> Thank you! These are all problems I noticed, too. Interestingly enough, when I went into 'view source' and changed the byline to 'ilamont', _the problems were still there_. Almost as if they had nothing to do with the author.

In fact, the whole article is pretty specious. 'Value', as ex-analyst Blodget surely knows, can refer to either the price someone else will pay for an asset, or the present value of the future cash flows generated by that asset. The first one doesn't make sense because Newmark says he won't sell; the second invalidates all of the assumptions in the article because Newmark appears determine to run it the way he likes it. By that standard, CL is probably worth something like $250 million.

</comment></comment></comment></comment><comment><USER8> strange world on how facebook is worth 3 times more than CL?</comment>


Code of Merit, an Alternative Solution to a Code of Conduct - <AUTHOR> http://code-of-merit.org/ <comment><USER2> I only see a blank page. It seems i get a 403 Forbidden for the request to [https://api.github.com/repos/rosarior/Code-of- Merit/contents...](https://api.github.com/repos/rosarior/Code-of- Merit/contents/CODE_OF_MERIT.md)

<comment><AUTHOR> I think the Github pages here are only being served on HTTP and not HTTPS ( older repo ) and I'm guessing it's your browser security setting.

You can view the document here: [https://github.com/rosarior/Code-of- Merit/blob/master/CODE_O...](https://github.com/rosarior/Code-of- Merit/blob/master/CODE_OF_MERIT.md)

Edit: A new issue has been opened at [https://github.com/rosarior/Code-of- Merit/issues/28](https://github.com/rosarior/Code-of-Merit/issues/28) to resolve this HTTP issue. Thank you the heads up.

</comment></comment><comment><USER3> I don't get why this would be an alternative - those two can and should supplement eachother.</comment>


Final update on the JetBrains Toolbox announcement - <AUTHOR> http://blog.jetbrains.com/blog/2015/09/18/final-update-on-the-jetbrains-toolbox-announcement/ <comment><USER3> From TFA

"You will receive a perpetual fallback license once you pay for a year up front or 12 consecutive months."

This is good news - they've listened to their customers and alleviated the key concern - losing access.

<comment><USER4> But only for the version that was at the start of that 12 month period. You have to roll back if there were newer releases in that time.

<comment><USER3> Yeah, I didn't realise that at the time. Makes it a bit shittier, feels graceless and petty.

</comment></comment></comment><comment><USER5> Like others, my only issue is that if you pay for 12 months and then decide not to continue that you should get a perpetual license for the latest version your subscription allowed you, not the first version. Maybe that was the intent but it doesn't read that way.

Otherwise I am good with the rest of it at this point.

<comment><USER6> I think it's a good compromise. It's like if you were to buy the product (full price or 12 payments plan) then you get the product that was released on the day you bought it. I assume the "version" they're talking about is major releases, so you'd still be getting patches for that version.

<comment><USER5> I see your point, but I think mine is that traditionally if you buy a software license it comes with 12 months (or some time) of updates (minor ver) and upgrades (major ver). I personally don't have any issue with the subscription, its just that if I decide to stop renewing, I should get a perpetual license to the latest version my subscription allowed me access to, not a prior version that I am not even likely using at that point.

This truly may be jetbrains intent, but it isn't worded that way as I read it.

</comment></comment></comment><comment><AUTHOR> This seems like a decent compromise, though I'd have preferred it if the version available on the fallback perpetual license was the one that was available on the last day of the subscription rather than the first - <USER2> now (if I'm understanding correctly), the model forces you onto a fixed old version of the software if you stop payment. I guess it's better than not having access to the IDE at all though.

Also, this might simply be a coincidence - but it is Friday afternoon. I know I've read some PR-related articles advising the release of bad news on a Friday..

<comment><USER7> The previous announcement was also a Friday afternoon.

</comment></comment><comment><USER8> This is a much better announcement, both from a perspective of the improvements provided and how it was messaged. The first one made it sound like the whole point of this was to be easier for the consumer. Obviously, the consumers didn't take to it, given that it switches things up significantly for people who are happy with the current system. With this latest post, they're a lot more upfront with the fact that this decision is driven by better alignment with the economics of their business. That's not the pill many people want to swallow, but at least it's honest and logical.

</comment><comment><USER9> Now I'm ok with this, all they needed to add was the perpetual fallback.

</comment><comment><USER10> The previous announcement about turning into a subscription based IDE pushed me into trying Netbeans again.

Netbeans is suprisingly close in features to IDEA and better in some places (in my experience XML handling and performance). This new announcement is probably not enough to get me to switch back despite some Netbeans annoyances.

</comment><comment><USER11> I am happy with this. The fallback to the version as of starting date is fine.

If I am not using open source software then a subscription seems right in order to get updates as they are ready, not for new release marketing considerations.

<comment><USER11> Edit: Jet brains played a dangerous game with the previous announcement. I beefed up my emacs setup, experimented with Atom, and liked the free versions of PyCharm and IntelliJ.

The two years for the price of one got me back.

</comment></comment><comment><USER12> As one of the people who was pretty frustrated with the original plan, I can live with this. Thanks for listening and incorporating our feedback.</comment>


Ask HN: Gravatar to go - <AUTHOR>

I have this itch to start a side project to start selling t-shirts with your gravatar icon.
I need feedback on what you all think about it. Idea is a user can come to the site, enter the string such as email, name, etc. to get the gravatar icon, then choose size and color of the t-shirt and finally place an order.
What do you think? <comment><USER2> Do it....people are proud of their gravatars and put work into making them look nice...might as well have it on a tshirt.

<comment><AUTHOR> Cool! I was looking for more feedback but one is better nothing :)</comment></comment>


How Apple Will Use The iPhone To Take Over The Wireless Industry (by making the network provider irrelevant) - <AUTHOR> http://publishing2.com/2007/06/30/how-apple-will-use-the-iphone-to-take-over-the-wireless-industry/ <comment><USER2> I can't wait to see what they do to the hardware industry. I have had my iPhone for a day and already my macbook pro feels like an arcane instrument. I am so used to touching the screen that a trackpad feels distant and uncontrolled. I really think that what apple did is as big a ui leap as the the mouse. I don't think that multi-touch will stop at handhelds.

Here's to hoping they change the cell industry too!

(posted from an iPhone)

</comment><comment><USER3> A friend whose opinion I respect says that the iPhone is the real deal-- that it's so good that it will shift the balance of power in favor of device manufacturers, and reduce the carriers to a commodity.

</comment><comment><USER4> Writing this now from my iPhone. The Edge really isn't bad, and the WiFi is great. It really is a nice Internet platform.

<comment><USER5> Which makes me think that there will be no "last great battle" for the PC. Just sync your iPhone with every piece of data in the universe by plugging it into some to-be-determined shaped hole in your wall.

<comment><USER6> The hole will be shaped something like this:

<http://www.johnlewis.com/jl_assets/product/230404933.jpg>

</comment></comment></comment><comment><USER7> Even more exciting than the possibility of switching from ATT to Verizon will be in 15 years when wireless is everywhere and the iPhone runs by VOIP.

That's how they'll really take over the wireless industry.

<comment><USER8> Let's hope it'll happen in 5 years, not 15.</comment></comment>


Function as a service in Nginx module - <AUTHOR> https://nginx-link-function.github.io/ <comment><AUTHOR> nginx link function a 3rd party module which compatible for dynamic linking your application.</comment>


Google TV's Minisite Launches, Finally Sheds Some Light On The Platform - <AUTHOR> http://www.crunchgear.com/2010/10/04/google-tvs-minisite-launches-finally-sheds-some-light-on-the-platform/ <comment><USER2> Direct link to the Google TV preview site: <http://www.google.com/tv/index.html>

</comment><comment><USER3> Google's sub-site on optimizing websites for Google TV is interesting: <http://code.google.com/tv/web/docs/optimization_guide.html>

One particular quote surprised me: "Google TV currently supports only the Droid Sans and Droid Serif font families, but you can use font embedding techniques to create a more customized appearance. However, keep in mind that font embedding, which relies on Flash, will be slower than other methods."

If Google TV runs Chrome, shouldn't it support @font-face embedding natively?

</comment><comment><USER4> Google Queue looks more interesting than it sounds.

Having had a first gen Apple TV, one of the things I found mildly frustrating was that I couldn't queue up a playlist of Youtube videos. With this, it looks like I can. If I can favourite my playlists or queues, this simple feature would open up for Youtube to become the MTV of the Internet.

</comment><comment><USER5> I found the following tidbit of information somewhat interesting: "Use h.264 encoding for all video content. Avoid encoding your videos in h.263 or vp6.". This probably has to do with having an h.264 decoder on-board, but the fact that Google is not just not recommending it, but rather recommending avoiding it all together, is interesting.

</comment><comment><AUTHOR> I think we'll have a real picture of what this new generation of devices will be only when we'll see all the third party apps will start popup, and all these current solutions will look as smart as a Blackberry looks smart today.

</comment><comment><USER6> I'd like to get a Google TV web browser for my desktop. Watching TV from bed on it would be much easier.

Hopefully it'll just be a user-agent switch.</comment>


Ryzen-Test and Stress-Run Make It Easy to Cause Segmentation Faults on Zen CPUs - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=Ryzen-Test-Stress-Run <comment><USER2> I bet it's a brown-out of some sort which will be fixed by bumping up the voltage a bit. Or using the Intel trick of slowing the CPU down when it needs to execute heavy vectorized workloads. I wonder why this only seems to happen under Linux though.

<comment><USER3> In my experience on older machines, it's possible why it's happening on Unix based OS's and not Windows is because Unix based tend to get more out of your hardware than Windows and this sort of hardware instability shows more frequently.

<comment><USER2> Could be. Linux has a very efficient mutex implementation, and as a result concurrent programs tend to spent a lot less time idling, and thus potentially load the cores more.</comment></comment></comment>


Deriving the Y Combinator - <AUTHOR> http://www.catonmat.net/blog/derivation-of-ycombinator/

<comment><USER2> This explanation looks like it was lifted with little modification from The Little Schemer - a book that cannot be recommended enough.

<comment><USER3> i stopped reading it after 4 or 5 steps, it was a nightmare trying to understand that in the Little Schemer.

<comment><AUTHOR> The Little Schemer has got to be one of the most annoying books ever written. The tone makes it sound like they're talking to a 5-year old, and the repetition and glacially slow pace makes for incredibly boring and frustrating reading.

</comment></comment></comment><comment><USER4> _The Y-combinator allows an anonymous function to call itself, that is, it allows anonymous function recursion._

I have just started out in my coding journey so I can appreciate but not fully understand what that means. With enough work, I hope that changes.

<comment><USER5> The quickest way to get from point A to point B, in this case, is the SICP video lectures: [http://groups.csail.mit.edu/mac/classes/6.001/abelson- sussma...](http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman- lectures/)

If you can spare two hours a day for two weeks (or the equivalent) you're golden.

<comment><USER4> I am heading off to Cape Town in the new year for 3 months with two objectives:

      Improve my coding
      Improve my kiting

I will definitely go through those and let you know how it goes. Thank you!</comment></comment></comment>


Delete an inline function, save 794 kB - <AUTHOR> https://randomascii.wordpress.com/2017/01/22/delete-an-inline-function-save-794-kb/ <comment><USER2> Another (obvious) optimization is to make functions that _have to be inline_ smaller. For example, std::string is used ubiquitously in C++ programs; this change shaved a few MBs of .text from a bunch of large services at FB: [https://github.com/facebook/folly/commit/be4c6d6b3e21914df8a...](https://github.com/facebook/folly/commit/be4c6d6b3e21914df8a0207ef4f716a09a648745) .

<comment><USER3> That is a smart optimization but it does make you wonder why were they using a size_t to hold the category (only 3 possible values) in the first place...

<comment><USER2> You should check out how SSO (small string optimization) is implemented. size_t is actually the natural choice, because it is shared with the capacity (or with part of the string in the small case).

<comment><USER3> Ah I see. In size() and c_str(), strictly speaking it's not the category constants that become 8 byte immediates but rather the category mask. Since the category constants and masks are all compile time constants I wonder if a smarter compiler could have performed this optimization for you.

<comment><USER2> Exactly. And yes, a "sufficiently smart compiler" [1] could have discovered the optimization, the old and new methods are semantically equivalent. It would be interesting to test a superoptimizer on this, but I suspect it wouldn't go very far because superoptimizers usually operate at the basic block level (this has a branch) and optimize for number of instructions, not bytes.

[1] [http://wiki.c2.com/?SufficientlySmartCompiler](http://wiki.c2.com/?SufficientlySmartCompiler)

</comment></comment></comment></comment></comment><comment><USER4> With all the work on compilers and programming languages, doesn't it seem like linker and loader technology is ripe for a major overhaul?

This kind of "chaos theory" linker crap is ridiculous.

<comment><USER5>
        With all the work on compilers and programming languages,
        doesn't it seem like linker and loader technology is ripe
        for a major overhaul?

Loaders?

Not really that just puts _text_ (raw executable machine code, and binary data) at certain locations in memory and updates some other _text_ to ensure branches/functions point to the right location. This isn't rocket science it works well. All in all loaders are very fast.

Linkers?

I would like to think so. It is just a damn complex problem. The real issue here is legacy support. Object files were a _hack_ to make compilers faster, use less resources, and give old school incremental-recompilation.

To make linkers faster, better, etc. one really needs to move away from opaque object files. I like what the LLVM is doing with LTO but this _kind of_ assumes you have all the rs/c/cpp files your compiling so you can see everything in llvm-ir format.

The real issue is build tools.

Modern C/C++ have a high level tool orchestrate compiling/moving object files/linking object files. In some total you need half a dozen different programs to do all these task (cc, cp, rm, make, sed/awk, ln). Each tool has no clue what everything else is doing.

You need to have that context for the linker to do it's job better. But now the linker has to do the job of all those tools :|

<comment><USER6> What strikes me as weird is that I know of exactly one compiler system that got the incrementally compiled modules problem (almost) right and at the same time is AOT compiler without huge runtime: Turbo Pascal. The intermediate files contained both compiler readable definitions as well as object code, the linker was able to link only the required parts without resorting to hacks such as having each function in separate source file (see glibc) and the toolchain was able to generate missing intermediate files even without having to explicitly name them on command line. FPC implements the same mechanism by splitting the compiler metadata and object file into separate on-disk files, which seems like good compromise.

The problem with such approach is that the compiler frontends have to know about each other and produce/consume compatible metadata. For C (and Fortran and...) you an get away without sharing any metadata between separate compilation units and when you cannot (constants, structure layouts) CPP is workable and simple solution, this ignores the problem of inline functions defined in headers, but there is not that much C code that does that.

<comment><USER5>
         What strikes me as weird is that I know of exactly one
         compiler system that got it right (...) Turbo Pascal.

Long Live Turbo Pascal.

         when you cannot (...) CPP

I really see no way forward to be able to modernize CPP build systems. CPP has invented it's own paradigm for how a build system should work. Unless square 1 is "support CPP" making something support cpp is almost impossible.

<comment><USER6> cpp(1) is not where the paradigm stems from, the same paradigm was there before and was there even before C itself. The whole idea of preprocessor stems from assembly programming and the idea that having one file with lines like "PORTB .equ 0x17" and reusing it is useful, in the same spirit the way how ld(1) works was/is useful for assembly programming (you can jump arbitrarily between notionally different functions, and in fact GCC is perfectly capable of generating object files that do that from C/C++ code). On the other hand, cpp(1) is useful for more things than just C/C++, there are even programs which read their configuration by means of popen("cpp /etc/foo").

And as for supporting ld(1) and unix toolchain in general, see my remark above about how FPC works, IIRC MSVC compiller does something similar for C++, albeit in more limited manner (stdaux.h and such stuff).

</comment></comment></comment></comment></comment><comment><USER7> tl;dr: modules using inline fns (even library fns like log2f) generate a static version too; such modules can be linked in if those fns are used _anywhere else_ even if those modules are not needed themselves.

<comment><USER8> Prior to VC++ 2013 the VC++ compiler would generate non-inline versions of all inline functions it saw, even if they weren't used. Even now the option to strip out these unreferenced inline functions (/Zc:inline) is off by default, because it breaks a few non-conforming programs.

So, at least VC++ isn't generating these non-inline versions as aggressively as it used to.

</comment></comment><comment><USER9> > 2017

> still using compiled languages

/s</comment>


Ask HN: How do you recognize a good bug fix from a bad one? - <AUTHOR> <comment><USER2> Minimal amount of code change required to fix the problem is generally a good sign.

A simple fix is always better than a convoluted one.

A fix that deletes code instead of adding more sounds fantastic.

If the fix contains the tests that reproduced the problem it's marvellous, I am in tears.

Is there a documentation about the bug, how did it surface, what were the impacts and what was the fix? Superb.</comment>


Show HN: Jwt.show – show the payload of a jwt token - <AUTHOR> https://jwt.show/ <comment><USER2> Hi,

Curious why you built this when jwt.io also has a decoder for this?

<comment><AUTHOR> I just found the jwt.io one a bit cumbersome to use - I wanted to be able to paste as the first thing on the page, not selecting existing stuff in a textarea, delete that and then paste. Simpler seems better to me. I also missed a countdown on jwt.io :)</comment></comment>