Matt Mullenweg, Automattic's Double Standard For WordPress Plugin Developers - <AUTHOR> http://tomuse.com/matt-mullenweg-automattic-wordpress-themes-plugins-developer/ <comment><USER2> Duh. Of course Automattic has designed their platform so that it benefits them, and of course the rules they set developers don't apply to them. _It's their platform and ecosystem._ If you think they're being unfair, go play somewhere else. I honestly don't understand rants like this. It's like people think that they're entitled to something just because they want it. If you can't make money on Wordpress because of Matt's restrictive stance on paid plugins and themes, then you can't make money doing that. Go do something else!

Life isn't fair, and business sure as hell isn't. Business is about tilting the odds in your favor, not making sure everybody is one big happy family.

<comment><USER3> I think he's grumpy because Wordpress's actions (and lack of actions) means the healthy marketplace for themes and plugins that could exist doesn't.

A lot of plugins and themes have been abandoned by their creators because they're walking away from unprofitable time sinks exactly as you suggest. The blogger is trying to point out Automattic is doing its users a disservice by keeping this environment.

<comment><USER2> I don't think he's approaching this from a user-centric perspective, but more from the perspective of how it's not "fair" to developers and designers. To wit:

 _Theme and plugin developers have helped make WordPress the champion blogging platform that it is today without receiving a single dime of the $29.5 million in funding that Automattic raised last year. Both Matt Mullenweg and his company Automattic benefit financially from the hard work of plugin developers and theme designers. Yet it's somehow justified in Matt's mind that it's not okay for plugin developers and theme designers to directly receive financial compensation for their contributions to WordPress._

To me, that reads as "We've worked hard on Wordpress and we _deserve_ to share in its success." The crazy thing is that a) as far as I can tell, not much has changed in terms of the rules, so if this wasn't a problem before, why is it a problem now? And, b) no one is saying that developers and designers can't offer premium themes and plugins for pay, just that Wordpress won't host those assets for them. How it that unreasonable? Again, this goes back to this guy thinking that he _deserves_ to be able to charge for stuff that Wordpress is hosting for him, for free. Give me a break.

<comment><USER3> Yeah, good point.

</comment></comment></comment></comment><comment><USER4> Can't comment on the article, since I don't know that much about the Wordpress scene. But man, the author is a whiny critic type. Here's just a few from his last 10 articles:

"Twitter Peaks To Media Overkill, Is Real Time Search Dead", "Comment Systems Comparison Update: Disgusted With Disqus", "Swoopo May Be Most Profitable, Ingenius Online Business. But Is It Legal?", "eBay's Problem: Biting The Hand That Feeds It"

Yeah. This guys appears to be a loser who creates nothing of value, and points out holes in other people's creations. One of the hardest things about trying to do something of value is learning to mostly dismiss people like him. It's still a challenge - no ones like to be criticized. But wow, it's easy to talk a lot of trash when you're not doing anything. One of my favorite quotes -

Teddy Roosevelt:

"It is not the critic who counts: not the man who points out how the strong man stumbles or where the doer of deeds could have done better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood, who strives valiantly, who errs and comes up short again and again, because there is no effort without error or shortcoming, but who knows the great enthusiasms, the great devotions, who spends himself for a worthy cause; who, at the best, knows, in the end, the triumph of high achievement, and who, at the worst, if he fails, at least he fails while daring greatly, so that his place shall never be with those cold and timid souls who knew neither victory nor defeat."

<comment><USER5> _This guys appears to be a loser who creates nothing of value, and points out holes in other people's creations. One of the hardest things about trying to do something of value is learning to mostly dismiss people like him._

I think anyone should welcome as many critics as possible. Critics point out blind spots and prevent accidental mistakes. I believe the 'strong man' is usually found to have a 'strong second' that is the strong man's critic on every turn.

</comment></comment><comment><USER6> _Please tell me I'm wrong about your understanding of the GPL and your intentions. It's probably no mistake that Matt doesn't want to acknowledge such issues. For it he did, he would have to acknowledge the fact that Automattic, a commercial entity that owns WordPress, exploits the GPL to promote it's distribution, uses plugin and theme developers work to build upon WordPress, and then uses the GPL as a barrier to prevent anyone except Automattic from benefiting financially from the work._

How is this any different from what Sleepycat and MySQL do? I thought this was the playbook for open source business models.

</comment><comment><USER7> Okay, I think this post is ridiculous for many reasons. The major reason being the author just doesn't understand the point.

When he talks about 200 themes were removed back in 2007 from the wordpress theme directory, most of the themes that were removed were sponsored(or spammy) themes. wordpress.org is is the website for the opensourced GPL'd project wordpress, there is no reason for them to host themes that run in contrary to that philosophy. The idea is to create trust in the hosted wordpress themes and plugins, for people who care they know if they go to wordpress.org, everything they download is GPL'd they are free to use, free to modify and free to redistribute.

I don't see that the onus is on Automattic to support any other agenda but their own, they are a business and the ultimate goal is to make money(for themselves).

That being said, the idea of a wordpress theme/plugin marketplace is a fine one, but as many people have already said in this thread it would be easy enough idea for automattic to take as their own. I would find it hard to believe the guys at automattic are stupid so if it doesn't exist already, there is probably a reason(ie/ profit margins are too low to spend the time developing the service, not enough demand, etc.)

<comment><USER8> _"hard to believe the guys at automattic are stupid so if it doesn't exist already, there is probably a reason"_

Well, exactly. They have had the idea before, as mentioned in the post, but didn't act on it. They probably did a simple cost/benefit analysis and decided it would be more trouble than it's worth.

Once you start taking money and acting like a shop, everything changes. It's not just the implementation, although that would be significant. But suddenly it's your problem if X breaks on IE8 or Y doesn't work with a new version and the developer is on holiday or Z said it would do this but doesn't and the customer demands a refund, etc etc etc. "But I bought it from you!" comes the flood of email. So you'd probably need support staff too.

Well, all of this might be worthwhile if it's a big, rich market. But I doubt it is. How many people actually buy premade WP themes? I would have thought the number is miniscule. Same with plugins. I didn't even realise you _could_ buy WP plugins, actually, until I read that. The idea sounds like a joke. You'd have to be nuts to try and build a business on that.

Anyway I'm sure Automattic thought about it for a while, then realised what a distracting, unremunerative hassle it would be and rightfully canned the idea.

<comment><USER9> There is a market for premium WP themes and plugins. And, now that people are using WP as a CMS more and more and not just blog software it will grow even faster. Take a look at themeforest.net or go to elance.com and see how many people are hiring plugin developers.

</comment></comment></comment><comment><USER10> Few things embitter people more than being this close to money they can't have.

</comment><comment><USER11> Amazing. The author complains of not having a business model, spends most of the post describing the one he would like to be given by someone else, and yet never makes the connection between the two.

<comment><USER3> If you're thinking he could create a premium marketplace that works as a Wordpress plugin, it's a terrible idea. He'd be proving the model for Wordpress, as soon as he started getting traction they could introduce their own official premium marketplace installed by default in all new versions of Wordpress... and don't forget to upgrade for this month's important security fix.

I'm not a fan of the post's tone, but he's right that Wordpress needs to do it. Nobody else wants to try because they'd either fail or have it taken away from them.

<comment><USER2> _Nobody else wants to try because they'd either fail or have it taken away from them._

That's the bitch of relying on someone else's platform for your business model.

</comment></comment></comment><comment><USER12> I'm glad this post was written and I hope more light gets shed on this.

I've seen many people who are naive about GPL and how it relates to themes and plugins.</comment>


How to Abolish the DNS Hierarchy -- But it's a Bad Idea - <AUTHOR> https://www.cs.columbia.edu/~smb/blog/2011-07/2011-07-02.html

<comment><USER2> Maybe I'm missing something, but how on earth is hashing the domain changing anything in practice?

</comment><comment><USER3> See also: <http://en.wikipedia.org/wiki/Zookos_triangle>

<comment><USER4> <http://en.wikipedia.org/wiki/Zooko%27s_triangle> _

<comment><USER3> Thanks. I pasted it from Chrome while looking at the wiki page. :/</comment></comment></comment>


Software Projects and Heroes: Lessons Learned from GitHub Projects - <AUTHOR> https://arxiv.org/abs/1904.09954 <comment><USER2> Everyone who's interpreting this in the context of full-time work / the traditional notion of "10x programmer" (i.e. ~every toplevel commenter) should read the abstract:

> A "hero" project is one where 80% or more of the contributions are made by > the 20% of the developers... We identify the heroes developer communities in > 1100+ _open source GitHub projects._

(emphasis mine)

Of course nearly every Github project is going to have heroes--we call them "maintainers." This study is totally unsurprising and totally non- generalizable to professional teams working on proprietary software.

The use of the term "heroes" in the abstract is massively misleading and tendentious, IMO.

<comment><USER3> Ok, we've added "Github" to the title above.

Edit: and maybe we can make the phrasing a bit less tendentious. Bad sign when paper titles need debaiting, but that's the trend.

<comment><AUTHOR> This was my first submission here, but is it really helpful to change the title of a published research paper? Just because some commenters didn't like it, and at the cost of this discussion now being harder to find when people google the paper?

<comment><USER3> The site guidelines say: "Please use the original title, unless it is misleading or linkbait" ([https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)). Being the title of a published research paper doesn't immunize against those things, unfortunately, and based on the comments posted here, that title was arguably both.

