How Facebook Is Selling Your Timeline to Advertisers - <AUTHOR> http://www.betabeat.com/2011/12/23/exclusive-leaked-details-of-how-facebook-plans-to-sell-your-timeline-to-advertisers/

<comment><USER2> I think we've reached the point where no-one should be surprised about this. And besides:

 _What most users don't know is that the new features being introduced are all centered around increasing the value of Facebook to advertisers_

Centered? I don't know. Timeline seems pretty user-centric to me. I've had it for a few months as a developer, but since it became public I've seen plenty of my friends filling out details, tagging their friends in previous big life events... they're not doing it because Facebook tricked them into it, they're doing it because they want to.

Yes, there is also an advertiser advantage to this- same as any information you plug into Facebook. But I don't think it's fair to paint Facebook as cynically putting Timeline together so that they can mine data. If you're comfortable with the way Facebook makes money (which, personally, I am) there's nothing to go crazy about in here.

<comment><USER3> Most of the people I talk with don't like the idea of their pictures and words being shown to their friends as ads for products. Most of the people I talk with don't like the idea that things on their profile and in their feed are influenced by how much money Facebook can charge from ads. Most people I talk with are already sick of Facebook changing their interface and pretty skeptical about Timeline (they don't have the time to invest in tweaking it, they're concerned about old status messages and photos becoming a lot more visible) so get irritated when reminded that it's main goal is to maximize -exploitation- revenue.

So yeah, it's true that at some level nobody's particularly surprised by this any more. People are sick of Facebook and waiting for what's next, and for most of them Timeline will just reinforce those feelings.

<comment><USER2> _Most people I talk with are already sick of Facebook changing their interface and pretty skeptical about Timeline_

Most people 'hate' every single change Facebook has ever made, yet somehow manage to totally forget about it within about two months. People hate change.

Honestly, if "most people" are annoyed that Facebook serves ads based on the content of their profile then they should leave Facebook. Because that's the business model the site operates on.

<comment><USER3> I don't think they forget about it, any more than they forget about Facebook's pattern of privacy abuses and Mark's non-apologies. If there were an easy-to- use alternative, the people I talk to would love to leave FB instantly; as it is, they're cutting down how much they use it and feeling increasingly resentful. So yes they've posted great numbers in 2011 but from a competitive strategy perspective they're vulnerable.

<comment><USER2> The people you talk to are not typical. "Most people" aren't aware/bothered by the privacy aspects of Facebook- just look at the number of visible, insecure profiles.

Facebook is not vulnerable from a privacy standpoint- that was the reason everyone said that they were moving to Google+. They didn't.

<comment><USER3> The people I'm talking to are moms, dads, students, photographers, recent graduates, old friends from high school in rural Pennsylvania, relatives, people at the place I get my hair cut ... okay, admittedly I get my hair cut in San Francisco, and I talk to privacy advocates as well. It's not unanimous by any means, plenty of people still think it's just fine, but if they lose even 5-10% of their usage and/or engagement over the next quarter they'll have a real problem getting the IPO valuation they want.

Inability to use buggy poorly-designed extremely complex software correctly is not evidence that people don't care. I'm a software engineer and security guy and deal well with complexity and even so I haven't been able to figure out how to keep my profile both visible to the people I want to and secure without devoting way more time than I have available. When I tell people that they often respond "oh thank god it's not just me".

It's not just privacy; it's the whole pattern. The constantly-changing UX is a huge deal to a lot of people, and so is the general attitude of "you're the product" and Zuckerberg's non-apologies.

Agreed that Google+ botched their short-term chance but it has decent usage and now has a much better first-user experience so if people react badly to Timeline, there is an alternative. In any case Google+ has clearly shown there's pent-up demand for a Facebook alternative. They'll keep investing in any case, and there are plenty of other options coming along. I talked about this back in September in "In Chaos there is Opportunity" <http://www.talesfromthe.net/jon/?p=3163>

</comment></comment></comment></comment></comment></comment><comment><USER4> Hi, I'm an engineer from Facebook's ads team. I worked on ads for Timeline.

The article's unsubstantiated premise is that Facebook releases products solely with its bottom line in mind. Based on my experience working on ads for Timeline, I'd say that this is antithetical to our nature. We optimized timeline for user experience (engagement) and released it not because of its impact to our bottom line but DESPITE that.

If you aren't convinced, look at the ads on Timeline, and compare to Profile. There were on average four ads per Profile page. Now there's two. People also click away a lot faster on Profile (because there's less content), but people now scroll around and navigate within Timeline. Photos are bigger, we show a lot more content. The resources to support these new products are expensive. If this doesn't illustrate our focus on engagement over our bottom line, color me surprised.

Just another point I wanted to clarify: Whenever money changed hands, even for organic content like sponsored stories, they are clearly labeled "Sponsored." If you don't see Sponsored, there was no optimization for revenue, because no money changed hands.

Ultimately, I think the author is exploiting a confusion between news feed and timeline. Sure, we will experiment with sponsoring organic content in news feed (max one), but they will be clearly labeled and things you can already see.

I just wanted to clarify a few issues that the author is either truly confused about, or is aware of but intentionally exploiting. I hope this helped.

If you have any questions I can answer, I'll be happy to clarify.

<comment><USER5> Just because Timeline shows fewer ads doesn't mean that net ad revenue doesn't come out ahead. Sponsored stories just need to make up for those 3 missing ads, which they almost surely will.

Optimizing for user engagement, when you make money off of ads, is optimizing for the bottom line by definition. To claim otherwise is disingenuous at best.

<comment><USER4> > Optimizing for user engagement, when you make money off of ads, is > optimizing for the bottom line by definition. To claim otherwise is > disingenuous at best.

Well, optimizing for f(x) (revenue) is different than optimizing for g(x) (engagement), which is related to f(x), and claiming that we are objectively optimizing for f(x). Not sure if that makes sense, but you are right that it is to our long term interest to optimize for user engagement, not because it necessarily optimizes our revenue, but it optimizes our value for users.

That's not the same as optimizing for revenue directly, though, so calling that "disingenuous at best" is a little misguided.

</comment></comment></comment><comment><USER6> Can't we dispense with the inflammatory and misleading headlines, PLEASE? As before, FB is selling _space_ on your timeline, not the contents of it. This is comparable to the targeted ads Hotmail (if I recall) used to insert into outgoing emails. I don't like it, just as I didn't like ads in my email, but it's a far cry from what the headline implies.

<comment><USER7> According to TFA, the ordering of your timeline is influenced by how much people pay Facebook. Sounds like selling my timeline to me.

<comment><USER4> If that were true, the sponsored content would be labeled. See <http://news.ycombinator.com/item?id=3388106>

</comment></comment></comment><comment><USER8> Facebook is so brilliant. I don't see why everyone is whining.

Our world is based fundamentally on consumption, and thus advertising is integral. In time, advertising is only on a path to becoming more effective. And to do so it will become more integrated with our lives. History confirms: this is quite unavoidable. Plan accordingly.

However, while Google spends countless resources tinkering with their ad delivery algorithms to get that 1% increase that generates them millions more revenue, FB rolls in with a new paradigm that I'm sure will leapfrog whatever Google has done. Brilliant.

<comment><USER9> If I'm going to appear in ads, then I want a cut of the revenue, just like every other compensated endorser.

<comment><USER10> Would you accept a free blog, email, photo album, and realtime chat software, with Web and mobile cliens, hosted in the cloud?

OK.

<comment><USER9> That was the old model, where ads were served _to_ us in exchange for free services. This is a new model, as others have pointed out, where my identity / likeness is being used (without my explicit permission, mind you) to sell products. Famous people sue over stuff like that, but I'll just take the compensation.

</comment></comment></comment></comment><comment><USER11> Isn't this just how the sausage is made? It is interesting that Timeline actually makes it easier to disrupt the flow of personal information and privilege ads over friends. But this is how the marketing department of any big company would see it. Can't IPO without getting your hands dirty.

<comment><USER12> Almost severing sharing

</comment></comment><comment><USER13>
      >> new features being introduced are all centered around increasing the value of Facebook to advertisers

<Casablanca ref> Facebook's business model is selling eyeballs to advertisers? I am shocked... shocked. </Casablanca ref>

</comment><comment><USER14> <http://www.tony5m17h.net/MatrixHumanField.gif>

</comment><comment><USER15> An excellent time to mention the FB Purity extension <http://www.fbpurity.com/>

where F.B stands for fluff bustin (due to Copyright asserted on the word "Facebook")

If you must use this necessary evil called FB, I think it is high time users started pushing back on the types of info they want to see and are willing to put-up with.

</comment><comment><USER16> So, if you don't activate timeline... there's nothing to sell?

<comment><USER17> The article mentions that Timeline will be activated on all Facebook accounts by the end of this year.

<comment><USER18> I really don't know, but it sure seems like a potential horrible, Netflix level misstep. There's no evidence that FB users want Timeline or that it will work the way they want their social network to work.

<comment><USER19> As an average FB user I must admit I don't see the appeal in Timeline. I don't find it clear nor readable but it could be some resistance to change.

</comment></comment></comment></comment><comment><USER20> The end is near Facebook. Milk Wall Street while you can bro.

</comment><comment><USER21> Big Brother Blue is growing bigger and we are not humans from their perspective, we are data converted to profit. This was expected, not a surprise.

<comment><USER21> neg away. this is the blunt truth, not a coincidence that these 'innovations' are unveiled this close to the IPO. they want to cash in before while they can. the greater the rise, the greater the fall, gravity is not sentimental.

</comment></comment><comment><USER22> You know, this has something to it. For weeks the first story in the top-right module of my timeline said I "liked" Bed Bath & Beyond, and for weeks I wondered why it wasn't being pushed off by the other things that go through that little box (new friendships, attending events, etc).

I guess Bed Bath & Beyond is a customer. I honestly like this though, because the ad is reactive to their merit - I went and clicked that like button. Facebook is so clever. They're turning parts of our activity into advertisements by making them somewhat longer-lasting. It's much more pleasant than having an Acura ad shoved down my throat on YouTube, or having to drive past a smug 100-foot McDonalds ad every morning.</comment>


How the Dyn outage affected Cloudflare - <AUTHOR> https://blog.cloudflare.com/how-the-dyn-outage-affected-cloudflare/ <comment><USER2> Our US-based e-commerce site went down during the DDoS despite being behind Cloudflare, since we needed to use a CNAME for our origin. "Serve stale while revalidating" would have completely solved the problem, and I'm incredibly excited that Cloudflare is rolling it out soon - hopefully before the next big attack!

Nobody intentionally discontinues a subdomain they own by forcing their origin server's DNS to timeout on responding to the CNAME. (And Cloudflare could always make serve-stale-while-revalidating optional if a user truly does want to have that option.) So "serve stale while revalidating" seems like an unequivocal improvement on the current system.</comment>


A Guide to Threat Modelling for Developers - <AUTHOR> https://martinfowler.com/articles/agile-threat-modelling.html <comment><USER3> Am I the only one having a very, very hard time parsing much on threat modeling out of this article?

Wikipedia seems to confirm my understanding as to what threat modeling is: "Threat modeling is a process by which potential threats, such as structural vulnerabilities or the absence of appropriate safeguards, can be identified, enumerated, and mitigations can be prioritized."

There's a little bit in the article about mapping your system, and maybe at looking at interfaces and interaction points? Don't see anything about attack vectors, modes of detection and response, etc.

Also, why only the look at digital security? Being aware of how your systems interact with the physical environment can have a strong influence in how you approach architecture, even if the answer boils down to "our infrastructure team handles that".

<comment><USER4> Threat modeling is all I get from the article. It is a vague conceptual guide. If you were hoping for code, software tools, or commands to type from your keyboard I understand your disappointment.

Security is often difficult to explain to software developers, because (contrary to what many developers believe) security is so far outside the training and experience of writing software. It's like trying to explain relational data theory to school children with crayons. It's not that the children are stupid, they are probably smarter than you and I, but that data theory is not a part of their world view and in practice they really really don't care.

Yet, many developers falsely believe they have a solid understanding of security despite a lack of experience, training, certification, or interest in the subject. This, more than anything else, explains why opinions and articles from security researchers are frustrating to software developers and why security researchers prefer to not engage software development communities aside from some highly focused security oriented groups.

After working in security for a few years the subject really boils down to two boring words: _risk analysis_ in the most abstract way possible. As a developer we like to think of security in terms of 0day exploits, patches, audits, memory safety, and so forth but those are just symptoms/remediations of. It like comparing pills and needles to medicine.

<comment><USER3> > If you were hoping for code, software tools, or commands to type from your > keyboard I understand your disappointment.

I have a background in physical and network security from my days at a legal services firm, so nope. :)

There really _aren 't_ software tools or commands for the modeling part, for the same reason there aren't commands for "design me an architecture".

> It is a vague conceptual guide.

Too vague to be useful, is I think my critique.

As an aside, _way_ too many firms have a _massive_ blind spot on the physical security side of things -- it's crazy how bad it is.

<comment><USER5> What percentage of digital threats could evade your digital protections by having physical access to the hardware? Almost all of them. What percentage are likely to ever do it? It seems like it would be much smaller, but maybe I'm missing something?

</comment></comment></comment></comment><comment><USER6> There is tool from Microsoft which is used also internally. It has predefined questions for actions over boundaries.

[https://www.microsoft.com/en- us/securityengineering/sdl/thre...](https://www.microsoft.com/en- us/securityengineering/sdl/threatmodeling)

</comment><comment><USER7> Our org has instituted threat modeling as part of our SDL and it has been instrumental in building a culture of security focus. We found that it both allowed teams to build relationships with us while also setting aside time for them to think specifically about the security of their feature. If you're thinking about starting this, do it! The benefits for us have been enormous.

</comment><comment><USER8> I disagree with his "start from the technology," standpoint, since that view is what enables the hall of mirrors effect in security, where vulnerabilities and risks exist in a vacuum, and you get drawn into the rabbit hole of compliance.

If you have developers who, by design, have no idea about the value or meaning of the data they are processing, or the business they are supporting, then empty compliance rituals are fine, GIGO applies. But, if you can use threat modelling to bring your developers into the fold of _why_ they are developing a given feature and what makes it valuable, it makes better developers while ensuring they build security features into their work. The direction of this is business side inward, not technology outward as the author seems to recommend.

The threat model is the counter-case of your business model, that is, when a factor fails. Having developers absorb the latest in vulnerability research and threat intelligence is not useful when you can just tell them, "I need you to make sure that a competitor's sales engineer can't pull this apart and humiliate us in a bake off," or, "given we're in payments, we've got both compliance hurdles and significant criminal threats."

There is more value in educating product owners and product managers about how to identify and mitigate the counter-cases for their products' business models than externalizing risk by foisting it on developers who are neither equipped to handle it nor cognizant of it. In a product I developed, I defined threat scenarios as feature level Epics that developers use their skills to build for because people tend to know their own business needs and how it fails better than a corporate security group ever will.

Startups typically don't need security outside of the bare minimum of compliance rituals because growth really does solve everything, see Zoom as an excellent example of this. I'm even having trouble recalling a startup that was killed by a security breach.

Security is a product level problem. Start with the thing people want, ask what facilitates them getting it, and then as what happens when parts of that fail. IMO, this will solve %95 of security issues out of the gate.

<comment><USER9> I wholeheartedly agree. I was very surprised to see the Technology first perspective. This is a path to band-aids and incongrueties.

When I read the worked example, I see something quite a bit different. The worked example seems to suggest integrating basic threat modeling practices into product/feature development user stories/use cases. This is a bit better, and I'd suggest a bit more aligned to your "value in educating product owners" comment.

For me, it's quite straightforward ... what is the revenue generating aspect of your product/service? Let's assume mal intent, ignorance, user error, etc. are all likely, but not equally so, and come up with ways the service can be broken.

Top down look at the options to protect against those - which are often a combination of people/process/technology, and then weigh up the additional complexity that introducing them adds.

You basically end up with a threat/risk register, with mitigations, etc.

</comment></comment><comment><USER10> My feelings after working in computer security on the risk modelling side is that we put too much focus on threat actors. I don't have anything resembling a precise definition of the problem, just rough impression. But IME, you start doing these threat scenarios in form [Actor] does [Action] to [Asset] and then [Consequences] happen, and you start noticing that:

\- The sets of [Actor] and [Action] are fuzzy and nearly unbounded, and you have to shoehorn them into weird taxonomies to have something you can work with. And then you're still left with lots of overlapping scenarios; it's hard to make them independent in statistical sense, to be able to treat them as separate contributions to the risk calculation.

\- Everything pivots around [Assets]. Not around [Consequences], because these are affected by a particular [Actor] and [Action]. I.e. it's a different kind of PR disaster if your DB leaked because of a careless employee, vs. NSA tapping your internal data center links. But [Assets] are ultimately what attackers are after, and what costs you money if something happens to them.

So you end up with a huge list of scenarios like "Russian hacktivists zero-day Windows machines and steal customer PII, leading to EU dropping a hammer", or "Norwegian state-sponsored script kiddies SQL-inject company webpage and steal customer PII of North Americans, leading to bad press", etc., and you can see how the only thing you can reasonably enumerate here is what was damaged (stolen PII). It's also the assets that motivate most attacks and that are the primary source of consequences (from outages to fines and bad press).

This leads me to the conclusion that it may be more productive to focus on what assets do you have, what can go wrong with any of them, and how much it would cost (without taking into account who the attacker was). You could go from there and expand into likely threat actors, but I'm not really convinced it's productive. I didn't try to verify it, but it might be more useful to just stick to assets and baseline losses, fortify any kind of access anyone has to these assets, and mostly ignore the various kinds of threat actors that might be involved. Instead of trying to distinguish between Russian hacktivists and Norwegian state-sponsored script kiddies, just lump it into "attacker".

(I've seen scenario modelling going recursive on threat actors; you can distinguish between external and internal attackers, but then you can also distinguish between self-motivated and coerced internal attackers, etc. ad infinitum. You'll likely never have the data to make anything resembling an informed estimate on probabilities here, and the deeper your taxonomy, the more the errors in guesstimates start to add up. Might as well just treat all of this as one aggregate "attacker".)

<comment><USER11> OTOH, you end up with a great Shadowrun campaign hook generator?

</comment></comment><comment><USER12> Meh, I think the title of the article is misplaced.

Developers don't need to care about threat models. Developers need to care about the attack surface their applications expose.

This article feels a lot more like it's directed at engineering managers than it does at individual developers.

It sort of pretends that there aren't best practices and that we all have to just invent shit from scratch every time we do anything. We don't have to do that.

If we all just considered OWASP top 10 and mitigated those, almost everything Fowler is suggesting here would be irrelevant.

Most people are going to get threat modeling wrong. Just follow the fucking rules. They aren't that hard. Just inconvenient if you are in a hurry.

<comment><USER13> >Developers don't need to care about threat models.

I disagree. A lot of time is spent worrying[1] about theoretical attacks that require non-invasive physical access. In reality, it's very unlikely you require, or are able to implement, a threat model where non-invasive physical access by bad actors is protected against. That requires hardware that doesn't expose what it's doing through power consumption, heat output, timing, unencrypted data, etc.

That's not even the top level. There's a need for developers to follow best- practice about cryptography, etc., not for them to follow-best practice to prevent attacks that involve photographing bare silicon.

[1] Particularly on online forums. A poster has heard that an attack is possible, therefore they accuse anyone who doesn't have a mitigation against it of being incompetent.

</comment></comment><comment><USER14> Just a Personal rant.

I really do not like martinfowler's educative content. He is a great guy but people who read and understand his contents claims to be smart and I think he forgot to teach them that "skills can become obsolete so be careful when you brag about what you learn".

Years back I went for interview to the company he works for. The interview panel proved me image of Martin fowler wrong.

It happened years back and its a good failure. I judge a person by the question they ask. I was interviewed by two experienced persons, judging by the questions they asked, it ain't difficult to jump to conclusion that they wanted to sound smart. They made sure that experience is something I'm gonna take away with a real good motivation in my head. They also muted me and passed on comments to each other, ha ha , one of them smirked. Gotcha.

Wrote their names down, looked up in linkedin, bulls eye target set right. A Guy experienced in UX and A guy sparked with booming javascript knowledge. I was at a good point in my life that I have learnt and practiced my skills perfect for my next goals in life and the office was in the perfect place I wanted to work near my home. Two professionals taught me a good lesson.

Root cause of web development and mostly front end is messed up is the ux. That's how I changed the story around. I started working on a tool to make that skill obsolete.

Have a look - [https://github.com/imvetri/ui- editor](https://github.com/imvetri/ui-editor). Its a slow progress but I'm consistent. Know this for sure, I'm not looking for stars or feedback. I am chasing something, I loose track and somehow picking myself up. Didn't want to get into mass marketing until I have a good motivation. Gonna write this up, let it stir things up, perhaps I'll get locked in this hobby while not pursuing my rest of my interests in world. Its okay, if you see a snake, kill by its head.

Something just added up right on this perfect day.

Solve world problems, support each other, don't get greed in the way, intellect is a sin for humanity. Be good, do good, think good.

Whom am I addressing this to? Nobody. Just a letter I wanted to nail somewhere.

<comment><USER15> I don't want to be negative but having looked at your project it seems to be about putting visual stuff on the screen. UI design is not GUI design - <USER2> looks good but UIs are about supporting workflow, the visual stuff is only there as sugar.

Hmm, do I bikeshed much? Well, keep it up anyway.</comment></comment>


Service Workers - <AUTHOR> https://frontendian.co/service-workers <comment><USER2> I like service workers, but I don't like the lack of control I have.

For example, I want Messenger to send me notifications if I have the tab open, but I don't want the service worker to maintain a persistent connection and send me notifications with the tab closed.

Unfortunately, I am not able to block service workers. My only option is to block notifications entirely, which doesn't even stop the service worker.

<comment><USER3> The service worker does not maintain a persistent connection. Some websites/pwa's allow you to configure that.

<comment><USER4> but then you're depending on the website/pwa to be a good citizen and allow you to configure that

<comment><USER5> That's ok, I'm sure the EU will sort out some kind of service worker popup in due course!

</comment></comment></comment></comment><comment><USER6> Great write up. I've been exploring SWs recently to help with downloading and caching data in the background for faster UI.

Question, I'd like to avoid doing large downloads or possibly cap the transfer rate to avoid any potential jank. Is there a best practice or is it possible to monitor the current browser interaction to determine how strategically best to pull data with a SW?

Depending on what a user chooses to cache, it's JSON data (1-10MB) going to a mix of localstorage and indexedDB.

<comment><USER7> May I ask the justification to download 1-10MB JSON on the user's system without the user being aware?

<comment><USER3> You also cache regular web resources like images. It is for the user's benefit since next visit to the site can be faster.

<comment><USER7> You misunderstand. Service worker traffic is invisible, unlike loading an image and generally speaking can't be governed, unlike visible elements.

Loading 1-10MB JSON might drain a significant portion of mobile data. It could take a long time, meaning it may need to re-start it a couple of times, due to, say, a flaky 3G connection.

I'm curious on the why - unless this is an announced feature, I don't think this should be an automatic process and should only be done on user demand explicitly.

<comment><USER6> I agree with you, there are several settings avail to control what is optimized, it's typically enabled on faster devices/connections at work. I would be upset as well if a site naively used up a connection in the background.

</comment></comment></comment></comment></comment><comment><USER8> "Imagine being able to respond to push notifications, intercept resource requests, and schedule background syncronization, all without the need for a user to actively have your website open in front of them."

".. by authoring special-purpose JavaScript which you register with the browser."

Why does this seem like something useful for malware and generally annoying me.

<comment><USER9> Push requests only exists on Chrome and is behind a permission, intercepting resource requests within the domain of a website could cause some annoyances, can't see the malware effect immediately. Scheduling a download for a stable connection, again, could be an annoyance, but what's the malware implication?

<comment><USER10> The malware angle is basically service-worker-powered cache poisoning: if you can get the server to serve your code once, users can get a service worker installed, and intercept resource requests under that path. It's limited in practical value because you have to be able to serve a full JS file as the service worker, rather than just injecting a snippet of JS as the most common technique is, but it _is_ a genuine attack vector.

<comment><USER11> Service workers automatically reload after 24 hours, regardless of caching headers (though I believe they'll respect a 304). I believe this was done partially to limit the duration of such a compromise.

<comment><USER8> I don't want to be compromised at all and it seems like a great way keep it that way is to force web pages to live in you know pages which I can close and know they aren't effecting my browser.

It also breaks my mental model of how the browser works in a way that will be incomprehensible to users.

Instead of my computer is acting funny I need to reboot we will have my browser is acting funny I need to restart it or we can combine the 2.

My browser is acting funny lets power cycle again. Coming soon to a windows PC near you.

<comment><USER11> Unless there's a sandbox escape, the worst it could do is use some extra CPU cycles and RAM. It's not good at doing stuff like bitcoin mining because it's event driven (much more like a page than a web worker). All the browsers are also very aggressive at killing them unless a page is open or you get a push notification.

</comment></comment></comment></comment></comment></comment><comment><USER7> Firefox:

        about:config
        dom.serviceWorkers.enabled;false

Why:

They bite. The generic idea may even be reasonable (offline working web app), but every single time I encounter service workers they make things worse.

If you load a React frontend, it'll, by default, deploy a service worker. Good luck trying to load anything non-react from that resource/server.

I never asked for a web app to work in the background once I closed a site. Nobody should be trained to expect websites work in the background - that is not how they are. If there is no tab open, there should be no notification, no nothing. That is how the web works.

<comment><USER12> > That is how the web works.

good luck trying to convince google of that. they are shaping the web just the way they want it. push notifications? nobody ever except the marketing apartment thought that was a good idea to add to anything. if we try making everything on the web like mobile apps we're gonna get garbage features like this and false expectations on what the web should be like.

<comment><USER4> I'm pretty sure that everyone who ever used some sort of messaging application thinks that push notifications are a good idea.

<comment><USER13> Nobody wanted their "messaging application" to run in a web browser before Google. AIM, ICQ, IRC, and Yahoo Messenger all used local clients.

<comment><USER14> No actual user cares how their messaging application is made. If it's a progressive webapp or a native app, and the actual experience can be the same, then it really doesn't matter.

> AIM, ICQ, IRC, and Yahoo Messenger all used local clients.

A webapp with a service worker _is_ a local client. And a lot of people use Whatsapp Web, or Facebook Messenger's web site. I know I do.

<comment><USER13> I think users do care. I care that I can't close my browser without missing messages. I dislike that Electron apps use half my RAM.

If by "don't care" you mean "don't care enough to abandon a platform their friends are on" then I guess I agree. But all you've proven is that network effects matter.

</comment></comment></comment></comment></comment></comment><comment><USER15> _" Imagine being able to respond to push notifications"_

Yes, wouldn't it be wonderful if we could do this in all major browsers today? _sigh_

</comment><comment><USER16> Maybe I'm out of touch, but for messaging apps wouldn't it be desirable to have an actual service from a native app that you can enable/disable in your OS?

<comment><USER17> On some platforms, progressive web apps effectively _are_ native: [https://developers.google.com/web/fundamentals/integration/w...](https://developers.google.com/web/fundamentals/integration/webapks)

</comment></comment><comment><USER18> Note to Author: Irregardless is not a word.

<comment><USER19> Yes, it is.

[https://www.merriam-webster.com/dictionary/irregardless](https://www.merriam- webster.com/dictionary/irregardless)

<comment><USER20> Webster's is a descriptive dictionary, which will include nonstandard words so that it can _describe_ them, and provide guidance on what should be used instead. Just like in that link - it suggests the use of "regardless"

</comment></comment></comment><comment><USER21> I'm very glad about existence of this wonderful extension: [https://chrome.google.com/webstore/detail/manage-web- workers...](https://chrome.google.com/webstore/detail/manage-web- workers/mcojhlgdkpgablplpcfgledhplllmnih)

<comment><USER22> Web workers and service workers do different things</comment></comment>


ProtonMail Launches ProtonVPN in Closed Beta - <AUTHOR> https://twitter.com/ProtonVPN/status/834029179943411712 <comment><AUTHOR> First independent review article: [https://www.andryou.com/2017/02/22/in- depth-look-at-protonvp...](https://www.andryou.com/2017/02/22/in-depth-look- at-protonvpn/)

</comment><comment><USER2> I love their web interface. If the VPN interface is similar, I'd be willing to try. I've been looking for a cheaper alternative to iVPN lately, since I don't use it nearly as often as I thought I would.</comment>


Study: Twitter's Close to Completely Useless (according to subway rag) - <AUTHOR> http://www.metro.us/us/article/2009/06/05/04/3818-82/index.xml

<comment><USER2> From the article: 'Ten percent of users create 90 percent of content, researchers find'.

Welcome to the internet, metro.us and Harvard researchers. Most sites have a lot more people reading than contributing.

Twitter is just a platform. Expectations aside, it's usefulness depends on how you use it. No single venue is going to give a good 'representative cross- section of [what] the public is thinking'. That's why we have the terms target audience and vocal minority.</comment>


Productivity and the Work Week (2000) - <AUTHOR> http://groups.csail.mit.edu/mac/users/rauch/worktime/ <comment><USER2> I very, very dearly wish my employer would let me take unpaid leave or purchase vacation... Supposedly we can take two weeks unpaid once every three years, but I've never heard of anyone who was allowed to do it.

Honestly, it would be a _huge_ perk. I don't understand why a reasonable work- life balance is such a taboo. Money is useless. Give me my weekends back and the occasional day off and I'll happily take a 50% pay cut.

First world problems, I know... (Most of my family is semi-unemployed and barely scraping by. I really shouldn't be complaining...)

<comment><USER3> Most companies do give software engineers weekends and at least 2 weeks paid vacation a year. I don't know your circumstances, but you might consider switching jobs.

<comment><USER2> Unfortunately, I'm not a software engineer. I could fairly easily switch jobs, but the choices are all other major oil companies. The work environment is essentially identical at all of them.

Supposedly, we have lots of nice perks like a 9/80 schedule (every other Friday off), etc. It's just difficult to take advantage of them.

<comment><USER4> Every other Friday off is 26 days off per year, the equivalent of 5 work weeks. Edit: oh I missed that part where you still work 80 hours in the 9 days. :(

<comment><USER2> It's not the equivalent, as you're still required to work the same number of total hours. (You work 9-hour days -- 7-5 instead of 8-5.)

The main problem is the culture of working through those Fridays off and many weekends. You may not be "required" to, but you're certainly expected to.

<comment><USER5> what area do you work in? i don't know any (office bound) petroleum engineers that regularly work weekends

<comment><USER2> Exploration. I'm a geologist, rather than a petroleum engineer. It's a different culture than development or production. (Though there are crunch periods in those, as well. Plenty of situations where you're on-call 24/7, which doesn't happen in exploration.)

In development and production, you're typically involved in smaller business decisions at regular intervals. In exploration, you do work to support very large (100's of millions to billions) business decisions with longer timelines, but very inflexible deadlines.

Normally, you'd have a couple of months of crunch time before a bid round/prospect assessment/etc. You work 12-16 hour days for 60 days straight, and after that there's a period where no one cares if you head out early every day for a few weeks. During the crunch time, though, there's an expectation that you're "all in".

However, I'm more of an internal contractor (I prefer the term "mercenary interpreter"). I rotate between teams that are understaffed and help out during the "crunch time". The downside to that is that I rotate off of one understaffed team and on to another with no down time in-between. It wouldn't be as bad if I were actually on a particular team long-term. (The upside is that I get to see a lot of neat geology.)

Most of this is just me griping about my current role (I'm hoping to move to R&D soon). It's not quite this bad outside of the specific teams I've been on.

However, there's a strong culture of working crazy weekends and long hours that I really wish we could change. I've worked for three of the majors. There are differences, but this part of it is the same.

Overall, I just don't understand why salary is negotiable in a job, but time off isn't.

<comment><USER6> Consult. If you're valuable to your employer they'll want to keep you on-- esp since you know the understaffed teams so well and can fit in seamlessly (read: they don't have to train someone else). You should be able to charge more (50-100%) to cover health insurance et al. and will have more control over your schedule.

I don't know your industry though so it would behoove you to make friends with someone else who consults for your company and figure out what arrangement they have. If the company has done it once they'll do it again.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> The problem in the United States (where mit is based) is that a lot of benefits like health insurance and job security are tied to you working a full-time job with your employer.

It would be more interesting to look at more socialist countries, where benefits are provided more by the government instead of the employer. For example, France has experimented implementing 35 hour work weeks by giving extra days off in the month to white collar workers.

<comment><USER8> Health insurance is only tied to employers in the US because of IRS tax rules; I find it very strange that one troublesome government intervention can be used to justify further meddling. Why not simply give all Americans the same tax benefits which are currently given to those with employer-sponsored health benefits?

<comment><USER9> > Health insurance is only tied to employers in the US because of IRS tax > rules

No, that's part of how the employer-centric market got started; its now tied to employers for a number of other reasons, including cultural expectations, and the fact that employers as large purchasers can get better prices per covered individuals than individual purchasers, meaning that even without a tax advantage, an employer can provide greater value to employees by providing them a group plan than providing them money with which they can then by an individual plan.

<comment><USER8> So... if it wouldn't do any harm, why not give all Americans the same tax benefits which are currently enjoyed by those with employer-sponsored health benefits?

Would you not agree that treating all citizens equally, and giving them the freedom to choose how and where they get their healthcare would be an improvement on the current system?

<comment><USER10> "why not give all Americans the same tax benefits which are currently enjoyed by those with employer-sponsored health benefits?"

Because large companies have a hugely skewed amount of political power due to campaign finance and lobbying and while I don't think they (large corps) engineered the current system purposefully, I do believe they recognize that it is beneficial for them to maintain it as it helps to keep the wage slaves in line.

</comment></comment></comment></comment></comment><comment><USER11> My strong suspicion is that if everyone worked 11 hours, we would wind up in ferocious competition for:

(a) positional goods (I can have a house on the best street if I just work 22 hours, not 11) and (b) the scanty resources now provided in fields where average productivity growth has been lower.

To use Baumol's example, the string quartet will still have to play 40 hours a week while everyone else works 11, as string quartets have not become more productive.

[http://en.wikipedia.org/wiki/Baumol's_cost_disease](http://en.wikipedia.org/wiki/Baumol's_cost_disease)

<comment><AUTHOR> String quartets have trouble enough finding an audience that is willing to pay as it is.

This has been plaguing the arts for many years, but it is mostly because art is not valued for the time that went into the production of that art.

<comment><USER12> The only time someone is paid for the time that went into something directly is when that time _is_ the product. Essentially, when you're paying for someone to apply specialized skills at your direction rather than the result of an application of those skills.

If we both write an app and I take twice as long I don't get to charge twice as much. The only effect adding additional time has on the value is when it creates a better product (maybe the quartet is able to play more demanding pieces and becomes more well-known and prestigious).

Even in the arts when you're selling the application of your skills rather than the end result you charge for time spent. I knew an accompanist. She charged for all her practice and rehearsal time.

</comment></comment></comment><comment><USER13> A lot of people don't understand why we still work so hard, and a reason wasn't suggested. Let's try breaking it down:

The author made an interesting point about choosing between the following:

\- work 11 hours for 1950-level productivity

\- work 23 hours for 1975-level productivity

\- work 29 hours for 1990-level productivity

But the following option isn't discussed:

\- work 40 hours for 2014 (or current) level productivity

The first 3 options representing increased productivity over the past means that we can "cash out" at any time, i.e. pick a defined level of wellness, and work at that pace. This means we can stop trying to push the boundary and enjoy the fruits of our labor.

Now, viewed this way, is it any surprise that we still work 40+ hours? We don't collectively agree that we should cash out. If we cash out, we won't be curing diseases; going to Mars; making the next Snapchat. Don't get me wrong, resources are definitely (in an idealized sense) misallocated; I don't think so many people should be engaging in digital marketing and social media business pursuits. But it is what it is, and we'll keep going.

Regarding working >40 hours/week, this is simply because as technology creates scale of productivity, the middle class finds it harder and harder to keep up with increasing costs of living and commodities. People think America got something wrong after that golden period of the 50s - 70s. Yeah, after that we decreased taxes on the wealthy (Mitt Romney paid 13% in 2011 or something), but the capacity for people to do useful stuff has just gone down due to technology and automation; unions disappeared; globalization happened.

tl;dr - productivity will continually increase, but we'll never get out of the rat race.

<comment><USER14> Maybe you missed it, but he did suggest a reason why we do work so hard still: income inequality. ie. the bulk of productivity gains have gone only to a minority of the population.

<comment><USER15> Or all of them. Or more than all of them.

</comment></comment></comment><comment><USER16> The problem is entirely cultural. As long as Americans continue to equate hard work with strength of character, work hours will continue to go up.

</comment><comment><USER17> I get a 403 Forbidden on that link.</comment>


Show HN: HN Comments Owl: highlight new comments and collapse old threads - <AUTHOR> https://github.com/insin/hn-comments-owl#hn-comments-owl <comment><USER2> This looks great. I wonder why it's not getting more attention. Thanks for building it.

<comment><USER3> Agreed. Also thought the git did a good job of showcasing the plugin.</comment></comment>


All plastic waste could be recycled into new plastic: researchers - <AUTHOR> https://www.chalmers.se/en/departments/see/news/Pages/All-plastic-waste-could-be-recycled-into-new-high-quality-plastic.aspx <comment><USER2> Glad to see more innovation in plastic recycling. Reminds me of this interview about making medical devices from recycled plastic in Gaza[0]:

"Let's talk about how your medical devices are printed on the ground in Gaza. 3D printers use plastic to create objects. Where do you get the plastic?

It's recycled ABS plastic. Gaza actually has a 100 percent recycle rate because no plastic is allowed in.

Really?

Yeah, almost everybody's plumbing in Gaza is made out of recycled plastic. It's really quite wild. For the printers, we use recycled ABS and we mix in as much virgin plastic as we can get because you always need some virgin plastic — there's no such thing as 100 percent recycled plastic — but sometimes it's not very much.

Where do you get the ABS from? I'm imagining a bunch of plastic bottles.

You're halfway there. Plastic bottles are made out of a material called PET. We don't use PET; we use ABS, which is the plastic that's in Lego pieces. It's also in chairs and tables, picnic tables, shit like that. What happens is: you take those plastic parts, you grind them down, you wash them and dry them. Then you melt them and extrude them into spools of "filament," which is what 3D printers use to make things..."

Article goes on to explain some of the machinery people are using.

[0] from [https://logicmag.io/bodies/tarek-loubani-on-3d-printing- in-g...](https://logicmag.io/bodies/tarek-loubani-on-3d-printing-in-gaza/)

</comment><comment><USER3> " The fact that plastics do not break down, and therefore accumulate in our ecosystems, is one of our major environmental problems."

Not really. Landfills are safe and clean and plentiful. Ocean plastic is a problem, but comes almost entirely from intentional dumping. Litter is a problem, but it seems silly to assume that someone who cannot be bothered to put plastic in a trash can will put it in a recycle bin.

The real issue is the carbon footprint of making/transporting items, plastic or otherwise. I'd like to see how this compares in that regard. If this uses more energy than just making new plastics it will probably exacerbate a real problem (global warming) in order to help with a fake problem (landfills) which, unfortunately, is pretty consistent with modern environmentalism.

<comment><USER4> > Landfills are safe and clean

I'm admittedly no expert, but I'm _pretty damn certain_ this is not the case. (Do you know what leachate is?) I'm happy to be proven wrong by references to legitimate research backing up this claim, though.

<comment><USER3> The recycling industry relies on outdated ideas like that. Leachate was once a huge problem, but it was solved decades ago. Modern landfills are constructed with layers of barriers and collection tubing.

Here's a cool diagram from the EPA:

[https://www.epa.gov/sites/production/files/2017-09/landfill_...](https://www.epa.gov/sites/production/files/2017-09/landfill_diagram.jpg)

Do you have "references to legitimate research" stating that modern landfills are unsafe or is that just your default belief?

<comment><USER5> Only one layer of synthetic liner, I think that says enough. All it takes is a single tear that could have even happened with installation, or maybe the sand layers aren't as thick as what's recommended and as garbage is put on top it digs into the sand and rips the synthetic layer.

How much extensive real world testing has been done with this synthetic layers? Is it meant to sit for decades bathing in a chemical soup? Or it is assumed that it'd only get wet? My guess is that they didn't use real world tests where people are throwing out chemicals that shouldn't be put in the garbage.

<comment><USER6> It continually amazes me that people like you think they have found a legitimate problem after 30 seconds of thought which the experts never imagined. I imagine at least one follow up which includes a reference to 'appeal to authority' yada yada yada will appear.

<comment><USER7> The lead issue in the water infrastructure in Flint Michigan tells me everything I need to know about the safety of these systems.

A human can design a perfect system and then someone else can come along and whether due to malfeasance or greed fuck that perfect system up.

No system is perfect for that very reason.

The solution is to generate less waste. Reduce, Reuse, Recycle -- in that order.

There won't be a problem if there isn't a problem to take care of.

<comment><USER6> >The solution is to generate less waste. Reduce, Reuse, Recycle -- in that order.

>There won't be a problem if there isn't a problem to take care of.

Sure, and in fantasy land I'm sure there's just a switch you can flip to make that happen. Back in reality where you can't just eliminate all these sources of waste in a day, don't you think it's worth looking for practical solutions that we can implement in the short term?

Besides, the only thing I responded to was an internet know-it-all supposing that scientists and engineers hadn't considered a tear or the fact that people may throw away things they're not suppose to.

</comment></comment></comment></comment></comment></comment></comment><comment> 08-15 The press release is a lie.

Looking at the diagram at the top, and reading just the abstract of the linked study, it's clear that the whole idea is to degrade plastic waste (through pyrolysis and/or oxidation) and use the degradation products in existing petrochemical plants. Unfortunately, plastics don't degrade only to valuable, reusable chemicals.

The study admits the lie: 100% recycling of plastics isn't expected, and they only get to "100% recovery of carbon" by first electrifying the plant and then "sequestering" the CO2 that forms anyway. Of course, 100% recovery of carbon in this meaningless sense can already be achieved by landfilling the plastics.

<comment><USER8> I agree, the 100% part is an exaggeration. They say that some part of the plastic will go to CO2 and it can be later transformed to plastic, but this transformation needs a lot of energy and is expensive. They propose an alternative o store the CO2 in a safe place, that is also expensive.

With this type of creative accounting, you can have a gasoline truck with zero CO2 emissions, because you collect somehow the CO2 in a giant tank and then transform it back to fuel (with a big cost of money and energy).

</comment></comment><comment><USER9> Now all we need to do is make the plastic manufacturers pay the cost.

<comment><USER10> I think maybe you mean plastic consumers.

<comment><USER9> It's the same thing really, manufacturers would pass on the cost but as there are less of them it's easier to administer.

</comment></comment></comment><comment><USER11> [https://theintercept.com/2019/10/18/coca-cola-recycling- plas...](https://theintercept.com/2019/10/18/coca-cola-recycling-plastics- pollution/)

"Leaked Audio Reveals How Coca-Cola Undermines Plastic Recycling Efforts"

Unfortunately technical solutions don't solve the social problems. :(

</comment><comment><USER12> A link to the study:

[https://www.sciencedirect.com/science/article/pii/S221499371...](https://www.sciencedirect.com/science/article/pii/S2214993719300697)

<comment><USER13> I watched a really good TED talk on recycling plastics. The biggest issue they faced was that separating like plastic was the hard thing, as they all feel like plastic, all look like plastic and weigh pretty much the same for the volume. The challenge in processing recyclable stock was separating types.

You can melt it all down, but there are lots of chlorides and other elements bound onto polymer chains to elicit different properties in the original plastics, In the video I watched these seemed like the biggest impediment to their approach because they wanted to consolidate stock of like materials. They opted for a optical/mechanical sorting approach which I thought was pretty impressive at the time.

The article does suggest that types need to be segregated to different pathways so it may be an issue.

The pathways the paper suggest seem practical. It'll be interesting to see which countries are willing to take this on. It's a very heady industry. And the intent is a carbon neutral outcome.

I wonder if we will just trade the CO2 of making plastic for the shipping cost of plastics from point A to B.

<comment><USER14> Even if it trades all the CO2 produced by production to shipping that is a net win. It will mean less plastic in the environment. Over time we can make the shipping more efficient which will reduce CO2 and other costs further.

Or maybe we just need biodegradable plastics.

<comment><USER15> Getting rid of plastics is already a huge cost for cities.

Right now, many large cities burn their platics which also generates co2.

<comment><USER16> They also burn oil and gas. Burning plastic waste for energy isn't too bad in the grand scheme of things. Sure, not having pumped up the oil and not having turned it into plastic would have been best. And recycling that plastic into something useful would have been better. But burning it as fuel is still pretty good.

</comment></comment></comment></comment></comment><comment><USER17> Is this for thermoplastics? Or does it include thermosetting plastic and rubbers?

It would be interesting if they could actually recycle car tires, I believe what currently happens is burning or shredding into mulch.

<comment><USER5> Pretty upsetting that it's used to mulch. We're intentionally putting and think it's a great idea at the same time, go figure.

<comment><USER18> Why is it upsetting? Lots of playgrounds around here, especially at schools, have moved entirely to shredded rubber instead of wood mulch, almost entirely due to safety concerns.

I don't see the concern over safety, given all the rough housing I did as a kid at just such a playground, but if it brings peace of mind, I don't see why it would be upsetting to anyone.

<comment><USER19> I once visited a shredded rubber playground at 10,000' on a midsummer day. The sun was intense, and as a result the offgassing from the tire chips was so dramatic you could literally see a layer of gasses hanging over the mulch. (They were colorless, but your eye could pick up on the disturbance & shifts in the light) It reeked.

<comment><USER20> I think it's more likely you were seeing refraction caused by the change in density of the layer of hot air: "heat haze". Any dark colored material would have the same air-heating effect.

<comment><USER19> Maybe, but I've never seen "heat haze" curl & wisp, and it doesn't reek of tires & chemicals.

</comment></comment></comment></comment></comment></comment><comment><USER21> I wonder how much pollution will this new process of recycling plastic bring. There is so much unnecessary plastic going around in our society, let's start there first.

On my local supermarket, to buy 4 peaches they come in a plastic container fully covered with plastic sheet, I'm not kidding.

<comment><USER22> No idea about those peaches specifically but wrapping vegetables in plastic generally reduces the environmental impact since it prevents them from spoiling.

<comment><USER23> It may reduce the environmental impact by preventing spoiling, but at the same time it increases the environmental impact because now the vegetable can (and are) shipped across vast distances.

Maybe we should be rethinking our entire food infrastructure and concentrate on delivering food to local markets, not markets 1000s of miles away.

<comment><USER24> Good luck telling people they can't eat avocados because they don't live close to where they grow.

<comment><USER25> How did people live without Avocados before they became a thing about like five years ago?

<comment><USER26> Where are you from that you think avocados "became a thing" recently?

<comment><USER25> It feels like in Germany they are somewhat "hip" only in the last 5 years or so. Barely heard anybody talking or eating some before, but nowadays they are quite popular.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> And this is in part behind the renewed interest for removing plastic in the oceans, probably. Is a plastic mine waiting for miners

<comment><USER28> The plastic is not sufficiently concentrated. Would have to scrape the whole ocean and at various depths.

<comment><USER29> The garbage gyres are quite concentrated.

<comment><USER15> Also, they are becoming a danger for humans and fishes. At some point we need to pay that cost.

Maybe this particular technology is not fully applicable in oceans, but at least it's a start.

<comment><USER29> Sorry, my point is that when harvesting plastic from the ocean, the garbage gyres become a rich "mine" as they are very concentrated

<comment><USER8> They are not very concentrated. From [https://en.wikipedia.org/wiki/Great_Pacific_garbage_patch](https://en.wikipedia.org/wiki/Great_Pacific_garbage_patch)

> _The plastic concentration is estimated to be up to 100 kilograms per square > kilometer in the center,_ [...]

That is .1g/m^2 (0.3moz/ft^2 [1]). The weight of the plastic cap of a bottle is approximately 2.4g (85moz). So you need to sweep an area of 24m^2 (260ft^2) to recover the equivalent of a plastic cap. That's approximately 18 plastic caps in the area of a basketball court.

[1] 0.3 milliounces per square foot, I don't know the best unit to show this.

<comment><USER29> As I was doing research in response (thank you for the citation), I realized I stated an incorrect fact that the gyres are very concentrated, but still stand by the statement that they would be excellent "mines" for plastic. Part of what makes the volume so hard to determine is the current which carries all the garbage in a circle. At a certain stage it would be worthwhile to simply "park" something in the current and have the plastic come to you. Be it a boat or something like an oil rig, there's very little "sweeping" required in order to collect the plastic.

<comment><USER8> It's amazing how it is unrelated to the level of concentration that is seen in the photos that illustrate the press articles [https://www.google.com/search?q=Great+Pacific+garbage+patch&...](https://www.google.com/search?q=Great+Pacific+garbage+patch&tbm=isch) I tried to find the source of the first one, I guess it's from a bay or some place that concentrate garbage. There are some kind of mountains or islands on the left ...

Probably it is more effective to clean the stream of a few rivers that carry most of the plastics to the sea. The concentration in higher and it's easier to setup, repair and operate the nets.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> As a former resident of Gothenburg, I'm glad to see Chalmers on the front page :)

</comment><comment><USER31> The thing that peeves me is that at least where I live they won't let us recycle black plastic. They say it is because you can't use black plastic to make any other kind of plastic.

So... they would rather make new black plastic than simply separate the discarded black plastic into recycled material for new black plastic things. An ever increasing supply of new discarded black plastic is at hand. And we do use a lot of black plastic.

This to me, suggests there is a very strong plastic lobby, because otherwise it's just nonsensical.

</comment><comment><USER32> What would be a good strategy to start small with an alternative to plastic. Without bumping into the trillion dollar industry head on and losing?

<comment><USER33> In Germany, for beverages, we have a system where you pay a deposit for a plastic or glass bottle and receive it back when you return the empty bottle[0][1].

That creates monetary incentive to collect those bottles and they thus hardly contribute to litter. There are single- and multi-use bottles in circulation.

I find it to be a very successful system and believe that it could be expanded to _all_ packaging. I'm somewhat perplexed that even in Germany this idea isn't talked about more often (or at all).

[0]: [https://de.wikipedia.org/wiki/Pfandsystem](https://de.wikipedia.org/wiki/Pfandsystem)

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

EDIT: The systems are called " _container-deposit legislations_ ": [https://en.wikipedia.org/wiki/Container- deposit_legislation](https://en.wikipedia.org/wiki/Container- deposit_legislation)

</comment></comment><comment><USER34> Adidas is doing some pretty good work recycling plastic. [https://youtu.be/pJBRqespiOA](https://youtu.be/pJBRqespiOA)

</comment><comment><USER35> I find myself much less worried about plastic waste than about climate change.

Yet I observe on Twitter and other social media that these problems are considered equally important, sometimes people even treat them as equivalent.

Am I missing something?

<comment><USER36> All of these worries churn, like any other fashion. Through a cycle of short attention span, and craving for novelty.

5-10 years ago in the grocery store line, myself and half the people in front of me were bringing our own reusable grocery bags. I feel guilty acknowledging this, but we all just seemed to... stop. Because it was a mild hassle, and the novelty wore off. I can't remember the last time I've seen someone with with their own bags, and I imagine that younger store clerks would be confused by them.

We're still concerned about plastic (that worry comes and goes like a pendulum). We just got bored and lost our attention span for one of the most direct things we can do to reduce plastic.

10-15 years ago, myself and most of my political peers were more upset about Guantanamo Bay than plastic or climate change. Nothing ever changed there, but I can't recall the last time I've heard it mentioned. The average anti-war protestor of the post-9/11 years probably understands little to nothing about U.S. action in Syria over the past decade.

<comment><USER37> Maybe it's the area where you live, but where I live it would be weird to not have reusable bags with you. Pretty much everyone has them.

I live close to montreal and we have a lot of environmentally conscious people here.

<comment><USER38> I agree - I've lived all over eastern Canada, and most people everywhere use reusable bags. The only people I've observed who consistently don't are those in for a single bag/a few items

</comment></comment></comment></comment><comment><USER39> We can all help stop this. Everyone can reduce their contribution. I cut out nearly all packaged food, which reduced my garbage to where I empty it less than once a year (I last emptied my trash in September 2018) [http://joshuaspodek.com/avoiding-food- packaging-2](http://joshuaspodek.com/avoiding-food-packaging-2). I was pleasantly surprised that doing so cost less, reduced food preparation time, increased diversity of food, and led to more social interaction with friends and farmers. It's more accessible for people in food deserts and without time. For the record, it took a couple years of practice to go from weekly garbage to monthly to yearly.

That's just one example. Everyone can reduce some. The more you start, instead of just accepting and throwing your hands up, the easier each next step.

The producers will see the trend and stop buying plastic.

Of course there are other ways to act: legislation, creating healthier alternatives.

The point is: everyone can act starting here and now and they will find joy in it. It may take time, but acting on one's values is rewarding.

<comment><USER40> I poked around on your blog for a bit, but couldn't find any practical suggestions. How can a city-dweller with an oven, chest freezer, instant pot, and fridge acquire meal without packaging and without 8 hours of administrative overhead per week?

<comment><USER41> Get rid of your car for starters. Shop at markets where they don't cover anything in plastic. Adjust what you eat around avoiding buying plastic, as much as you can.

<comment><USER42> This is so far out of what I, a west-coast american, can actually accomplish its kind of funny. I know you are being serious and those are all great suggestions that I would love to implement, but to address them: things are so spread out here I literally can't get to work/a grocery store without a car, there's a single farmers market, which runs for 4 hours every Sunday once a week and doesnt cover everything in plastic. Its literally unobtainable for someone living here. Maybe directly inside the city its possible to go carless and shop only at farmers markets, but being downtown would be way too expensive.</comment></comment></comment></comment>


Animations with CSS3 and PHP - <AUTHOR> http://louisdickinson.com/extra/

<comment><USER2> What part does PHP play?

<comment><USER3> It has the extension .php haha

<comment><AUTHOR> i used a for loop to print out the div's with a random color and increment left: by 0.5 at a time. It also lets me enter in the increment value via a html form. Im pretty new to coding and you both seem knowledgeable, how would you go about to make the same effect in a web browser

<comment><USER2> A very quick jQuery hack to get the divs on to the screen in a nice rainbow of colours:

 </comment></comment></comment></comment>


Show HN: DMach – Drum Machine for Android with Pure Data Sound Synthesis - <AUTHOR> https://github.com/simonnorberg/dmach <comment><USER2> Looks good .. will set up to build it from sources. How's the latency?</comment>


How I Found Myself Accused of Stealing Code from WordPress - <AUTHOR> https://medium.com/@talkol/how-i-found-myself-accused-of-stealing-code-from-wordpress-a7350da9f9f2#.5bypmvbbe <comment><USER2> What's with all the weasel words? Why can't anyone seem to admit - look I'm sorry I didn't pay close attention to the license, as I now know I should have.

Is it really that hard to admit that you were lazy? Is it really a better call to paint this as "hey, we were just having fun and decided to 'collaborate' (screw the details), look we even mentioned these guys, #hashtag and everything"... What's up with technical people these days. Doesn't anyone care about the details anymore? Full stack developer, yeah, for sure!

/Rant

<comment><USER3> Because if you admit that, they can use those words against you in court. Saying "i am just lazy" is the most obvious form of professional negligence.</comment></comment>


Streaming app - <AUTHOR> Electron.js enabled application using Vue.js and WebTorrent to fetch movies api and stream. I need feedback. Maybe you simply advice me to shut down the project. Or maybe you are interested in contributing. I have some features to discuss here. <comment><USER2> If you want people to contribute, open it up in github.com.

I like the way it's multiplatform, it's interesting. You can maybe get help from other people to fix bugs, multiplatform products usually have plenty.

Best Regards,

</comment><comment><AUTHOR> [http://getlawd.com](http://getlawd.com)

</comment><comment><AUTHOR> Yes surely I will.</comment>


Researchers determine how many years of life you lose to a stressful job - <AUTHOR> http://www.washingtonpost.com/news/wonkblog/wp/2015/10/28/researchers-have-determined-how-many-years-of-life-you-lose-to-a-stressful-job <comment><USER3> Clickbait.

The article claims a stressful job will shorten your life, but the data[1] shows that "high job demands" have almost no impact on longevity, and that "unemployment and layoffs, and a lack of health insurance were the factors that exerted the biggest influence"

[1] [https://img.washingtonpost.com/wp- apps/imrs.php?src=https://...](https://img.washingtonpost.com/wp- apps/imrs.php?src=https://img.washingtonpost.com/blogs/wonkblog/files/2015/10/life- inequality.jpg&w=1484)

<comment><USER4> A job could be low on the "job demands" and still create a lot of stress through not providing healthcare, shift-work, difficult commutes etc.

<comment><USER5> I suspect that, if you don't have healthcare, job stress is not the top problem.

</comment></comment></comment><comment><USER6> It's worth noting that there is "good" stress and "bad" stress, and there's some interesting research indicating that some types of stress managed well can actually be good for you:

[https://www.ted.com/talks/kelly_mcgonigal_how_to_make_stress...](https://www.ted.com/talks/kelly_mcgonigal_how_to_make_stress_your_friend?language=en)

Of course, this article is mostly about the "bad" flavors of stress that are entirely out of your control: if you're stressed because your kid has cancer and you don't have health insurance, there's not a whole lot of positive in that situation.

</comment><comment><USER7> Even if it doesn't cost you years of your life, serious stress costs you _quality of life_ while you're still breathing.

</comment><comment><USER8> 28 or so years off for being an unemployed hispanic woman without insurance is a bit of a shocker

</comment><comment><USER9> "you can see that people in some parts of the U.S. live as many as 33 years longer on average than people in other parts of the country, the researchers say"

That just can't be true.

<comment><USER10> Why do you not find this believable?

In the UK there is a 24.2 year difference between the life expectancy for men in the Calton area of Glasgow and the national _average_. I think 33 years for the difference between longest and shortest expectancies in the US sounds about right.

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

<comment><USER4> Sad to say that the first thing I did when you mentioned an area of Glasgow was to to find a map of support for football teams in different Glasgow areas.

By way of explanation:

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

[NB I don't follow football, come from a part of Scotland that has no real sectarianism and I married to someone from an Irish Catholic background - <USER2> I've seen enough displays of horrible bigotry towards Catholics to know it can be a serious problem, although it's not nearly as bad as it was]

<comment><USER11> Its a two way thing in Glasgow. Both sides are as bad as each other. "Normal" peope are better staying out of the road.

</comment></comment></comment></comment><comment><USER12> A lack of health insurance is a consistent, major factor for each demographic provided in the article. Is it the job killing people or ideology?

<comment><USER13> The article doesn't claim that a stressful job is the biggest responsible of differences in life expectancy, but simply that for the first time has been taken into account, together with more traditional factors.

</comment></comment><comment><USER14> That means Indian drives should die young.)

Those without _actual experience_ of driving a motorcycle, say, in Bihar wouldn't get the joke.

</comment><comment><USER15> A stressful job to one person is a relaxed job to another person. It all depends on the individual's psychology. Perhaps other factors come into play such as how much savings they have, and if they really need the job financially.

<comment><USER11> Yes, I am sure some people find aggressive management relaxing to work with.

<comment><USER16> Maybe not relaxing, but everyone can learn to cope with negative situations and roll with the punches.

Not that I excuse unprofessional managers (or peers), but at the end of the day the power they have to get under your skin is in large part a function of how much (tacit) permission you give them.

<comment><USER11> "Coping" and "relaxing" are still worlds apart.</comment></comment></comment></comment>


Microsoft runs fuzzing botnet, finds 1,800 Office bugs - <AUTHOR> http://www.computerworld.com/s/article/9174539/Microsoft_runs_fuzzing_botnet_finds_1_800_Office_bugs <comment><USER2> I was in the audience when this talk was presented. They really didn't say much about the actual way they were generating or mutating their inputs, just the system they hacked together to distribute the fuzzing runs, and from a security point of view, that's way less interesting.

Charlie's talk on fuzzing was much better, imho. (Charlie's slides: <http://bit.ly/dt3dkb> (10meg PowerPoint file.)

</comment><comment><USER3> I was scanning the headlines for April Fools jokes, and it was immediately obvious that this was NOT one of them... Kind of sad...

<comment><USER4> I assumed it was an April Fool's joke with the premise that MSFT surreptitiously used Windows PCs as bots. Ah well...</comment></comment>


Ask HN: How does one become a wizard? - <AUTHOR> I've come to realize there are two distinct classes of developers. The "mortals" (myself) who spend all day working on applications glueing together libraries and business logic, and then there are the actual smart people (wizards) making all of these tools. How do I evolve into the latter? <comment><USER2> In the old days they called this "applications programming" vs "systems programming".

Often people think people who do the latter are smarter. They certainly know more CS.

If you are an application programmer and smart (in terms of maximizing your utility function) you can build on the experience you have. I can look at many examples of tools that are not all they can be because they were written by systems programmers who did not have applications experience.

There is honor in applications programming, especially when you are building "the same app over and over again" because you can optimize for getting it right quickly. Take that thinking and turn it into tools!

</comment><comment><USER3> First, you have to decide if you are going to multi-class, dual-class, or get into one of the specialist schools of magic.

Also, being certain races helps with your intelligence boost or natural affinity for magic — elf, gnome, etc.....</comment>


Perl Cannot Be Parsed: A Formal Proof (2008) - <AUTHOR> http://www.perlmonks.org/index.pl?node_id=663393 <comment><USER2> The article really doesn't prove that Perl can't be parsed, it proves that Perl can't be parsed unambiguously.

The example given is:

        whatever  / 25 ; # / ; die "this dies!";

This can be parsed into two variants without running any code or knowing the arity of whatever.

The case where whatever takes no arguments:

        8  <@> leave[1 ref] vKP/REFC ->(end)
        1     <0> enter ->2
        2     <;> nextstate(main 1 -e:1) v:{ ->3
        7     <2> divide[t3] vK/2 ->8
        5        <1> entersub[t2] sKS/TARG,1 ->6
        -           <1> ex-list sK ->5
        3              <0> pushmark s ->4
        -              <1> ex-rv2cv sK/128 ->-
        4                 <#> gv[*whatever] s ->5
        6        <$> const[IV 25] s ->7

The case where whatever takes a single argument:

        b  <@> leave[1 ref] vKP/REFC ->(end)
        1     <0> enter ->2
        2     <;> nextstate(main 1 -e:1) v:{ ->3
        6     <1> entersub[t2] vKS/TARG,1 ->7
        -        <1> ex-list K ->6
        3           <0> pushmark s ->4
        4           </> match(/" 25 ; # "/) sM/RTIME ->5
        -           <1> ex-rv2cv sK/128 ->-
        5              <#> gv[*whatever] s ->6
        7     <;> nextstate(main 1 -e:1) v:{ ->8
        a     <@> die[t3] vK/1 ->b
        8        <0> pushmark s ->9
        9        <$> const[PV "this dies!"] s ->a

What does this mean practically? If you want to rename "whatever" to something else, you can do that, since the name of the function is captured no matter how many arguments it takes. If you want to lint all your regular expressions, you can do that with the chance that you'll be wrong if you guessed the prototype wrong.

The only thing you can't do is figure out exactly how the code will run at runtime. But if you could do that, you wouldn't have a computer program, you'd just have a lookup table.

Another thing to keep in mind: if a static analysis tool can't understand your code, perhaps the future maintainer can't either. In that case, why not rewrite the code to not be ambiguous?

<comment><USER3> This perfectly encapsulates my feelings about the Perl parsing question!

An ambiguous parse is still a parse, and yeah, the 'whatever' example is pathologically unmaintainable code. As you say, if a static parser finds it ambiguous, you should probably fix it.

<comment><USER3> (Or mark it in some way, you know: "This is ambiguous, but it needs to be because _______" - because frankly, ambiguous parses are destined to be bug sources.)

</comment></comment></comment><comment><USER4> As one of the comments in the original article points out, this is pretty obvious. You just need a BEGIN { } block containing eval(string), where the string depends on evaluating code (e.g. a random number)

At least the article doesn't jump to big conclusions and make stupid declarations based on this result.

Unfortunately the commentators do: "This means that things like static code analysis, code transformation and syntax hilighting will never be reliable." So? Almost all code is still easily analysed, syntax highlighting works, etc. It's like stating that you can't do this stuff with C/C++, because the code depends upon #defines (whose values could be variable, or sourced from external processes)

<comment><USER5> What does this mean for the potential of compiler optimization in Perl? You can't really throw around optimizations that work for 99% of the time.

I feel like the type of work that's done by browsers on JIT compiling Javascript would be really hard if you can't 100% reliably parse the language.

<comment><AUTHOR> > You can't really throw around optimizations that work for 99% of the time.

You can, if you can detect (a superset of) the cases when it is invalid.

</comment></comment></comment><comment><USER6> Well, you can't parse perl without running parts of it.

You can't parse lisp without running reader macros.

You can't parse TeX without running parts of it.

You can't parse C without parsing header files. (Ok, that one is as bit different, because header files are just C code as well).

<comment><USER7> C++ templates are turing complete, so I guess you can't parse C++ without "running" the templates either. [http://stackoverflow.com/questions/189172/c-templates- turing...](http://stackoverflow.com/questions/189172/c-templates-turing- complete)

<comment><USER8> No. The fact that a feature is Turing complete doesn't make the language unparseable.

C is Turing complete, but you don't need to run the program to parse C. Likewise for parsing C++ templates.

<comment><USER7> But is parsing C turing-complete?

Because that's what I took away from reading about C++ templates - the turing- completeness happens at the parsing/preprocessing stage, before the compiler's code generator even starts translating. Was I wrong? Wouldn't a smart IDE that resolves types (for example for tab completion or type hints), looking at the Factorial<N> thing, have to solve for the value for Factorial<4>?

<comment><USER8> No. (You need parse all includes to know typedefs, but that's it.)

C++ is awkward for a different reason, but there's nothing unparseable about it. Resolving types for tab completion/hinting is getting closer to static analysis (at least, with C++ it is), but parsing is well and truly done by that stage.

There's nothing about template<4> that can't be parsed, and nothing about the templates or instantiations thereof causes the syntax to be interpreted differently; this is probably the requirement for a parser to be Turing complete.

Perl is actually unparseable without execution: you can modify the allowed syntax mid-parse, based on some condition known only at runtime. Nothing about a template argument (for example) in some call causes a later template definition to be interpreted according to different syntax rules.

<comment><USER9> > _C++ is awkward for a different reason, but there's nothing unparseable > about it._

Some corner cases in C++ are ambiguous. Those are 'resolved' by guessing what may be more suitable in the current context.

</comment></comment></comment></comment></comment></comment><comment><USER10> You don't have to be a perl user but this has never been a goal of perl.

<http://bigthink.com/videos/why-perl-is-like-a-human-language>

Love it, hate it, it just isn't what perl is about.

<comment><USER11> Your comment lacks context. Do you mean parseability of perl has never been a goal of perl? If you read the article, you'll see it was _the goal of the author_ , which is why he wrote this proof. So I'm not exactly clear what you're trying to say.

<comment><USER12> The point the grand parent was making seems to me to be rather simple. He says that the designers of Perl (not the author of the article) didn't consider parseability of Perl an objective, since they focused more on making a scripting language for humans. Of course the author (and many others) would have liked if Perl was statically parseable since a lot of static tools like documentation require this to be complete. So it just shows that maybe static parseability should have been an objective of the Perl designers or any other language designer in the future.

</comment></comment></comment><comment><USER13> Previous HN discussion from 3 years ago - <https://news.ycombinator.com/item?id=761103>

Also came up in a comment a couple of weeks ago - <https://news.ycombinator.com/item?id=5718637>

</comment><comment><USER14> A language that can be statically parsed won't allow runtime redefinition of itself, like Lingua::Romana::Perligata. [http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata....](http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html)

As Tom Duff said in the "Duff's Device" post, I'm not sure whether this makes an argument for or against this feature.

</comment><comment><USER15> It should be noted that this is from 2008, and last updated in 2009. I'm not a Perl user, so I don't know if the language has changed enough since then to affect the validity of the proof. We also don't know if it holds for Perl 6.

<comment><USER6> It also holds for Perl 6 (to the same degree that it requires you to run some components of the code that is being compiled; Perl 6 does make it easier for the compiler to know which code it must run to complete the parse, though).

</comment></comment><comment><USER16> That's why they say perl is easy to write and hard to read?

I'm a perl developer for almost 3 years and I simply love it.

</comment><comment><USER17> Er. This proof is seriously flawed, starting with "what is Perl"? How do we define a language that's not parseable? Does it only mean that you can't know what the program will do until you run it? That's true for Ruby, Python, pretty much everything that has any level of meta-programming. Also, it lacks any formal definition of what is to be proved. Statement: "Perl is unparseable" is not very well defined. "Perl" is the first problem, the second problem is "unparseable" - does it mean you can't write a grammar that does apply to all valid perl programs and does not to all invalid ones? We come back to what's "valid" and "invalid" program.

Obviously if the statement is "you can't write any useful linting tools", which seems to be what the author is after, than fine, but you have to define "useful".

<comment><USER18> Ruby cannot be parsed (e.g. for ``x - y`` the ``-`` could be unary if ``x`` is callable or binary otherwise).

Python, on the other hand, can be parsed entirely unambiguously.

</comment></comment><comment><USER19> The Perl language has evolved over the years. Could it be "fixed", so that a future version could be parsed?

<comment><USER6> It could, but then one would sacrifice syntactic extensibility. It's a deliberate tradeoff.

</comment></comment><comment><USER20> That's how it's supposed to be. You need perl to parse perl. It's not an issue, it's a feature of the language being so flexible.

Simply solution is, k.i.s.s

<comment><USER21> This is a troubling thing to say.

</comment></comment><comment><USER22> This is yet another good reason not to use Perl.

</comment><comment><USER23> I knew it!</comment>