We know from long experience why it's helpful to make such a change: if we don't, people will keep complaining about and bickering about the title. Editing it is the only way to soothe the fever. [https://hn.algolia.com/?query=by:dang%20title%20fever&sort=b...](https://hn.algolia.com/?query=by:dang%20title%20fever&sort=byDate&dateRange=all&type=comment&storyText=false&prefix=false&page=0)

This thread still comes up if I google the paper's original title, and is the #1 result if I google "software project heroes".

p.s. Welcome to HN!

<comment><AUTHOR> Not trying to start an argument over words, but that seems a bit unfair to the authors. Their title promised they would analyze 1100 projects, and that is what they did. Being accused of misleading or even linkbaiting their readers by (let's be honest) armchair scientists imho doesn't reflect well on this platform.

<comment><USER3> The number of projects analyzed was not the issue, though "1100+" does add to the impression of the title being hotrodded a bit. The criticisms HN users made of the title, that I heard, were first that the paper looks only at open- source projects on Github, which is not representative of software projects in general, while the title refers to software projects in general. Second, "Why X needs Y" (where Y is a sensational word like "heroes") is a linkbait trope, easily recognized by anyone who spends time around internet articles, as well as an overselling of the finding. An analysis of commit rates on Github does not explain _why_ , it shows _that_ —which is great, and which we edited the title to represent more clearly.

On HN, an article does not get a pass to use these tricks just because it's a paper on Arxiv. The internet game is to inflate titles to oversell the body, and the HN game is to rejig them back to scale, so there isn't a disappointing delta between what the title promises and the body delivers. We did that in two ways: by adding Github, and by replacing the "Why" bit with a simple mention of the relationship explored by the article. I'm sure it is possible to come up with something better, i.e. more accurate and neutral, and if anybody suggests better we can change it again. But if a paper is going to play the internet game—which, dismayingly, we're seeing more of, as academics increasingly have to fight for clicks in their own right—then HN is going to play the HN game. Your authors are expert in their domain and the HN community is expert in its.

I wouldn't say this change is unfair to the authors. The purpose is to steer the thread toward a substantive discussion of their work, just what any good scientist wants, and away from title nitpicks and complaints, which is boring and no one wants. I can tell you from years of experience that once these complaints start appearing, they continue unless and until the title is edited to bring down the inflammation. We can't fight it, we can only heed it—it's a force of nature. Why would that be? I think it's that people come to HN for relief from the onslaught of bait and manipulation that plagues them on most of the internet. The implicit contract here is that the front page will be a bit calmer, more neutral, more accurate. HN doesn't do that perfectly by any means, but if it's noticeably quieter and more bookish than what is typical elsewhere, that's the main thing.

You can call HN users armchair scientists if you like, but I think you'd be surprised by how many working scientists participate in this community, not to mention many who have had scientific careers before moving into industry. They are humble and don't flaunt their credentials, but when something relevant to their work comes up they mention it, and it always surprises me how many there are. It seems a good sign for the health of the community.

<comment><USER4> As a casual reader of HN, thank you for your efforts.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> > A "hero" project is one where 80% or more of the contributions are made by > the 20% of the developers.

If that 20% leave, the other 80% would contribute equally or the ration 20/80 will be preserved?

This seams a feedback loop. Once a developer has written more code than others is in a better position to write even more. If that is the case "hero developer" is a floating position, depending so much on your skill and how much time you have been working in a project and other circumstances.

> Organizationsshould reflect on better ways to find and retain more ofthese > software heroes.

I had this discussion recently. If you create a team of "heroes" all become way slower than when they were in different teams.

My personal conclusion, and the way of working that I try to implement at work is that small independent projects allow for developers to be fast and reliable. If your project is correctly divided, anyone can contribute ( at their level of expertise). If you have a big complex projects then old-timers that created originally the code are the only ones that can work with it efficiently if no other developers make big changes (reducing the ability of other developers to contribute independently of their level of skill).

So, before going in search of "heroes" think if your projects are correctly divided. And think about the risk that you create when a "hero developer" is needed and leaves.

<comment><USER6> I recently left a company organized in this way. It was quite disheartening: small changes would break the code in multiple ways, hundreds of public functions, no interfaces. The architect was seen as a 'super' developer...

<comment><USER7> Perhaps an ideal scenario would be to have a single 'super' developer have relatively free reign, under the condition that she can explain the code/architecture to others effectively also.

<comment> duncan-donuts Yeah, definitely not an ideal scenario.

</comment></comment></comment></comment><comment><USER8> Having worked on many, many software projects myself, this is 100% accurate. One good programmer who is intensely focused and interested in a project is worth 20 - 50 (or more) programmers who are just code monkeying it without really giving a shit. This is why a small, passionate startup team can consistently build better products than large corporations. Much better products.

<comment><USER9> There is no substitute for caring, and people consistently, dramatically underestimate the difference in thought that happens in people who care and people who don't. Anytime I'm asked why someone should listen to me and not someone else I tell them "because I care". It is really all it takes to separate from the incompetent, so few understand what caring does.

<comment><USER8> Absolutely. I'm sure there are many reasons for this, but a big one i always see is attention to detail. People who really care are obsessed with getting all the details right, and hate bugginess, bad ux, and other issues typical of crappy software. Big projects with no real owner may have lots of programmers, but none of them care so much that they want to get in the really deep weeds to make the thing a truly amazing software experience.

<comment><USER9> And that is because there is always more to care about, just as true love has no end.

</comment></comment></comment></comment><comment><USER10> I find it silly they designate these as heroes. Seems simpler to say that most projects are small enough that a single person can do the majority of the work. Not shockingly, most smaller projects don't fail that heavily.

Add in the extra work that collaboration necessarily brings to the table, and it isn't that shocking that things both slow down and get more error prone. At a certain size, though, this is worth the cost of admission.

More, it isn't like we call all projects done by fewer individuals heroes. We have authors, not "writing heroes."

And the author joke is meant to point out that the vast majority of what you read has a single person's name on it, but without the editors and other workers involved, that book would never have come about.

<comment><USER11> Yes, but that brings into question how large a project needs to be for the hero model not to be feasible anymore. They surveyed over 1 100 projects and I would guess a significant portion of them would be counted as "large". I found their raw data on github here, [https://github.com/ai- se/Git_miner](https://github.com/ai-se/Git_miner), although it is in some weird .xlsx format so I can't verify if my guess is true.

<comment><USER12> .xlsx is a Microsoft Excel file. I bet you can open it with Google Docs, LibreOffice, or something similar.

<comment><USER13> You can also change extension to .zip, unzip it and read individual xml files from worksheets/ subdirectory. However, because of the horrible schema in those xml this is probably a really bad idea to go that way. It's way better to use the software that parent mentioned

</comment></comment></comment></comment><comment><USER14> This is really fascinating.

If true, it suggests that big companies with huge teams that try to force the entire team into equal contribution metrics are creating stress that might not help the team, nor lead to fewer bugs (big surprise).

I've never been on a team which was set up to truly recognize the value different forms of contribution, like writing tests, or removing code, or simplifying it, or other things which would not count towards the hero metric presented here. As an industry we just don't think about alternative narratives to "let's make sure everyone is an equal contributor..."

<comment><USER15> Yeah that's a very interesting observation, and sort of corroborates my own anecdata. More specifically, when projects are in there infancy, and there's a lot of risk associated with working on them, I feel that management tends to stay away, which is how these heroes originate. Then, after it's obvious that project will succeed and it's merits are overwhelming, you see this shift in project governance/responsibility towards a more corporate mode. However, like you said, that's probably counter productive and just creates stress and tension. If anything, I think sometimes management has an uncontrollable tendency to position itself strategically in these gatekeeper roles, whereas in open source they don't get to do that simply by virtue of being someone's boss, so you don't see that same trend, as the paper argues.

Not sure if that makes sense, I quickly typed this on my phone.

<comment><USER9> That is the untalented who are interested in the rewards of success moving to gain what is possible to get from talent. They have none, so they have to see it manifested and then they capture it for their benefit. They have no other access to the good stuff. All industries, human endevors, work this way. All power structures, all groups.

</comment></comment></comment><comment><USER16> It's the second time I mention Fred Brooks on HN today, but he dedicates a chapter in Mythical Man-Month that agrees with the assertion of the article:

> Much as a surgical team during surgery is led by one surgeon performing the > most critical work, while directing the team to assist with less critical > parts, it seems reasonable to have a "good" programmer develop critical > system components while the rest of a team provides what is needed at the > right time.

Other team members perform other tasks, and some of those even administrative (!), but all of them supporting the "vision" of the surgeon.

IMO this is a healthier way of communicating roles, avoiding fights and training juniors. It's better than the "everyone is replaceable" mindset companies have this day.

<comment><USER10> Surgery is a dangerous comparison to make. Most surgeons get to their seniority by doing a lot of surgery. Most of which are near identical to each other.

Programmers? We, for some reason pride ourselves on doing something new every time around, it seems. I've argued before with my leadership that, if we really wanted something done better/faster, we shouldn't be promoting the folks that did it out of the position for the next go around. Rather, we should have them do it again. And then again. And then again. Not only would they be learning from their experiences, but benefiting much more directly.

<comment><USER16> > I've argued before with my leadership that, if we really wanted something > done better/faster, we shouldn't be promoting the folks that did it out of > the position for the next go around

This is similar to what Fred Brooks suggests in the "Surgical Team" chapter of "Mythical Man Month", although he's a bit harsh, I'll grant that:

> if a 200-man project has 25 managers who are the most competent and > experienced programmers, fire the 175 troops and put the managers back to > programming.

EDIT: We were also talking about it yesterday here at HN: [https://news.ycombinator.com/item?id=19763562](https://news.ycombinator.com/item?id=19763562)

<comment><USER17> And not forget to fire those other managers who never wrote a single line of code.

Or anyone who thinks in terms like 'programmers' and 'resources'.

<comment><USER16> Brooks idea was even more radical:

Put non-coders to work under the chief programmer. Let them help instead of control.

<comment><USER17> That makes total sense to me. Having engineers in charge of the challenges that require engineering.

</comment></comment></comment></comment></comment></comment><comment><USER18> Maybe I've just been unfortunate/fortunate, but in 6 years as a software developer on all kinds of projects, I've never once worked on a project where even two people share the major contributions to a single repo. Either I run away with one part of the project or someone else does while I work on some other part. Usually split between frontend/backend/devops (webstuff) or app/libraries/tooling. We obviously plan and discuss how the different parts of the projects work together, and we do make contributions to the other repos, but these are usually minor.

I don't necessarily see it as a bad thing. It just feels the most natural, reduces friction and the need to communicate minute details. Ownership is also important. The downside of this is that some part of the project might fall apart if someone leaves, because no one else can take over.

<comment><USER19> > The downside of this is that some part of the project might fall apart if > someone leaves, because no one else can take over.

This is the reason, i think, corporate world HATES with passion such devs. Even tho they need them to meet deadlines.

It also gives a bit too much power in negotiating to the employee which is also seen as "bad" in corpo.

<comment><USER20> > This is the reason, i think, corporate world HATES with passion such devs.

Which is the right attitude, imho. Even if that person loves the company and would never leave - what if a bus runs them over?

On a large scale, consistency is more important than excellence. You need to be able to plan, "if that guy stays, the project will be done in 4 weeks, but if he leaves, it will take four years" just won't work, because you cannot rely on it. It's much better to be able to say "it will be done in 12-14 weeks" with high confidence. Sure, your whole dev team might get run over and spoil your plans, but that's really a case of force majeur.

<comment><USER21> Okay, so let's be optimistic and say a team of 4 can do in 12 weeks what that one dev could do in 4 weeks. 48 dev-weeks vs 4 dev-weeks. Do you think it's reasonable for a project to cost 10x as much just for that precious consistency? Not to mention that longer projects with larger teams have higher variability in outcome, with most projects overshooting by 100% or more. Is this really the right attitude then?

<comment><USER20> > Do you think it's reasonable for a project to cost 10x as much just for that > precious consistency?

Somewhat, yes. You want to be able to plan. Inefficiency is often the price for being able to plan. Since it's often not only about this one project, a higher price is just fine - you may have to coordinate with marketing, legal, sales, manufacturing etc, then the total price will often be so large that the 10x of the software project doesn't really matter, but if it falls flat and gets everything delayed, the damage may be huge (think global launch date missed).

</comment></comment></comment></comment></comment><comment><USER22> > A "hero" project is one where 80% or more of the contributions are made by > the 20% of the developers.

Where does this definition come from? It sounds quite typical to me. Even in large projects like the Linux kernel, if you break them down into comprehensible units and subsystems, I would expect you'd find essentially the same thing.

The vast majority of projects likely meet the "hero project" threshold defined above, whether they're good or bad. I don't know of any movement to specifically prevent having primary contributors; the main interest from the corporate world is ensuring that primary contributors can be cycled as necessary.

This doesn't seem like news in any way. I don't want to be unduly dismissive as I haven't read the paper, but I think I'm catching a distinctive whiff of "publish or perish" in the vicinity...

</comment><comment><USER23> This is a poor argument attacking a straw man. Each of the cited papers discussing "hero" projects are in the context of medium to large organisations. While open source GitHub projects are frequently self-contained tools or libraries. Equating the two is a monumental and unsupported jump.

<comment><USER24> I'm glad I'm not the only one who thinks this is nonsense. I wrote a fairly long comment, which you (might) find elsewhere in the discussion, then started reading the other comments and was starting to wonder what other people were seeing that I wasn't.

Short version: the OSS versus every other type of software project comparison seems very apples and oranges.

</comment></comment><comment><USER25> I wonder _why_ hero projects are more bug free. I could probably write lots of terrible but bug free code on a personal project, because I know where all the flaws are and avoid them. If I invited more developers to work on this codebase, of course there would be more bugs, because the code quality is so bad. If I wrote good abstractions, types, and documentation, theoretically others contributing to the code would write less bugs too.

<comment><USER26> > and documentation

that's the gist of it, abstractions are _always_ imperfect in some way and leave the door open for interpretation, at which point if team member don't communicate each module intent efficiently code responsibilities get mixed and entropy rise dramatically, causing more bug per line of code written.

imho an important figure on large projects that is largely ignored or conflated with "the architects" is the oracle, or the guy people ask where new feature/code should go. not in term of application structure or component design, but at a lower level, at modules and interfaces level.

</comment></comment><comment><USER27> "Hero" is a bad name for it, but one or two people on the team need to _really_ understand what is it that needs to be done, and the management needs to understand that those people _understand_, and support them. At least 80% of any given team either don't understand what needs to be done or don't give a shit, or both. Leaving such folks to their own devices is a very wasteful and counterproductive exercise.

</comment><comment><USER28> That matter has caught my attention some other times. I'm aware of dozens of projects where such "hero developer" phenomenon happened and it's really interesting (some I worked for, some I knew by other people).

I ask myself why that happens. No doubt that variations in developers' talents is a factor. But I think there are some social forces operating there as well.

I have become the hero of four projects after the previous hero had left. And I have also already arrived in projects with pre-established heroes.

Despite I've been able to be a reasonable hero whenever I ended in such position, the other times when I worked with established heroes, they were condescending over me and the rest of the team. There has always been that trend to patronize and to be a plain jerk. That was annoying.

I knew I could contribute more and maybe even to help to herorize the project. But, simply put, there weren't minimal social conditions for that to happen.

Maybe the heroing concentration would dilute a bit by improving social conditions.

</comment><comment><USER29> This is the 80/20 rule, except applied to the proportional contributions made by a group of developers on a given project, rather than how time is allocated relative to problem solving related to software development...

You know, a similar argument could be made for history... that 80% of societal progress was created by 20% of the individuals living in that society...

</comment><comment><USER30> "The real hero of programming is the one who writes negative code." \- Doug McIlroy

"[T]he meaning of negative code is taken to be similar to the famous Apple developer team anecdote (i.e., when a change in a program source makes the number of lines of code decrease ('negative' code), while its overall quality, readability or speed improves)." \- [http://en.wikipedia.org/wiki/Douglas_McIlroy](http://en.wikipedia.org/wiki/Douglas_McIlroy)

"When the Lisa team was pushing to finalize their software in 1982, project managers started requiring programmers to submit weekly forms reporting on the number of lines of code they had written. Bill Atkinson thought that was silly. For the week in which he had rewritten QuickDraw's region calculation routines to be six times faster and 2000 lines shorter, he put "-2000" on the form. After a few more weeks the managers stopped asking him to fill out the form, and he gladly complied." \- [http://www.computerhistory.org/highlights/macpaint/](http://www.computerhistory.org/highlights/macpaint/)

"One of my most productive days was throwing away 1000 lines of code." \- Ken Thompson

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." \- Pete Kirkham

</comment><comment><USER24> > A "hero" project is one where 80% or more of the contributions are made by > the 20% of the developers. ... We identify the heroes developer communities > in 1100+ open source GitHub projects.

My scepticism has been piqued to the extent that I call b######t.

Open source projects. Projects contributed to by people in their spare time, or perhaps with some corporate backing with developers on the payroll, and often with quite different governance models.

Should we therefore be surprised at the widely varying levels of contribution? Should we be surprised that those who do more work on the projects tend to make contributions resulting in fewer bugs, perhaps because they have a much better understanding of the projects due to their greater familiarity with them?

Whatever: OSS projects with contributions coming in from all manner of sources outside the core team aren't necessarily terribly similar to having a team of 6 - 8 working on a project full time within a company. The only similarity being that a relatively small core team do most (or all) of the work.

Colour me not even slightly surprised. My blunt conclusion is that the idea software projects "need" so-called "hero" developers is extremely questionable based on the data presented[1].

 _[1] Granted I 've done no more than skim the paper but this comment, from page 3, amused me: "Most prior researchers deprecate heroism in software projects." Really? Do they now?_

<comment><USER31> You're calling bullshit on a paper defining the terms that it is using in the paper?

<comment><USER24> The headline's been changed since I submitted.

I was calling bullshit on the fact that it appeared to be drawing general conclusions about all software projects based on a survey of open source software projects, which often operate under different conditions to those in commercial organisations.

The abstract and title of the paper are somewhat baity, as others have pointed out, but the headline here now reflects the fact that the paper only represents OSS projects hosted in GitHub.

<comment><USER31> It would be interesting indeed to apply the same study to commercial products.

</comment></comment></comment></comment><comment><USER32> The result itself is unsurprising, but I'm curious of what caused their low bug rate ("code quality" in their term). They haven't looked at the actual code, but I guess that code consistency plays a big role for reducing potential bugs, and it's easily achieved with having fewer developers in a team. Also this is not contradictory to sayings like "a lot of eyeballs make software better" because I believe eyeballs mainly contribute to bug _detection_ , but not bug prevention.

Edit: After posting this, I dug into this problem a bit more. I think code consistency is less important between modules (in a large project). But this requires a premise that these modules are independent enough and they don't need much communication each other. This line of thought is pointed out by this SO question. [https://softwareengineering.stackexchange.com/questions/1906...](https://softwareengineering.stackexchange.com/questions/190649/whats- the-right-balance-between-code-consistency-and-code-improvement/190658#190658)

</comment><comment><USER33> There is certainly some survivorship bias involved. The filter (50+ weeks of activity, 8+ contributors, etc) only selects somewhat successful software projects.

Big professional software development also emphasizes reliable planning, requirements engineering, and documented processes. In contrast, most open source projects begin in a cowboy style with a single person starting to code without requirements and processes and often not even much of a plan. This lightweight process implies a lot more risk and indeed most of these projects fail. That is fine. The free software world rather goes with this evolutionary approach.

I wonder if there is any company which works in a similar way. Start lots of projects with a fraction of the resources. Be fine with most projects failing. I guess not because this approach is hardly compatible with career development. Googles 20% rule might be considered a step in that direction.

</comment><comment><USER34> I believe the conclusion is basically true, but I also feel that sampling from the Github project showcase list induces a selection bias that is going to support it. The analysis would be more convincing if the authors had gained access to some enterprise codebases whose contribution graphs were more evenly distributed than their open source counterparts.

</comment><comment><USER35> In larger projects, each module or discrete functionality works like what's being described in the article. There will always be a handful of programmers, most likely coordinating other programmers, that intimately know that module. That is OK and in many occasions development and intervention, from concept to implementation and then test and release to production, can be sped up, but it must be taken into account that it also lowers the so called truck factor (I like to call it lottery factor, in which a developer wins a lottery ticket, becomes a multi millionaire overnight and leaves the project, rendering hopeless all those parts he had exclusive knowledge)

I guess then the goal is to find balance between having heroes and increasing the lottery factor of the team.

</comment><comment><USER36> It's obvious that the projects with the lowest bug counts are maintained by one person with a vision. Projects that accept any drive-by pull request without serious scrutiny inevitably suffer code quality and consistency issues. It is often more important to know what features to exclude from a project as knowing what to include. The "heroes" know the history of the project and are responsible for a consistent design.

</comment><comment><USER37> apart from questionable choices of data to analyze (open-source has its own specific), the study proves only that heroes are good in hero projects. perfect.

</comment><comment><USER38> Probably tangential, but I think this ties in nicely with the study about the effectiveness of Reddit deleting toxic subs (1). Leadership does in fact matter. But at the same time, all politics are local.

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

</comment><comment><USER39> Very interesting. But that probably doesn't translate to professional projects where people have more incentive to contribute and core contributors the obligation to onboard and mentor new hires...

<comment><USER31> If you think that "why" someone contributes is meaningful, I'm curious how you think that professional projects (whatever that means) and whatever arbitrary metric is being used to encourage incentive would give a different result.

<comment><USER40> For instance, on a minuscule open source project of mine, I wrote all the code and another developer has (kindly) stepped up and managed upgrades to one of the dependencies, bumping the version number when it's time to do so.

If he and I were employed together to work on this project, a workload distribution of me writing and maintaining the entire codebase (minus one line) and him coming by every couple months to update a version number would not be a very fair or realistic division of labor.

The open source development process is very different from anything else. None of my projects at work have a long tail of contributors submitting comment typo fixes.

<comment><USER41> It'd be much more fair if the project at your job started out as a proof-of- concept that you wrote, while the other dev worked on other things.

Once your proof-of-concept grew into something management wanted, you'd probably still be writing a lot of the code, and the other developer would be contributing, but in the realm of 20% of the codebase, at least to start (and according to this article, that wouldn't change).

<comment><USER40> You're right, and I don't doubt the value of studying open source projects or that it's the best that can be done given the data available, but there are limitations on how much light this data can shed on the great mass of code being written within organizations.

Maybe the results do apply to the situation you describe, I'd be curious to know that.

</comment></comment></comment></comment></comment><comment><USER42> What is the opposite of hero project? I didn't see one project in my life that doesn't have a BDFL style person in charge for my 10 years programming experience...

</comment><comment><USER43> Did we really need a study to come to this conclusion?

Heros are called maintainers, or creators.

This is every project. This is what this study concludes. Does the world not understand this?

</comment><comment><USER9> All good teams revolve around stars. Talented brains can create more value that two hands can do, and the organization exist to help them win. Nothing new.

</comment><comment><USER44> I feel this is the Pareto efficiency Isa play which is a very common phenomenon.

</comment><comment><USER45> likely this is also one of the core reasons why microservices are so successful these days. they allow having many small hero developers that create replaceable components fast.</comment>


Improving NHS procurement with a behavioural procurement platform - Pick-A-Hill2019 https://www.bi.team/blogs/improving-nhs-procurement-with-a-behavioural-procurement-platform/ <comment> Pick-A-Hill2019 Came across the above while doing some rabbit holing about government nudge units and while unrelated to what I was rabbit-holing it is from the same bunch and was interesting enough that I decided to post it. Link explaining what a nudge unit is [https://www.instituteforgovernment.org.uk/explainers/nudge-u...](https://www.instituteforgovernment.org.uk/explainers/nudge- unit)

<comment><AUTHOR> Thanks, that link got clicked !</comment></comment>


Comprehensions and Generator Expressions in Python - <AUTHOR> https://johnlekberg.com/blog/2020-07-16-comp-genexp.html <comment><USER2> This is a test of a potential bug in the HN API, please ignore.</comment>


Gmail won't allow JavaScript file attachments starting February 13 - <AUTHOR> http://www.androidpolice.com/2017/01/25/gmail-wont-allow-javascript-file-attachments-starting-february-13/ <comment><AUTHOR> I just lost a few good minutes resending the same email until I realized it is working as intended, because of course, I don't use their terrible web interface.

This kind of shit pisses me off to no end. Gmail (and Google, actually) is getting more and more annoying by the day. This may be the last drop.</comment>


Management/Success/Leadership: Mostly Bullshit - <AUTHOR> http://blog.dilbert.com/post/102964923626/managementsuccessleadership-mostly-bullshit <comment><USER2> I disagree with his "charisma is bullshit" thesis. All skills have extreme outliers. There was the fastest sprinter in your high school, and then there is Usain Bolt. Similarly, there was the most charismatic guy you've ever worked with, and then there is Steve Jobs.

Re: management and leadership philosophies? I agree; complete bullshit. There is no perfect management philosophy. If there were, it would be a science and everybody would follow it.

I do like a good "how to manage" book though. The point of management books (or any self-improvement books for that matter) is to let you swim in the subject matter for a while, and think about how you would have handled past experiences better. And also to show you that it is _possible_ to get better at things, and _worth it_ to try.</comment>


Google's quantum computer just simulated a molecule for the first time - <AUTHOR> http://www.sciencealert.com/google-s-quantum-computer-is-helping-us-understand-quantum-physics?utm_source=Facebook&utm_medium=Branded+Content&utm_campaign=ScienceDump <comment><USER2> Perhaps, but this is not the first submission to HN of this story:

[https://hn.algolia.com/?query=quantum%20molecule&sort=byDate...](https://hn.algolia.com/?query=quantum%20molecule&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)</comment>


Cars Get Street Smart - <AUTHOR> http://spectrum.ieee.org/oct07/5577 <comment><AUTHOR> Automated driving is the single biggest opportunity in robotics in the next decade.

<comment><USER2> I'm not sure I agree with that. I think the potential is definitely there, but the regulatory burden is just too massive.

The potential impact of robotics on manufacturing and transportation is absolutely staggering, and could probably be measured in the trillions of dollars (speaking of just the next 10-15 years.) However, I just don't see it happening there. The markets are just too heavily regulated and there are too many competing political interests. It's next to impossible for a new company to break into these markets, even with unlimited funding.

If the robotics revolution(tm) is going to happen anywhere, it's going to come from either the consumer market or a tiny niche market that nobody's ever heard of, and then spread from there.

<comment><AUTHOR> Car keys.

They give the decision making power to the driver, and are what would shield the car maker from a huge regulatory burden.

Any autonomous action will be dictated by the driver and the driver will be given explicit instructions to continue paying attention to the road.

The same is true for today's cruise control.

Also, the consumer market is for low end processing, not advanced autonomy. You won't get a revolution there.

<comment><USER2> I'm not claiming that autonomous driving won't happen or won't be a massive industry in the near future (30-40 years.) My feeling is just that it won't happen there first. Here's a couple of reasons:

1\. It's a very complicated problem compared to others that could have a similarly large impact.

2\. The cost of a mistake made by the robot is quite likely to kill someone. This isn't just a problem as far as lawsuits go, but it's a problem because as soon as the first accident occurs you're going to get a barrage of regulations (and quite possibly bans) on autonomous driving.

3\. As soon as you can build a robot that can clean your floors, walk your dog, and bring you a beer when you want it, you're going to sell a million units in a year. Just look at the success of a fairly simple device like the Roomba.

So my thinking is that autonomous dirving will be one of the later things happen as compared to other adoptions of robotics.

Edit: this just reminded me of something. Not too long ago the University of Toronto solar car team was driving their solar car down the 401 highway. The driver lost control and ended up getting killed. Within a month all solar cars were banned from driving on public roads in Ontario.

<comment><AUTHOR> My original comment is about the business opportunity. Robots that can operate independently in a particular environment will be deployed in the next decade or two.

The problem is that lots of environments aren't standard, e.g. a particular manufacturing plant might require a niche robot.

Freeway driving is very standard. Hard, but achievable.

I might be wrong on the time frame, but auto bots make up a very big single application. That it is why the opportunity is huge.

<comment><USER2> I completely agree with you there.</comment></comment></comment></comment></comment></comment>


The 7 Habits of Highly Dysfunctional Developers (1998) - <AUTHOR> http://www.ganssle.com/articles/7habits.htm <comment><USER2> It's kind of a random collection.

A lot of these are bad things programmers do when there's a lot of pressure to get results quickly. I tend to think that keeping to standards, estimating realistically, keeping discipline etc are things that managers need to make a priority - if a manager just demands results and won't allocate time for proper construction methods, management gets these bad results and is responsible. 'Course the programmer in a good position can just quit but what someone actually does depends on their life position and thus cutting corners isn't necessarily their fault.

</comment><comment><USER3> Similar to 7 habits of highly overrated people.

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

or ineffective people.

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

</comment><comment><USER4> The glorify globals thing is...a bit off.

The real problem with global state is provenance, not the global state itself.

Global state has the property of being identifiable, debuggable, and inspectable.

Add provenance and you have a log from which you can see how your program executed and who did what.

Local state isn't necessarily problematic but local mutable state can make some things really hard to track down / reproduce. "Subtle" bugs are bad.

Things like modern games tend to are often developed with "local" data in the small being immutable and larger data being global (mutable is a coin-toss depending on how you're thinking about it).

<comment><USER5> I think avoiding global variables is a good thing. Maybe at some large scale global variables are unavoidable but I've had good results wrapping what would otherwise be a global variable into a Context class and injecting IContext into everything that needs it. IContext is bound to Context with singleton lifetime in an inversion of control container.

The benefit of this over actual global variables is that I can create as many IoC containers as I want and they can have their own "global" state. It's great if the application inside of the IoC container is solving part of a problem that's embarrassingly parallel - rather than creating 8 processes you create 8 threads and one container for each.

<comment><USER6> Shh. Don't tell the ineffective embedded devs about IoC containers or they'll be able to take their game to a whole new level. Dependency injection is great, but frameworks like Spring suck all the benefit out of it in my mind. Great, so I have a nice interface I can implement to re-use your module... except now I need to build a Spring app...

</comment></comment></comment><comment><USER7> From 1998, this is mostly interesting as a sort of historical look back -- this is what we were complaining about 15 years ago. some ways similar and some different to what we're complaining about today.</comment>


Ask HN: How could I automate the process of cleaning up my folder structure? - <AUTHOR>

One of my key "Documents" folders has numerous files and subfolders several layers deep that do not adhere to a standard naming convention. Is there a way to quickly renaming all the files/folders without having to do so one by one? <comment><USER2> Not sure your OS but if you're running anything with a decent shell (eg Linux, BSD, or Mac OS X) you can do this all from the command line. You should be able to do the majority of what you want with a combination of find/while/sed/mv. If the old-to-new naming scheme is too complicated for sed then replace it with a awk/perl/python/ruby.

If you're relatively new to using the command line to do things like this (I'm guessing yes) make sure to backup your documents first. It's _very_ easy to accidentally delete/rename all your files with a couple typos (but don't let that scare you off from learning).

</comment><comment><USER3> It doesn't help with renaming per se but Belvedere can help keep things organized.

[http://lifehacker.com/341950/belvedere-automates-your- self+c...](http://lifehacker.com/341950/belvedere-automates-your- self+cleaning-pc)

</comment><comment><USER4> Try [http://www.bulkrenameutility.co.uk/](http://www.bulkrenameutility.co.uk/)

</comment><comment><USER5> um.. [http://www.hiteksoftware.com/mize/task- scheduler.htm](http://www.hiteksoftware.com/mize/task-scheduler.htm) is quite amusing..</comment>


Remind HN: San Francisco meetup tonight at 6pm on 2nd Street - <AUTHOR>

Specifically, at Eddie Rickenbackers, a spacious, well-lit and not too loud or pricey bar at 133 2nd Street, just 2 blocks from Market Street. Nearest Muni/BART station: Montgomery.
21 & over (sorry), food available, also free wi-fi - just show up and bask in the intellectual glow emanating from other HN members, and feel vaguely superior to all the non-HN members grumbling about this unexpected explosion of techno-entrepreneurism.
This HN Meetup is proudly sponsored by the Babbage Analytical Engine Company - crank your way to a more accurate future! <comment><AUTHOR> There's no especial need to RSVP or anything, but I do encourage people to leave a placeholder comment just so it hangs around the front page for a few hours, today.

See you there!

</comment><comment><USER2> I'll be there!

</comment><comment><USER3> gonna try to make it. thx for putting together.

</comment><comment><USER4> I'll be there</comment>


State actor seen behind "enormous" wave of cyber attacks - <AUTHOR> http://www.reuters.com/article/2011/08/03/us-cyberattacks-idUSTRE7720HU20110803

<comment><USER2> Does anyone here know how one would differentiate between someone (or group of hackers) in China doing this vs. the Chinese government being behind it? I'm just curious how that's determined.

<comment><USER3> Does it matter? Let me explain:

Look at the targets, governments like US, India, Vietnam with which China has a beef, and corporations accessing whose data can give leverage to Chinese companies and government. So, in the end, if you consider all the data that must have been collected, who is the most obvious customer of that data? Its the Chinese government. So even if it is a group of hackers, they must do something with that data. If it was a small time intrusion for bragging rights, then it wouldn't have continued for so long.

So, the way I see it, whether it was a group of hackers (i.e. not directly affiliated with the Chinese govt.) or Chinese government employees, the end customer of the data is the same and hence this activity must have been sanctioned by the government and hence even if they were not in the beginning, I have no doubt that they are currently behind it (whether that implies involvement or support is irrelevant).

<comment><USER4> Let me present another scenario. This is what the intelligence community calls a "false flag attack". Another (rather technologically advanced) state, that for some reason would like China to be attacked publically as a state sponsoring cyber-terrorism, could for example build a large botnet in China and use it to conduct these attacks.

China is the current token 'rogue cyber terrorist' state. So this other agent/state could take advantage of that perception to either gather real data from the attacked entities or conduct all this activity just to damage China's reputation.

<comment><USER5> Not completely out of the question, but considering the risk to China's reputation (as you stated), and their ability to control the internet in China, you would think they would understand this false-flag risk, and take action to prevent this.

</comment></comment></comment></comment><comment><USER6> I thought it was going to turn out that Michael Ian Black was behind lulzec.

</comment><comment><USER7> More good commentary here on another HN post: <http://news.ycombinator.com/item?id=2840062>

and the blog post on McAfee has more details than any popular account: [http://blogs.mcafee.com/mcafee-labs/revealed-operation- shady...](http://blogs.mcafee.com/mcafee-labs/revealed-operation-shady-rat)</comment>


LLJS : Low-Level JavaScript - <AUTHOR> http://mbebenita.github.io/LLJS/ <comment><USER2> The idea of LLJS is quite interesting, similar in ways to asm.js (in fact there was a fork that can compile to it!) but easily human readable and writable. It seems to be a dead project however; I came across it a few weeks ago and it seems abandoned, unfortunately. With wasm, hopefully we'll see more and more languages like this one; I'm imagining a low-level C-like language solely for doing WebGL in a fullscreen canvas.

<comment><USER3> I don't know; honestly, I think the nicest part about wasm is that it might allow us to stop making more dialects of JS, get rid of JS altogether and compile to the web whatever language we like (I'm looking at you Haskell).

<comment><USER4> I never really have understood this kind of sentiment. There are a huge number of people who like js, to the point that it is used in a bunch of places that are not the browser. In terms of dynamic scripting languages, it's a fast, easy, and flexible option.

<comment><USER3> Disclaimer: the below text is just my opinion meant to answer the Parent's questions about my preferences. Please do not take it to be an attempt at starting a flamewar (or, for that matter, an invitation to do so).

I have never enjoyed dynamic typing; it has always seemed like TheWrongSolution™ to me. And Haskell really drives that home for me (i.e., it is possible to have a static type system with all the benefits that gives you without any of the headaches).

Additionally, I really dislike the trend of JS moving out of the web browser; it is incredibly easy to write impenetrable JS (particularly with the compile- to-js languages) which makes it much harder for me to understand what is running on my system, how to contribute to it and how to debug it.

Furthermore, JS is fast in comparison to other interpreted dynamic languages, but is quite slow compared to most native code (like the kind you would get with Haskell).

I am not trying to be one of the JS naysayers that gets into religious wars, but I will say that I am generally not a fan of the language, and the possibility of removing it from my life does seem like a net-positive.

But again, my intention is not to start a flamewar, simply answer your questions about my preferences.

<comment><USER4> Your choices are totally sensible.

What I meant was the idea that everyone is just waiting for JS to go away seems like you're extrapolating your preferences onto other people.

<comment><USER5> He extrapolated to me quite well. The existence of hundreds of languages that compile to javascript is pretty good proof that there are tons of people that are waiting for JS to go away.

<comment><USER3> Or, at the very least, that there are many people that feel unsatisfied with JS in its current form.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> They actually made a version that generated asm.js. Unfortunately that was before asm.js was stable and they haven't updated it since so it no longer generates valid code.

The language and generator were simple enough to use in a browser-only environment so it's a shame there was never more interest in it. It would've been nice to be able to fool around with asm.js without having to set up a dev environment, which isn't possible in some circumstances.

</comment><comment><USER7> I asked Carmack and others, he hated my idea and said it was silly.† I still think it's the right way to go. _I think we should physically have CPU 's that you can hand a binary you don't trust, off of the Internet, to and nothing bad can happen._

Read that again. CPU's should be able to be given a binary blob, and nothing bad can happen. It should be native speed because it's running on the actual metal. Like a hardware CPU, for the web.

A multigigaherz processor cannot render an 8-bit (that is 0-255 here) processor running at 1.79 MHz with a whopping 2 kB of RAM that is orders of magnitude slower: [https://news.ycombinator.com/item?id=9624483](https://news.ycombinator.com/item?id=9624483)

This is insanity. It's time for new hardware, that you can say "go wild" to by typing in an http address. 90% of the reason for enduring this slowness is security. (It's okay to interpret javascript - what's the worst that will happen. It's not okay to agree to run any binary regardless of what will be in it.)

It's time for Intel to make chips that you can hand to a website and say, "go wild". I think reinventing C in Javascript at 10% of performance (generously), is what is silly. Running Mario at a bit too slow to be called "perfect" is what is silly. It's 2015. Light travels 10 centimeters between clock cycles, with cores at 3 GHz. Do we really have to spend three _billion_ cycles every second, on interpreting javascript?

† "Dedicated hardware would be silly – the current hardware can do secure sandboxing just fine. Cross platform compatibility is an issue with a lot of possible solutions; dedicated hardware would be a far worse case."

<comment><USER8> NaCl?

<comment><USER9> [https://developer.chrome.com/native- client](https://developer.chrome.com/native-client)

Native Client is a sandbox for running compiled C and C++ code in the browser efficiently and securely, independent of the user's operating system.

<comment><USER8> Oh, it was a suggestion to the guy, but thanks for elaborating.

<comment><USER7> yes, along those lines. I don't know how large a subset NaCL is though. And it's yet another target. It would be cool if you could just target x64, and if the browser is running in a box that is new enough (has such a CPU) your thread literally GETS an x64 core whenever it has focus. All of it - same as if if it were a desktop app. Like a coprocessor. (Exactly what was called a silly idea.)

</comment></comment></comment></comment></comment><comment><USER3> This appears to be about a language that compiles to js (asm.js it seems?), not wasm (WebAssembly) which is mean to be more like an IR (think of llvm ir) but for the web. Am I misunderstanding something?

<comment><USER2> _> more like an IR_

Actually, it's more like a compressed abstract syntax tree. Subtle difference, but there's no stack machine you're targeting in wasm, which I think is quite interesting!

<comment><USER3> I suppose, but my point is that what the OP posted appears to be completely unrelated to wasm…

</comment></comment></comment><comment><USER10> I wonder if LLJS could become something like Cython for JavaScript. Imagine writing Node or Emscripten bindings to a C library with JS!

</comment><comment><USER11> Can we get over all this native JavaScript junk and finally move to either platform independent llvm bytecode (wasm as I understand it) or just use the damn jvm? There's no need other than faster Dev times (which can be handled in other ways) to keep the code in a non compiled format anymore. It's nuts and super inefficient. Let's move on already.

<comment><AUTHOR> If wasm is effectively adopted, the browser could become the cocoon of most of end-user applications.

It will be like a VM plus an OS API:

      -DOM replace GUI frameworks (like Qt)
      -Canvas replace framebuffer (or GDI)
      -JS File API replace fopen() (or with emscripten virtual FS)
      - ...

Like in 90s, we could see rewamping of applications but for the web this time (instead of Windows).

We can see JS as a higher level shell and the Web API as a cross-OS POSIX.

<comment><USER12> The DOM is going to be the first thing to go if WebAssembly actually takes off.

It's simply not a suitable performant model for a GUI event/render tree.

<comment><USER13> ...and the open web will be the 2nd thing to go. If businesses that rely on a walled garden approach (Facebook, a lot of "software as a service", etc) and the paranoid cartels that rely on re-creating scarcity (the {RI,MP}AA, "ebooks", what's left of newspapers) can bypass the DOM and render directly, they will.

Does anybody seriously think that the people that try to disable the right- click context menu in a futile attempt to prevent people from using "save as" will bother to re-create copy-paste support? Is anybody delusional enough to believe that businesses will _pay_ developers to add back in proper URL deep- linking support into their "app" with custom rendering that loads page content AngularJS-style?

Sure, those of us that know what we are doing can [decompile and] read the source and bypass the whole mess. That doesn't help normal people, and worse it's a workaround; links will still be broken. Additionally, who knows how courts will interpret "decompiling" WebAssembly. Does that count as a "technological measure that effectively controls access" under the DMCA?

The requirement of rendering to the DOM puts _de facto_ limits on what can be done on the client, which is part of what has made the internet and the web so successful. Giving those that wish to lock up the commons the tools they need to build their own locks will be one of the worst things to happen to the internet. Unfortunately, I suspect that a lot of the people that _should_ understand these issues will be distracted by shiny toys and promises about better tools and faster apps when they should be thinking about how the technologies they support will affect their future.

edit: fixed spelling typo

<comment><USER14> We are going to need self-declared URL labels/annotations plus third-party whitelists/blacklists, so that browsers/extensions can filter the "webs" that will splinter. This could extend all the way to suppressing the rendering of links which violate user preferences.</comment></comment></comment></comment></comment>


Tech Companies Need Philosophers - <AUTHOR> https://qz.com/1734381/why-tech-companies-need-to-hire-philosophers/ <comment><USER2> If you want to arrange more job opportunities for humanities majors just say so.</comment>


Ask HN: Where can I find datasets of size greater than 1 GB? - <AUTHOR>

I am looking for datasets of size greater than 1 GB for a graduate academic project.<p>Datasets which are publicly available (or available upon request) and contain location-data and/or vary over a period of time. <comment><USER2> [http://aws.amazon.com/datasets/](http://aws.amazon.com/datasets/)

</comment><comment><USER3> Try [http://academictorrents.com/](http://academictorrents.com/) See also the comments in [https://news.ycombinator.com/item?id=7149006](https://news.ycombinator.com/item?id=7149006)

</comment><comment><USER4> Historical weather would fit your description. The NOAA has a large collection going back a century or more from different weather stations.

ftp://ftp.ncdc.noaa.gov/pub/data/

</comment><comment><USER5> Openstreetmap?

Not sure that is the sort of data you want. In the U.S., lots of states and the federal government also have extensive geographical data sets (so you mind find one with a theme you are more interested in).

</comment><comment><USER6> Look for the following:

Census data

Maybe wikipedia's data is available?

Is there some open search engine, which gives its data free?

There could be more but I'm tired and this will hopefully be of help.

</comment><comment><USER7> [http://911datasets.org/images/911datasets.org_all_torrents_J...](http://911datasets.org/images/911datasets.org_all_torrents_Jan_30_2014.zip)

</comment><comment><USER8> [http://www.imdb.com/interfaces](http://www.imdb.com/interfaces)

</comment><comment><USER9> You can download Wikipedia data; with only articles, it's around 20gb.

</comment><comment><USER10> OpenCrawl has TBs worth of info.</comment>


Ask HN: How will net neutrality fair under the Trump administration? - <AUTHOR> With the FCC having been recently asked (and quickly complying) to clear its agenda to make way for the new administration, it is evident that Tom Wheeler is on his way out. Tom Wheeler was a strong proponent of Net Neutrality, while Trump has lambasted it throughout his campaign. The next FCC chairperson is likely to be anti-Net Neutrality; so what can the technology community do to prepare for new leadership and new direction from the FCC? If policy fails, how might the internet's democracy fight the financial interests that have long denounced Net Neutrality? <comment><USER2> That is an interesting framing of the question. Who is to say that "the Internet's democracy" disagrees with plain old democracy on this issue?

Since I assume that the new administration will be biased in favor of free enterprise, the answer to how you can keep Net Neutrality seems obvious: get together with like-minded people and string up your own wires.</comment>


What is your "coming soon" page for? - <AUTHOR> http://joel.is/post/6452586162/coming-soon <comment><USER3> _Instead of a "coming soon" page, put up a landing page for your product. Make it look like the product exists, and then when people try and sign up, show them a page letting them know that you're not quite ready for them yet ... By skipping the "coming soon" page, you gain validated learning about the emails you collect: they are people who thought your product existed and showed a real interest by trying to sign up._

On the other hand I'm going to be somewhat annoyed if you lead me on about your product to the point of my giving you email address, and only then find out it's vapor.

<comment><AUTHOR> I can completely empathise with you on that point, but I am not sure it should stop you going ahead.

I think the important thing is the use of copy and the general feel and style of the communication you have with users.

If you make it clear that your ability to create a useful product depends very much on them, I have found it can have quite the opposite effect: they can really become very loyal fans and encourage you along the way, even before you have a product. People love to feel like they are part of shaping something, and when you make it the case that it is genuinely what they are doing, it works amazingly.

</comment></comment><comment><USER4> The Hipster-type examples of the world which gets all sorts of coverage on TC are the occasional winners and make everyone feel it's easy (success bias). You don't hear about the hundreds of other folks who put up a coming soon page and got no love.

And so if you assume that you're site will not get tens of thousands of visitors like Hipster, Joel's suggestions for a landing page that yields conversations and validated learning is smart and pragmatic. If you're site gets the more likely 10 or 100 visitors and you present what your product does, you'll be getting real "leads" and not just be attracting "promiscuous" folks who will give their email but who will ultimately never be customers/users.

Great post Joel.

<comment><AUTHOR> Thanks!

I absolutely agree. I answered a question on Quora ([http://www.quora.com/When-is-the-best-time-to-actively- publi...](http://www.quora.com/When-is-the-best-time-to-actively-publicise- your-beta-signup-page)) along the same lines, this is the key part of my answer:

Start with 5 or 10 people and get conversations going and you can gain a massive amount of extremely useful information. Much more than if you gained thousands of emails but never spoke to any of them.

</comment></comment><comment><USER5> He should have referenced this article which explains how he came to think this way. [http://blog.bufferapp.com/idea-to-paying-customers- in-7-week...](http://blog.bufferapp.com/idea-to-paying-customers-in-7-weeks- how-we-did-it#more-13)

One of the most useful articles that I've read in the past thirty days. Those collect email pages have got it all wrong. Channeling PG if they don't want what you're building, then build something else.

Done correctly like Buffer shows you can not only get emails but validated emails more likely to result in first customers.

<comment><AUTHOR> Thanks Rick. I linked to it at the end but admittedly not in a very obvious way. Thanks for pointing this out.

Yes, I used this technique to launch Buffer and had my first paying customer 4 days after launch.

I think the key thing is to focus on conversations in order to validate what you're building is something people want.

</comment></comment><comment><USER6> It seems to me that coming soon pages can really only be pulled off by people who already hold some weight in the community. If startup "X" with founder John Doe throws up a coming soon page and tries to push it in various media outlets, it's likely to go nowhere.

Targeting "coming soon" pages to the eventual audience of your product (and including at least a relevant description) not only provides the opportunity for valuable feedback, but if you aren't a recognizable name it also gives people a reason to sign up for your product.

<comment><USER7> Not sure how much I agree with this. IT's less about making a name and more about finding out where your target audience is hanging out and communicating the value of your product in a way that gets them interested.

If you're creating an app for a specific audience, you should be active in forums, blogs, etc. where your audience hangs out, if for no other reason than to gather customer validation for your idea, etc. You can gauge interest in your idea early on by sharing it in these forums. If you get folks invested early like this, they'll not only want to join, they'll be more likely to spread the word.

Passively posting a "Coming Soon" page is more or less the second step - <USER2> first is getting in front of your potential audience and engaging with them in a meaningful way. I don;t think you need to necessarily build a name for yourself, you just need to put yourself out there.

</comment></comment><comment><USER8> Suggestion: As long as you're not putting anything useful on your landing page, why not join the This Page Intentionally Left Blank Project?

<http://www.this-page-intentionally-left-blank.org/>

</comment><comment><USER9> Coming soon page could be valuable if they contain enough information on what the product is about so that __interested __people could join. This will be a much more valuable list than when people blindly join in due to hype.

</comment><comment><USER10> The same could be said for Flash intro movies.

</comment><comment><USER11> Great advice. The problem with just blindly collecting emails is that you may be able to accumulate a bunch of emails passively. But by the time you release the product and email all those folks, the conversion rate of people reading your email, and caring will be dreadfully low.

On the other hand, if you have a conversation with them, and get their feedback, and make them feel like their ideas will help make the product better, more people will be interested in trying out your product. Sure, it's not as scalable, but you're gonna attract more quality users, and those users will be the same people who will go out and tell others about your product.

You get more validation, more feedback, and more ideas on what critical features to implement. Just getting email addresses is not as effective.</comment>


OpenBazaar 2.0, powered by IPFS - <AUTHOR> https://www.openbazaar.org/blog/openbazaar-2-0-live/ <comment><USER2> I work on OpenBazaar and I'm happy to answer any questions. The basics: It's a fully distributed network where people engage in trade directly with each other using cryptocurrency. Because there are no middlemen, there are no fees, there is no centralized data collection, there are no account sign ups, and there is no censorship.

You can view the server (Go) here:

[https://github.com/OpenBazaar/openbazaar- go](https://github.com/OpenBazaar/openbazaar-go)

And client here:

[https://github.com/OpenBazaar/openbazaar- desktop](https://github.com/OpenBazaar/openbazaar-desktop)

<comment><USER3> As someone who works in the cryptocurrency industry, it's refreshing to see someone dedicated to building something actually useful instead of another depressingly transparent get-rich-quick P&D scam. I will download and try OB this week.

<comment><USER2> Glad to hear it, please let us know how it goes. There's a feedback button built right into the client so it's very easy to let us hear your feedback!

<comment><USER4> Same here. I created a few service listings this weekend. I really like the technology (can I use the word "platform" here?) and the vision.

I wonder about the business side though. Vendors need many buyers and vice versa, yet download and installation presents significant friction.

For OB, what might become a kernel of serious market activity as collectibles apparently was for eBay in their early days? I believe you are targeting Crypto trading, right?

</comment></comment></comment></comment><comment><USER5> This is great news! I would love to hear comments from

Tim Berners-Lee: Is this the decentralized web he envisioned and was recently complaining that it gets increasingly lost?

[https://www.theguardian.com/technology/2017/nov/15/tim- berne...](https://www.theguardian.com/technology/2017/nov/15/tim-berners-lee- world-wide-web-net-neutrality)

Lawrence Lessig: About the legal implications in respect to his book Code is Law.

[https://medium.com/wordsthatmatter/the-neutrality- network-e5...](https://medium.com/wordsthatmatter/the-neutrality- network-e5d9ecabd544)

<comment><USER6> Lessig: [https://youtu.be/pcYJTIbhYF0](https://youtu.be/pcYJTIbhYF0)

</comment></comment><comment><USER7> SamPatt reminds me a lot of Ross Ulbricht[1], the creator of the Silk Road. Ross started silk road using tor and believed this open marketplace to buy and sell anything: drugs, child pornography, guns, bombs, organs, sex workers, etc. would reduce the government's ability to outlaw and let people decide. True Libertarian beliefs.

I would recommend to Sam that he reads American Kingpin: The Epic Hunt for the Criminal Mastermind Behind the Silkroad [2] and figures out how far he is willing to go for his beliefs. When national actors get involved, your life can become miserable, you will be watched, followed, drug cartels could go after your family to build backdoors in, NSA will go after you to build backdoors in, there is no limit to human evil, corruption and avarice. Be careful man.

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

[2] [https://www.amazon.com/American-Kingpin-Criminal- Mastermind-...](https://www.amazon.com/American-Kingpin-Criminal-Mastermind- Behind/dp/1591848148)

</comment><comment><USER8> I know it has been ongoing for awhile, but.. just in case.. cloning the repositories anyway, powerful application like this shouldn't be available only on github.

<comment><USER2> Clone away!

Mirroring or torrenting the packages is also a good idea:

[https://github.com/OpenBazaar/openbazaar- desktop/releases](https://github.com/OpenBazaar/openbazaar-desktop/releases)

<comment><USER9> Putting a mirror in IPFS is a good idea, you can update repo directory anytime.

</comment></comment></comment><comment><USER10> > Once you've downloaded OpenBazaar, send an email to jenn [at] ob1.io with > your ob:// user profile or store address AND your mailing address and we > will send you a few of our OpenBazaar promotional items including stickers, > pins and some surprises!

Uhhhh. Isn't that kind of an opsec fail? I mean, you can always re-register a new profile/store, but still?

<comment><USER11> If linking your address to your store is "an opsec fail", then yes.

If it's not, then no.

There are plenty of businesses that are perfectly happy to let people know their address.

</comment></comment><comment><USER12> Hey SamPatt, what are the top 3 products being sold on OpenBazaar? Also, does it accept Monero?

<comment><USER2> Multisig was needed for our escrow and until recently it wasn't in Monero, so it's not integrated yet. Also ideally it would have SPV, but Monero can't do that. But I like Monero and hope it does get integrated eventually.

We can't know what the most popular products are because people can engage in trade without the rest of the network knowing about it. If you download the app and look at search results then play around with the filters, you can make some guesses.

<comment><USER13> What are your guesses?

<comment><USER2> The biggest part of the community is cryptocurrency users so I know some of the sales are related to cryptocurrency swag and electronics. There are quite a few artists on there as well. I know one of the biggest sellers on the 1.0 version was a Dutch man who sold homemade waffles.

</comment></comment></comment></comment><comment><USER14> The website seemed down earlier, and currently its quite slow. Im wondering, if ipfs is distributed then why isnt it able to handle this traffic? Are there more decentralized options?

<comment><USER15> The website isn't on IPFS yet. A new marketing site published to IPFS is something we want to do but hasn't been a priority (we weren't expecting to have a big influx of traffic).

The application is available on Github[1], and that's the part that uses IPFS.

[1] [https://github.com/OpenBazaar/openbazaar- desktop/releases](https://github.com/OpenBazaar/openbazaar-desktop/releases)

</comment></comment><comment><USER16> Congrats! OB is great and openbazaar-go has been a very helpful project for us.

<comment><USER2> I'm glad to hear this, if you're using OpenBazaar in your project I'd love to hear more about it (you can join our developer calls we hold bi-weekly).

<comment><USER16> At least a couple of the guys I work with have gotten help from your team on understanding it all. We used it to get [https://github.com/textileio/textile- go](https://github.com/textileio/textile-go) off the ground. Def not possible with ob-go.

<comment><USER17> What is it?

</comment></comment></comment></comment><comment><USER18> I'm wondering what the social network equivelant is to OpenBazaar? Is there one that's as easy to setup and use?

<comment><USER19> Scuttlebutt is the first one that comes to mind. One of the more popular clients is Patchwork, which can be downloaded here:

[https://github.com/ssbc/patchwork/releases](https://github.com/ssbc/patchwork/releases)

Another awesome one is Fritter (a twitter clone), which can be used with the dat protocol and through the Beaker browser. More details here:

[https://github.com/beakerbrowser/fritter](https://github.com/beakerbrowser/fritter)

<comment><USER20> Just checked out scuttlebutt. Everything published is public on the network and is immutable. Forever.

Cool project for sure but seems like a bad tech to build a social network on.

<comment><USER21> I dunno. There's something nice about holding people accountable to past statements. There's also something nice about knowing that "If I hit submit, I'll be stuck with this FOREVER" People tend to be a bit more thoughtful in that scenario. The thoughtless jerks aren't, of course, but there's not much that can be done about them in any social network.

Practically speaking the only thing anyone every _really_ complains about is the inability to edit typos.

</comment></comment></comment></comment><comment><USER22> Server's down. Here's the archive.org snapshot:

[https://web.archive.org/web/20180326210403/https://www.openb...](https://web.archive.org/web/20180326210403/https://www.openbazaar.org/)

<comment><USER23> Unfortunately, Archive.org does not archive the downloadable installers because of robots.txt. Is there a mirror for these binaries?

<comment><USER2> Yes:

[https://github.com/OpenBazaar/openbazaar- desktop/releases](https://github.com/OpenBazaar/openbazaar-desktop/releases)

<comment><USER23> Thank you.

</comment></comment></comment></comment><comment><USER24> This sounds interesting. From what I understand, openbazaar is first a protocol for trade and then a product. So is there any documentation on how can I build something on top of this protocol?

</comment><comment><USER25> Have you or your team used it to trade anything yet? Would be interested to hear what kinds of things you traded and how the process went.

Apologies if user stories are on your site-- I can't access it atm.

<comment><USER2> This announcement was made last November, I'm not quite sure why it's resurfacing now (though I welcome it!), but there's been a substantial amount of trade on the platform since it began.

I've been running the swag store and we've sold hundreds of tshirts, pins, stickers, etc. But I always get excited when a merchant reaches out and tells us about the sales they've gotten.

No question that it doesn't even have a small fraction of the users of major platforms, we've got a long way to go. But there have been about 42,000 unique nodes on the network since Nov 2017, and I'm pretty happy with that number. It's a fairly radical proposal to have people run their own store on their own computer, but there are at least that many people in the world willing to do it.

Just wait until the mobile app and the browser client are finished!

<comment><USER26> I actually missed the announcement in November (despite being very excited about the project) so I'm glad it was re-posted.

</comment></comment></comment><comment><USER27> Why don't you take fees to support further development?

<comment><USER28> Disclaimer: not associated with OpenBazaar, just a devil's advocate.

If Alice and Bob were to trade drugs on my website, and I take fees for that commerce, you can bet that law enforcement is knocking on my door very soon.

<comment><USER29> I'm thinking law enforcement will come knocking whether you take fees or not. Especially with the recent legislation.

Craigslist took down their personals and they don't make any money off of it.

<comment><USER30> Now we need to make a distributed version of Craigslist.

</comment></comment></comment></comment><comment><USER31> What uses do you see for this aside from illegal drugs, cybercrime, terrorism, child porn and human trafficking? Do you feel you're making the world a better place with this project?

<comment><USER2> I can speak objectively about this because I watch the network every day. Tens of thousands of listings on the network and the vast overwhelming majority are legal and moral. People use it because it's cheaper and more private than alternatives.

There are some illegal drugs on the network. Thus far I haven't seen any evidence of the other stuff you've claimed.

Perhaps it's human nature that people will eventually abuse the technology in that way, but it doesn't mean the technology isn't valuable, and it doesn't mean that the benefits don't outweigh the costs.

This is obviously an age-old debate about new technology, but if we had the mindset that any technology that can be used for evil shouldn't be allowed to exist then we wouldn't have TCP/IP and HTTP and SMS and SMTP, etc.

<comment><USER17> Is there a convenient place to see the listings without installing the app?

<comment><USER2> The app is very easy to download and run:

[https://github.com/OpenBazaar/openbazaar- desktop/releases](https://github.com/OpenBazaar/openbazaar-desktop/releases)

But if you can't be bothered then there is a search engine as well:

[https://blockbooth.com/search/](https://blockbooth.com/search/)

</comment></comment></comment></comment><comment><USER32> Heard a lot of news about OpenBazaar. Surprised the homepage design is so, well, confusing! If you guys need any help... :) www.beaver.digital</comment>


Ask HN: Review my startup, wompt.com - <AUTHOR>

Check it out http://wompt.com/
Wompt is a group chat web app with an integrated twitter feed. My cofounder and I grew up on chat - we really missed old-timey web chats and IRC (every job we've ever had blocks IRC ports).
Would love to hear you feedback. Lurking in http://wompt.com/chat/startups. <comment><USER2> I'm confused by trying to join a channel without seeing a clear list of what channels currently exist and how many people are in them (two things which you can do in IRC and most chat apps). So I can enter any word in the box and "Join Channel" and just hang out in there by myself? That made me think, this is a good use case for private chat where you could tell your friends "join me in 'secret' channel" and they could do so, without being listed on the site. That would be cool. However, since I was just taking a look at it by myself I couldn't test that. Does the landing page look different if you are signed in? I'd like to see an About page on there to get a better idea of who is running this site before I give over google/facebook login.

Pros: I love the name and the simplicity.

</comment><comment><USER3> Good clean look, like the ability to instantly view without signing in, though I can see good and bad from that as well. First its a low barrier of entry to observe, but that could deter others from as openly engaging, and also was slightly confusing to need to sign in when it appear to already be live.

Also, is there a need to require a signed in user, or could you allow anonymous users as well? It seems like that would really improve engagement. Finally, is any ability for users to moderate/administer certain chats, it wasn't immediately clear that there was?

</comment><comment><USER4> Since I can't use the app without signing in, you need to place the sign in links more prominently. When I click on a chat room, it says "Anonymous: Sign in to send messages". Please make that a link so that I can click and sign in right away, not look for the sign in links on my own.

It sounds trivial, but little annoyances like these will keep people from trying the app.

You also need to seed the chatrooms with some users and conversation. I don't see anyone in any room.

</comment><comment><USER5> I went to the page and was confused. I may not be as chat savvy as some but I didn't know what I was meant to enter in that box on the front page.

Then I assume we are chatting based on Twitter hashtags?

I know it seems trivial but stating that in a short sentence somewhere on the page would make all the difference.

I believe this will really help lower the barrier for entry.

</comment><comment><USER6> Feedback: It wasn't exactly clear that I was entering a topic or channel to chat about on the front page, rather then my nickname.

</comment><comment><USER7> Looks great, it also has an HN feel to it. I'm also in the process of building on a chat app as a fun project.

<comment><AUTHOR> Its a fun genre of app to build. What software are you using?

</comment></comment><comment><USER8> <http://wompt.com/></comment>


Resuming SameSite Cookie Changes in July - <AUTHOR> https://blog.chromium.org/2020/05/resuming-samesite-cookie-changes-in-july.html <comment><USER2> It should be noted that SameSite was broken with Google Sign-in because Google themselves never set the None attribute before they reverted the rollout in April. [0]

This is a killer for all federated login systems.

[0] [https://github.com/google/google-api-javascript- client/issue...](https://github.com/google/google-api-javascript- client/issues/561)

<comment><USER3> Can you recommend a good article that gives an overview of the issue? I'm not really familiar with how SSO is implemented and why SameSite breaks it.

<comment><USER2> Samesite won't break it if you set it none. Eg samesite=none Google failed to set it before the official rollout.

Reason is that sso effectively uses an iframe or popup to a 3rd party auth provider (Google, Microsoft, Auth0...) Provider saves a cookie with that state (from something like accounts.google.com) and usually reads it back from first party context.

If samesite is not set to none, supporting browsers are not allowed to write cookies on the auth domain from the firstparty context, and so the firstparty scripts don't think it ever happened, even though it did. First party scripts can't read it and so sso failed.

</comment></comment></comment><comment><USER4> > and engage with websites and services to ensure they are prepared for the > SameSite labeling policy

I'm not experienced in this area, what does "engage with" mean in this context? Does Google send emails to webmasters, do they seek out large sites and post comments on their blogs saying "SameSite! It's in July so be ready OK?"

Is it a message that appears in Google Console, is it a posting on Google Groups and they hope lots of people will see it?

<comment><USER5> I have been seeing warnings about this in the dev console for a while now.

A cookie associated with a cross-site resource at [url] was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at [https://www.chromestatus.com/feature/5088147346030592](https://www.chromestatus.com/feature/5088147346030592) and [https://www.chromestatus.com/feature/5633521622188032](https://www.chromestatus.com/feature/5633521622188032).

</comment></comment><comment><USER6> [https://web.dev/samesite-cookies-explained/](https://web.dev/samesite- cookies-explained/)

[https://auth0.com/blog/browser-behavior-changes-what- develop...](https://auth0.com/blog/browser-behavior-changes-what-developers- need-to-know/)

</comment><comment><USER7> Can we have a fixed PDF viewer before you do this, please?

Range requests (which you'll see sent for linearized PDFs) are currently broken, and the cookies won't be sent at all if the SameSite flag is set or implicitly considered to be set: [https://bugs.chromium.org/p/chromium/issues/detail?id=961617](https://bugs.chromium.org/p/chromium/issues/detail?id=961617)

<comment><USER8> Who is "we"? I mean, I'm not going to do it. And I suspect it's not going to get fixed before July, but I'd love to be wrong.

<comment><USER7> Chrome contributors/developers, ideally..

It seems a bit irresponsible to ship this change anyway in July with this bug unfixed. Affected authenticated PDFs are _completely_ broken beyond rendering the first page or so.

<comment><USER8> What does one have to do with the other?

Anyway, here's a workaround for you. Right click the pdf hyperlink > Save As.

<comment><USER9> One... triggers the other. You don't get the pdf bug without the cookie change per that bug report.

<comment><USER8> I missed that. Explicit SameSite: None is still possible though, and no more broken than it is now.

</comment></comment></comment></comment></comment></comment><comment><USER10> Third party cookies are a liability, and I wish they go away (although the thought of having Google set web standards scares me). However, I'm afraid what this will do is accelerate a different type of tracking involving first party websites fronting the delivery of tracking scripts .(e.g. using CNAMEs, A Records ... etc)

<comment><USER11> Thankfully, both pihole[1] and uBlock Origin on Firefox [2] now block CNAMEs.

[1] [https://pi-hole.net/2020/01/19/announcing-a-beta-test-of- pi-...](https://pi-hole.net/2020/01/19/announcing-a-beta-test-of-pi-hole-5-0/)

[2] [https://www.bleepingcomputer.com/news/security/ublock- origin...](https://www.bleepingcomputer.com/news/security/ublock-origin-now- blocks-sneaky-first-party-trackers-in-firefox/)</comment></comment>


Ask HN: Whatever happened to How to websites like Wikihow? - <AUTHOR> I think there's enormous value in short how to guides, especially if done on subjects like C's and the like. Add a curation system, and voila, seriously useful resource right there. These things used to be popular, what happened? <comment><USER2> Perhaps dilution of value from hiring non-experts to "write copy" that floods the site with mediocre (or just plain wrong) content? Seeking search engine hits, rather than trying to attract and curate quality, useful, articles.</comment>


Building a Modern Computer from First Principles - <AUTHOR> http://www1.idc.ac.il/tecs/

<comment><USER2> Well, I'm sold. I just ordered the book - would anyone be interested in forming a study group to work through the suggested course plan together? Might be more fun that way. Hit me up at the email address in my profile if you'd be interested.

</comment><comment><USER3> I also wonder about the physics -> CS part. What about the quantum mechanical nature of the electromagnetic forces governing electronic components used to build computers, like transistors? That would really make this complete.

<comment><USER4> That would also make it a much, much bigger book.

</comment></comment><comment><USER5> i perused this in the library recently. it looked like it would make a nice freshman course, or material to help folks with a less formal education build up a nice base for their existing knowledge.

i don't think there is much in it to interest graduates of a decent CS program, though.

<comment><AUTHOR> I am a self-taught programmer, and the course filled a lot of holes and gave me a much better understanding of how the different levels work together. For me it was an eye-opener on par with SICP.

</comment></comment><comment><USER6> I got my copy a few weeks ago and I must say that the book is well written and inspiring.

</comment><comment><USER7> There is also a lecture on the same topic.

"From NAND to Tetris in 12 Steps": [http://www.catonmat.net/blog/video- lecture-from-nand-to-tetr...](http://www.catonmat.net/blog/video-lecture-from- nand-to-tetris-in-12-steps/)

</comment><comment><USER8> I watched the video associated with the course and it made me giddy. I love to be able to see the bigger picture and it sounds like this course could help me do that.</comment>