Why People Initially Suck at Programming - <AUTHOR> http://talkbinary.com/articles/10-reasons-why-people-initially-suck-at-programming/ <comment><USER4> This is a pretty poor article on the whole. These "reasons" aren't supported by anything other than conjecture. Should be titled "10 reasons why I think it could be that some people suck at programming, based on my personal biases on the topic and on no actual data."

On top of that, the writing is loose, the ideas aren't really thought through. Basically, it's just someone's spontaneous, unrefined brain fart on the topic.

Sorry if the author is reading this, but it's honest feedback. You can do better than this piece of linkbaiting trash.

<comment><USER5> @swombat

I'm the actual author but thanks for the feedback I'll put it into good use. I'm new into this type of writing so I was expecting my first article to be not that great.

Either way, its helped me a lot since I've learned in ways I could improve further articles.

But why did you mention it to be a piece of linkbaiting trash? Links posted were to support my reasons. Also, I didn't collect any data since this was done through the help of other programmers so its not really a brain fart in the sense.

And poor? Honestly, I don't think its that bad.

<comment><USER4> The whole article feels loose and disconnected - probably as a result of the way you sourced the ideas. If you got them emailed in by different people, it's no surprise that it feels like a collection of unrelated points rather than like a cohesive article.

That's another problem with these points, too. They're not the result of some reflection to come up with some key reasons why people suck at programming, they're just the first things that popped into the heads of the people who emailed you. Because of this, the article goes only skin-deep in what would otherwise be an interesting topic. Instead of insight, it provides only a superficial list of obvious, unresearched ideas. This kind of content may fly on a general interest site, but on a site like HN, which is filled with programmers who _have_ spent time thinking about why programming is hard, it is just bad.

Let's take one of the "points" apart:

 _Before I help anyone with their code, I ask to see their algorithm. If they can't provide it, I tell them to develop one and nearly all the time they'll figure out why their program didn't work._

Huh, what? That doesn't even make sense. Most programs don't involve much or any algorithmic design. Are you sure you know what an algorithm is? Or what a program is? What kind of program are you talking about? How do people "show you" their algorithms? What does it even mean to "show the algorithms" for a Ruby-on-Rails app?

 _An algorithms is the framework, and basis, of a program. Many beginners don't develop one, and write as it goes. When that happens, they lose track of their direction in solving the problem and it becomes difficult debugging. – Benjamin_

Who's Benjamin? Why is his opinion relevant to this topic? Also, what a silly opinion. Most programmers I know, experts many of them, and myself included, do not spend time "developing their algorithm" before writing code. I assume by algorithm you mean pseudo-code of some sort. If you have to write pseudo- code before you can write real code, then you really do suck at programming. As a programmer, this point makes me feel that you don't know what you're talking about.

 _So next time, save yourself some time and jot your plan of attack on a piece of paper. Start programming until you know how to solve your problem. I do it, and it works amazingly._

Again... most programming problems are trivially easy once you know how to solve them, but in many cases you don't know how to solve them before you do it. And the language you "write your algorithm" in should be the language you're writing your program is. In this paragraph we also see an example of loose writing: "Start programming until you know how to solve your problem"... did you mean "Don't start programming...?" That would make more sense in the context of the article. This kind of mistake makes it hard to take the article seriously, because you're already on a flimsy basis to begin with.

 _You don't want your program looking like this poor guy, Asimo falling down stairs, do you? So plan accordingly!_

What a poor example! Most programmers with some intelligence would love to be able to write the insanely complex code responsible for allowing Asimo to fall down the stairs. AI code is some of the hardest on Earth, disrespecting that suggest you don't understand this basic point.

<comment><USER6> I think English is not the author's first language; it shows up in the article and in his posts here. We tend to be understanding of poor grammar here, but the instinctive reaction to flawed English is that the message is also flawed. While it is possible to work out what the author meant, it takes some consideration - that consideration is better spent on the ideas.

Writing should be like a window, that you can see clearly through - not one you have to keep checking to see if it's a mark on the window or what you're supposed to be seeing. Excellent writing disappears.

So, TalkBinary, if you're genuinely interested in writing, improving your English is crucial. It might seem prejudiced to criticize your English, but it is the first thing people see about your writing, and because their time is limited, they will judge it on that basis. swombat has given a lot of his time to you - although it can be harsh to hear negative comments, this is valuable advice you have received. It might also seem that grammar and spelling etc are secondary, and shouldn't matter (I used to feel this), but they really do - <USER2> you want to communicate. Hell, even when I read my own writing months later, any spelling errors etc are very distracting, and if I haven't been clear it is hard for even me, the author, to understand.

I'm not sure of the best way for you to improve, but the first thing is for you to _want_ to. The second thing is to get feedback - swombat has given you a start (and I agree with all his writing points). If you can handle it, seek out further feedback and criticism. If you are in school/uni, you can probably find someone there to help also. The third thing is to take action on it - such as rewriting this article with the errors corrected.

Finally, I wanted to fill out one of swombat's points: writing out an algorithm can be crucial. I just spent the last two months getting one clear (I did have a go at coding it directly earlier on, but it wasn't clear enough). Once I was clear, it just took a day (today) to design, code and debug. Now, this _is_ unusual; I'm doing research on relationships between grammars for a startup. Mostly it's not needed, as swombat says. But after two months, I just wanted to speak up for one of those problems that is not in the "most" category (though I'm inclined to think that _all_ problems are trivially easy once you know how to solve them; similar to how mathematician can only do "trivial" proofs.)

I actually think the ideas quoted above are actually good ones, if you're not clear on what you're doing (though annoyingly expressed). Exploratory programming is also helpful. I find it's a mix; it depends how complex the problem is, how many different issues there are - and crucially - how much experience you have with that kind of program. Familiar problems are easy to solve in your head or at the keyboard. I used to always work that way, until I got into grammar stuff.

BTW: if you purely compiled this, so it's not your writing, remember that as editor, it's even more important that you are able to write well, so as to improve - _edit_ \- the writing of others. Anyway, good luck, I think the article is hepful overall, good on you for actually doing something and having a go, and I hope you start to take this opportunity, of room for improvement.

<comment><USER5> Thanks for the comment. I understand as a writer that all I can do is improve my writing. So sure, I don't really mind people criticizing me for my writing. On the other hand, I love to hear what others have to say when I can improve on something.

I just don't like hearing people assume and start talking about things where I don't think its entirely true.

As you, I also believe writing out an algorithm is crucial. Sure, you can get away with it most of the times but once the problem becomes more abstract, difficult, and interesting then it's essential.

<comment><USER6> I think swombat was definitely rude in his first comment calling it a "fart" and "trash". Name-calling is labeling, and is neither accurate nor helpful in a cognitive sense; and is abusive and disrespectful in a social sense; and it appears to be based on a strong personal emotion of anger, rather than an objective appraisal. It has no place in a civil and intellectual forum. But this is the internet. It's never been a civil and intellectual forum, including here, despite what many HN users would like. Even associate professors, when online, do it: <http://news.ycombinator.com/item?id=1611007>

The best we can do is to seek the grain of truth in what someone says, because they often do have _a_ point, disregard the rest, and not fall into name- calling ourselves. It's just about impossible to stop someone from being rude; but we can stop ourselves from taking it personally. And the most effective way to do that is to fully accept any _legitimate_ criticism they have, and totally discard the rest. The rudeness belongs to them, not to you, and you can bet it causes them all sorts of problem. One should therefore feel sympathy for person who has been rude (including oneself.)

That said, let me unpack what (I think) was meant: by "brain fart", he's upset about the writing itself, and that the ideas have not been thought out carefully. He sees it as carelessness, and is offended. Whereas I see it as a lack of ability, with English not being the authors' first language. But I agree that you and the other authors can improve on this - as he said "you can do better than this".

By "link-bait trash", I think he means that you have written this article for the purpose of getting hits, and not _primarily_ out of interest in the content, nor for a wish to communicate it. From the article, and what you've said here, it does come across that way - but I find it very hard to judge, because of the language issue. Poor communication can lead to all sorts of problems!

He could have written these thoughts out objectively, without name-calling; as a result of not doing that, he has offended you. When a person feels attacked and offended, it is distracting for them, and makes it difficult for them to appreciate the actual content of the criticism (it even tends to pressure people to go against the criticism). Name-calling undermines one's purpose.

I hope the above makes it easier for you to accept the content, and disregard the insult.

You can begin by asking yourself what the purposes of the article were - <USER3> getting hits the primary purpose? It might not be "entirely true", but is it partly true? If so, admit it to yourself, and then you can move on. Having an objective and factual perspective makes you (largely) immune to insult.

(BTW: I have a more nuanced view of writing out algorithms. It's definitely useful at times, but it's not _always_ the best one (not crucial or essential). A danger is that writing can concretize your conception of the problem (eg an incorrect assumption); whereas beginning to code can give you information. Have you ever gone to a lot of trouble to get clear on a problem, and then when you start to code it, you immediately realize that you misunderstood it, meaning that all that time was wasted? (and if you've become attached to that misunderstanding, you may fight the evidence, or not even see it, because not open to it). Writing algorithms definitely has its place, it's a mix.)

</comment></comment></comment></comment></comment></comment><comment><USER7> > "So if you find yourself lacking some motivation, maybe thats why you aren't > that great. Go find it and last time I checked, money pushes so many people > forward."

The problem is that money isn't motivation to actually _enjoy_ programming. When you start coding to get money, you're seeing coding as means to an end, and not an end in and of itself. That sucks all the fun out of coding just for its own sake.

I used to love coding games. Then I realized I could sell them for money. I started making games at a much faster rate in order to make more money, but suddenly the game making part was not as much fun any more. I wasn't pushing my own boundaries any more; instead, I was just rehashing what I already knew and had already made into new layouts to create another game. Once I realized this, I stopped selling games, but enjoying coding just for coding took a while to fully came back. I could argue that it only just now came back, about a year after I stopped selling my games.

<comment><USER8> Interesting. I'm wondering though, was it really one or the other? Weren't you able to just continue doing it for fun and exploring new ideas, but sell just because/when they reached some specific level of quality?

Or did the business side take over just because... well - it's good to get money for the work?

</comment></comment><comment><USER9> One of the biggest mistakes I see a lot of beginners make, is that they don't break the problem up into sub problems that they can easily solve. What I always tell students is to write some code, and then test it right away. Too many students try and solve the entire problem without compiling once, and then they are bewildered when they have 1000 errors because they forgot a semicolon at the end of each line.

<comment><USER10> After a few years of teaching new recruits how to program, this still amazes me: so many people will go a _day_ without compiling once!

I mean, I've been programming professionally for 7 years, and much more before. But whenever I need to do something that I haven't done in the last week or so, I _still_ always start with a tiny function to make sure I still remember how to do even the basic stuff, and build from there. E.g., every time I write some new js code, I start with a function that only prints something to the console; then, does the basic functionality, printing results to console; then and only then, start doing more complex things. It always surprises me that people will spend a day or more working without checking even the most _basic_ check that what they're doing works the way they expect.

<comment><USER11> >After a few years of teaching new recruits how to program, this still amazes me: so many people will go a day without compiling once!

I can go a long time without compiling but that's because I use IDE tools that show me instantly if I have compiler errors, etc. :)

<comment><USER10> This is without a doubt a _huge_ benefit of IDEs (and compiled languages, since with interpreted you don't really get the same benefit). I wish more people realized how great the benefit of this: I suspect most people dismiss it without ever trying.

</comment></comment></comment></comment><comment><USER12> I'd say programming is deceivingly easy.

I mean, it's easy to write one line of code. It's easy to write a second line of code. It's when you reach hundreds or thousands that it gets tricky.

Good programmers manage complexity.

</comment><comment><USER8> I've got no. 11... "Just deal with it".

I haven't seen that attitude before, but recently an idealist graduate joined my team. I can't remember now how many times lately I had to tell "Yes, it has bugs, but writing a new implementation would take a year, so we're just going to patch the library."; "No, it doesn't have a documentation - check if it behaves correctly."; "No, it really doesn't need to be a fully speced system on its own JVM, it doesn't need more than a shell script."; "Yes, requirements change, get used to that."...

Of course we'd all love to have 100% correct, documented libraries, specs which are unambiguous, properly designed code that will stay at version 1.0.0 and with same API forever... Well - it just doesn't work like that, even if it's a good thing to aim for. I can swear every day at some RFCs and the bunch of monkeys who wrote them, but that doesn't mean it's going away. It's already out there - if you have time, build something better. If you don't... take a break, breathe, come back and make it work.

<comment><USER13> _Of course we'd all love to have 100% correct, documented libraries, specs which are unambiguous, properly designed code that will stay at version [4.x] and with same API forever..._

Qt 4.

</comment></comment><comment><USER14> I would say that people "initially suck at programming" because most people

a) think and behave quite illogically in their day to day lives

b) express themselves in generalities and don't think in enough detail (which makes sense when your primary interaction is with other humans, it simply isn't necessary) to communicate their ideas to the degree that programming generally requires.

<comment> loup-vaillant In other words, programming is the first actually technical subject they ever studied. <http://yudkowsky.net/rational/technical> (High school math is a technical subject, but it's rarely studied as such.)

</comment></comment><comment><USER15> Why do people initially suck at brain surgery?

Why do they initially suck at Super Mario Brothers?

Why do they initially suck at playing piano?

...

Not sure if I should tell the old Carnegie Hall joke or link to that Gladwell book...

</comment><comment><USER16> I've been finding that in order to motivate myself for programming I have to not think of it in terms of, " _sigh_ , a basic GUI front end for MySQL....". I have to make myself identify some interesting problem, or new skill which challenges and interests me. That way I feel motivated to work through the easy stuff I've done before because then I can work on the interesting problem.

</comment><comment><USER17> Algorithmic thinking is both a skill and a kind of thinking most people have not done prior to programming.

</comment><comment><USER18> I think problem with lot of bad programmers are that they do not take the top down approach and often get way too attached into the micro-details when they are just beginning. From my experience, it invites a lot of trouble. They open the editor and start coding stuff when they don't even have big picture in their head. Not only this increases the total time to have it developed by 2-3 folds, but you get stuck at times. It just makes programming so much easier when you spend couple hours thinking about the problem before you actually throw yourself into actual coding. This is probably the biggest lesson I have learnt about programming.

</comment><comment><USER19> So the question is: why are novices, novices?</comment>


Amazon employees protest sale of facial recognition tech to law enforcement - <AUTHOR> http://thehill.com/business-a-lobbying/393583-amazon-employees-protest-sale-of-facial-recognition-tech-to-law <comment><USER2> Seeing, in the press, actual technologists' opinions on what is and isn't a good use for their technologies is extremely refreshing, and something that that many on HN have grumbled about for a long time.

Along with the similar actions at Google and Microsoft[0,1], I hope that this represents a bit more of the decision-making power of tech companies coming back towards technologists, and away from the money-men.

[0]: [https://www.nytimes.com/2018/05/30/technology/google- project...](https://www.nytimes.com/2018/05/30/technology/google-project- maven-pentagon.html)

[1]: [https://www.nytimes.com/2018/06/19/technology/tech- companies...](https://www.nytimes.com/2018/06/19/technology/tech-companies- immigration-border.html)

<comment><USER3> It would be nice if this spread beyond the US. Although it's kind of hard to imagine workers having any voice in countries like Russia or China.

<comment><USER4> One always has a voice simply by choosing the place to work at.

</comment></comment></comment><comment><USER5> I'm dismayed at the comments here of "if Amazon/Microsoft/Google don't work for ICE, someone else will". That argument doesn't fly. If you stop helping ICE, they will have to get worse software from likely more expensive vendors (less market competition for the contract). Which will make ICE less efficient in its goal to criminalize, separate and deport immigrants.

<comment><USER6> If ICE has to get worse software that just means you and everyone else need to pay more in taxes. The government has the means to get what it wants usually

<comment><USER7> That's only a problem if "minimize taxes" is the only metric you care about.

</comment></comment></comment><comment><USER8> Don't they understand their own platform? AWS is self service. Anyone with a credit card can set up an account and consume Rekognition or any other service. It's not as if it has to be sold to the police by a sales person under some licensed/contract. No special software is being developed for ICE or the Orlando police.Forbes recently put together a face recognition system using AWS components under 30 dollars. WTF are these employees on about. Anyone is free to build on AWS. What's next? Ban police from purchasing stuff on Amazon retail? If you disagree with your govt, go tell your congressman instead of irritating everyone at work

<comment><USER2> Right.

But, as we found out with Signal[0], in addition to the UI and the law, there's a whole other world of what is and isn't possible with AWS, called policy.

Anyone with a credit card can get an AWS account, but it's against the ToS to use it to offend the DMCA, host a crawler (whoops!), run an open mail relay, or store bestiality, for the simple reason that _Amazon have decided that they don 't want that to happen on AWS_.

Mass surveillance of the population via facial recognition is an offensive proposition to a great many million Amazon Prime members!

[0]: [https://signal.org/blog/looking-back-on-the- front/](https://signal.org/blog/looking-back-on-the-front/)

<comment><USER8> Er, explain how the law enforcement is violating any terms and conditions. Domain fronting is illegal. Mass surveillance is what the NSA does for a living. If it is offensive to prime members, they have found the wrong tree to bark up

<comment><USER2> > _... explain how the law enforcement is violating any terms and conditions_

I'm not saying that they are, just that Amazon are within their right to stipulate that there are certain uses of their technology which _they just don't like_ , as they see fit.

> _Domain fronting is illegal._

First I've heard. Where? Why?

> _...NSA... If it is offensive to prime members, they have found the wrong > tree to bark up_

This story is not about the NSA. The Rekognition controversy arose regarding local police departments, who are very much _not_ tasked with mass surveillance. Amazon used local police departments as example deployments, and for marketing copy as an idealized use-case.

I would personally stop shopping at a local store, if by supporting them I was supporting their objectionable side-business. Consumer boycotts are pretty common, as are changes to corporate policy due to the bad press boycotts generate.

<comment><USER8> The police cannot do any mass surveillance with AWS Recognition. For that they need access to huge amount of video feeds.IF they already have access to such video and use primitive techniques to sift through them for identifying criminals, then Rekognition makes it cheap and value for money for the taxpayers. Sifting through data to identify people is police work. Why hobble it by mandating that they use expensive outdated slow technology? If the police has no access to streaming video feeds on a mass scale, the tool can't help. If they are accessing the feeds illegally, then they are breaking laws - AWS can terminate accounts. Any proof that they are doing this illegal activity?

</comment></comment></comment></comment></comment><comment><USER9> If you don't like what Amazon is building, just wait until all those contracts start going to Raytheon and Northrop! I appreciate the moral quandary these engineers are faced with, but there is something to be said for being a responsible steward of technology. I've met quite a few MIT Ph.D.s who nonchalantly mention their roles as, what sounds like to me like "Program manager for raining fire and destruction on third-world countries systems." Someone is going to write the code, I kind of hope it's done at companies like Amazon where there is some ability to publicly pressure management vs. defense contractors who are largely unaccountable to the masses.

<comment><USER10> This really aligns with my thoughts too. I was sad to see Google pull out, because I know that with the ideology of many of the people there, the whistle is _far_ more likely to be blown when things go too far. Having worked for big defense contractors, that whistle is not likely to get used there.

I get nervous as hell thinking about AI and ML in the hands of governments, but it's gonna happen _anyway_. I'd rather it be Google than Northrop.

<comment><USER2> > _... the whistle is far more likely to be blown when things go too far_

In your admiration for a Google employees, you're projecting your own beleifs and norms.

The whistle was blown; Project Maven _is too far_.

> _I get nervous as hell thinking about AI and ML in the hands of governments_

Me too, but a cleaner way to deal with it might be to demand better transparency and accountability from the government. Beleif that large corporations will act in your unstated best-interests (and not their own) seems pretty noisy.

<comment><USER10> It's definitely fair to point out that Google and their employees aren't likely to be the perfect representation of what I would hope for, but all I really meant to convey was that as an institution I trust them _more_ than I do the big defense contractors. TBF, it's not a high bar to leap.

</comment></comment></comment></comment><comment><USER11> I love the sentiment, but seriously... who did you think you were building this for? It's absurd to believe you were helping anything other than the big brother character from 1984. Who else would this help? Foreign secret services? Maybe you believed it would help stream line the automation process? Thereby making humans irrelevant? I'd love to hear a legitimate - non-big brother implementation of this. And please don't be so coy as to say this helps automate person to person sales. I can already review all purchases made through big box hardware stores thanks to them identifying me through my credit card number and the email address I associated with it.

<comment><USER12> > _Who else would this help?_

FaceID users. Just because something has downsides doesn't mean it has no upsides.

<comment><USER13> This is not the same thing as Face ID. First Face ID requires special cameras. Second it only on device. Third, classifying something that is novel is much different than identifying a previously registered person. (This difference is somewhat akin to transcription versus recognizing 'Hey Siri')

</comment></comment></comment><comment><USER14> Amazon is about to effectively receive a sole source DOD contract for 10 billion for "cloud services". They have been supplying AWS to intelligence agencies for years. Why outrage over this and not that?

<comment><USER15> Because politics. It's an election year and people are manoeuvering for position. Obama had children in these detention camps, Feinstein and just about any democrat in government more than ten years has had tough stances on illegal immigration, but, now of course with Trump it's different.

Snowden, Assange both shed light on massive surveillance and the outrage lasted a week. Now Assange and Snowden are seen in a less positive light as well by the same people who hailed them as defenders of freedom and transparency.

People are fickle.

<comment><USER16> Under Obama, occasionally we had a few children seperated from their parents and placed in detention camps. In the last 6 weeks we had over 2000 children seperated.

There was a change in policy from: we don't generally presecute parents with children, to: prosecute all parents with children.

You don't think that change could have had anything to do with people's outrage?

</comment></comment></comment><comment><USER17> lol, AWS has multiple entirely dedicated regions for the US government like the CIA but now "facial recognition" crosses the line...

If those employees were really against this type of work, they should have come out against it years ago.

</comment><comment><USER18> Amazon built it to recognize staff as they walk in and customers at their physical stores so they wouldn't have to carry a wallet. It's like GPS. Many legitimate civilian uses, but also very useful to use in orchestrating government force.

<comment><USER19> > customers at their physical stores so they wouldn't have to carry a wallet. > It's like GPS. Many legitimate civilian uses

It's not like GPS, because GPS doesn't invade my privacy. I'm not sure that being identified everywhere I go is "legitimate", though it is common.

</comment></comment><comment><USER20> How is selling to law enforcement any worse than selling facial recognition tech to companies that are also use it to invade my privacy and use the technology to try and squeeze money out of me?

Where do you draw the line on ethical usage?

In my mind, if you're concerned about the ethics of facial recognition tech, you shouldn't be working in that field at all. It's fundamentally anti- privacy.

<comment><USER12> > _Where do you draw the line on ethical usage?_

One can put me in a box. The other one can't.

<comment><USER21> Say the government doesn't have it. They can just ask/force/coerce/pressure the tech company that does for your data. Or steal it from them.

<comment><USER22> But it's more difficult.

<comment><USER21> Is it? I don't think it would be. In fact, extortion and coercion are fairly easy because there are no rules (this I can attest to from both sides of the equation). The easiest weakness to exploit is always going to be the humans involved, especially in a legitimate business. The only true way to protect data like this is to have it not exist in the first place. Once the data is created - forget it, you might as well assume if Big Bro _really_ wants it, they're going to get it -- because they will, if they don't already have it. It's not a case of if, but when.

</comment></comment></comment></comment></comment><comment><USER23> I am seriously liking how S/W engineers are controlling the conversation here.

<comment><USER24> It would be more correct to say "a small but vocal subset of software engineers" are controlling the conversation. That is, if they do manage to "control" it in Amazon's case, which I highly doubt. This is completely politically motivated knee jerk.

If you do not like surveillance and would like to have less of it, the proper way to deal with the problem is to get your lawmaker to ban it at the federal level, not to shift the implementation to some other company just because you don't like Trump.

But that's not the issue here, is it? "Resistance" is. Time and time again it is uncovered that the Obama administration did the same exact things the Trump administration is being panned for, and everyone just nodded in agreement. If someone's moral compass turns opposite depending on whether their candidate wins or loses, that's not a "moral compass" at all, that's just a political dog whistle.

<comment><USER25> As long as protesting is still legal in the US, it's part of the proper way to deal with the problem.

</comment></comment></comment><comment><USER26> I really don't think the DRPA needs Amazon/Google to militarize AI.

It already happened, years ago it is a random forests/SVM, now it is a neural network. Weapons are machines, should we just go and ban research machine learning as a whole?

</comment><comment><USER13> I have a feeling that one of these cloud companies is going to have a mass firing of employees that are protesting against government contracts. People underestimate just how much money the US government spends. Just DoD spending is more than 600 Billion per year. Microsoft and Google have annual revenue of 100 Billion. The $10 Billion Pentagon cloud contract immediately gives a huge boost to any cloud provider. As can be seen by most of these companies dealings with very repressive governments (China, Saudi Arabia, etc), they will talk a good game, but when serious money is on the line, they will do what they need to do to get the money.

I bet that in back rooms, high level cloud execs at Hear companies are hearing an earful about how they need to control their employees and part of getting the big contracts requires controlling your employees. Just look at how the NFL caved in when Trump accused them of not supporting soldiers. Will these companies stay the line when Trump starts saying that these companies are hurting American soldiers and police officers? I am not confident they will.

<comment><USER2> Google and Facebook are known to retain the services of _Pinkerton Corporate Risk Management_ for employee surveillance.

They're a pretty famous name in US labor history!

[https://www.theguardian.com/technology/2018/mar/16/silicon-v...](https://www.theguardian.com/technology/2018/mar/16/silicon- valley-internal-work-spying-surveillance-leakers)

[https://en.wikipedia.org/wiki/Pinkerton_(detective_agency)](https://en.wikipedia.org/wiki/Pinkerton_\(detective_agency\))

</comment></comment><comment><USER27> Unfortunately, the future is often unavoidable.

</comment><comment><USER28> Previously on HN:

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

<comment><USER29> Is it? That looks like shareholders. Unless these employees are the same shareholders?

<comment><USER30> It's a bunch of commentary on the subject mostly. I spoke my piece in that thread. So I won't go into it again here.

Long story short, basically what a previous poster said. People spent so much time trying to find out if they could, no one seemed to stop and think about whether they should.

</comment></comment></comment><comment><USER31> If people do not want a public organization to use facial recognition software, then energy should be directed towards that action of the public organization - not towards the vendors supplying the technology. They will get the technology whether or not Amazon or Google or whoever else provide it. The one and only thing that might stop this from happening is if our political representatives chose to take action against facial recognition. And as opposed to mass surveillance of digital communications, I think this is something that would have pull with the masses as well. People's faces being automatically processed and scanned is something much more visibly dystopic than the NSA archiving your digital communications.

</comment><comment><USER32> Seriously? All the proclaimed freedom in country is built on the backs of soldiers/police. And we are worried about helping them? If we cant trust the govt then boot them. I am more worried about big companies which are accountable to small set of shareholders more than big govt accountable to najority.

<comment><USER33> > I am more worried about big companies which are accountable to small set of > shareholders more than big govt accountable to najority.

Well then, how do you feel when the two cooperate, one enabling the other to screw us more efficiently?</comment></comment>


Show HN: React-mvi Minimal framework for react and rxjs. Now production ready - <AUTHOR> https://github.com/brn/react-mvi <comment><USER2> I'm sorry but 0.3.4 is _not_ production ready version number.

<comment><USER3> What about React 0.14 before it bumped to v15.0 or Node 0.10 before it merged with io.js?

1\. [https://facebook.github.io/react/blog/2016/03/29/react-v0.14...](https://facebook.github.io/react/blog/2016/03/29/react-v0.14.8.html)

2\. [https://nodejs.org/en/blog/release/v0.10.36/](https://nodejs.org/en/blog/release/v0.10.36/)</comment></comment>


Microsoft: Rust Is the Industry's 'Best Chance' at Safe Systems Programming - <AUTHOR> https://thenewstack.io/microsoft-rust-is-the-industrys-best-chance-at-safe-systems-programming/ <comment><AUTHOR> Interesting info :

"Microsoft has deemed C++ no longer acceptable for writing mission-critical software"

"70% of the CVEs originating at Microsoft are memory safety issues"</comment>


Meet Fancy Bear: the Russian group accused of hacking the US election - <AUTHOR> https://www.buzzfeed.com/sheerafrenkel/meet-fancy-bear-the-russian-group-hacking-the-us-election <comment><AUTHOR> DDos-es, defacings, Twitter-bragging, (not to mention the Olympic doping hacks) and no real evidence they "are burning through zero days" makes me think these guys are doing this for the lulz not the state. Anyone else get the sense these are Russian AntiSec types?

</comment><comment><USER2> _In late July 2008, three weeks before Russia invaded Georgia in a show of force that altered the world's perception of the Kremlin_...

That's propaganda material right there. Disinformation!

</comment><comment><USER3> Russia, Russia, Russia.

I'm more concerned that Vice Chairman of George Soros' highly political Open Societies Foundation is also on the Board of Directors of Smartmatic, the electronic voting systems corporation responsible for all vote counting in 16 US States, including Pennsylvania.

Soros has donated $10m to one SuperPAC alone, Priorities USA Action, which has/is spending around $100m on pro-Clinton TV ads. [1]

I could go on and on about this cabal. But even just stating stuff about him kinds of sound slike the ravings of a madman.

The guy is wanted Dead or Alive by Russia. [2]

On Dec 20, 1998, on 60 Minutes did Steve Kroft interview George Soros where Soros, a Hungarian Jew, admitted collaborating with the Nazi's as a teenager and stated: "...I had no sense of guilt." [3]

[1] [http://www.cnbc.com/2016/09/20/billionaire-george-soros- thro...](http://www.cnbc.com/2016/09/20/billionaire-george-soros-throws- another-25-million-to-pro-clinton-pac.html)

[2] [http://investmentwatchblog.com/vladimir-putin-george- soros-i...](http://investmentwatchblog.com/vladimir-putin-george-soros-is- wanted-dead-or-alive/)

[3] [http://message.snopes.com/showthread.php?t=43876](http://message.snopes.com/showthread.php?t=43876)

<comment><USER3> Former NSA staffer and famous whistleblower, William Binney, says the DNC hack was not done by Russia but by US Intelligence.

[http://investmentwatchblog.com/nsa-whistleblower-says-dnc- ha...](http://investmentwatchblog.com/nsa-whistleblower-says-dnc-hack-was-not- done-by-russia-but-by-u-s-intelligence/)</comment></comment>


Ask HN: What Are Some Heuristics To Get New Ideas? - <AUTHOR>

<comment><AUTHOR> I will start with one from pg: thing that you might look back in 5 years and say "Really? we were doing it that way?"</comment>


Data on 1.2M Facebook users from 2005 (2011) [use archive.org url in thread] - <AUTHOR> http://www.michaelzimmer.org/2011/02/15/facebook-data-of-1-2-million-users-from-2005-released/ <comment><USER2> > to my surprise, the dataset included each user's unique Facebook ID number.

Come on Facebook, you should be hiding your internal identifiers from third parties. Ideally each consumer of Facebook data should have its own mapping of identifiers to make it more difficult to combine datasets later on.

<comment><USER3> considering that for a long time facebook didn't have "usernames" and everyone was identified by a number this doesn't seem strange (especially as my faulty memory might mean that they created usernames post 2005)

<comment><USER4> One can still find the id, even when a person has chosen a username that masks it. Right click the block option of a user you are not friends with, copy the link and voila, you've got the user id now.

I mostly use that to see public but normally inaccessible pictures of people I am not friends with (i.e. pictures they've been tagged in).

Try it yourself (for some reason this only works on desktop mode): [https://www.facebook.com/search/{$PUT_THAT_ID_HERE}/photos-o...](https://www.facebook.com/search/{$PUT_THAT_ID_HERE}/photos- of)

</comment></comment></comment><comment><AUTHOR> Archived versions:

2011

[http://web.archive.org/web/20110217082656/http://michaelzimm...](http://web.archive.org/web/20110217082656/http://michaelzimmer.org/2011/02/15/facebook- data-of-1-2-million-users-from-2005-released/)

2018

[http://web.archive.org/web/20180322184527/http://www.michael...](http://web.archive.org/web/20180322184527/http://www.michaelzimmer.org/2011/02/15/facebook- data-of-1-2-million-users-from-2005-released/)

Dataset:

[https://archive.org/details/oxford-2005-facebook- matrix](https://archive.org/details/oxford-2005-facebook-matrix)

</comment><comment><USER5> cached version: [http://webcache.googleusercontent.com/search?q=cache:bxG_r4W...](http://webcache.googleusercontent.com/search?q=cache:bxG_r4Wuq4UJ:www.michaelzimmer.org/2011/02/15/facebook- data-of-1-2-million-users-from-2005-released/)

</comment><comment><AUTHOR> Further reading:

"Anonymised" data on internet users obtained for "research"

Relationships between industry and academia

[https://www.theguardian.com/news/2018/mar/22/facebook- gave-d...](https://www.theguardian.com/news/2018/mar/22/facebook-gave-data- about-57bn-friendships-to-academic-aleksandr-kogan)

Self-regulation

Patents on protecting communications (see FN 18)

[https://gking.harvard.edu/files/LazPenAda09.pdf](https://gking.harvard.edu/files/LazPenAda09.pdf)

[http://www.nytimes.com/2006/08/09/technology/09aol.html](http://www.nytimes.com/2006/08/09/technology/09aol.html)

Data from 12 million Facebook users

"There are legal obstacles to making the data available" (see Acknowledgments)

[https://www.misrc.umn.edu/wise/papers/1b-3.pdf](https://www.misrc.umn.edu/wise/papers/1b-3.pdf)

</comment><comment><USER6> I'm trying to see which is a bigger problem at hand. The Equifax breach a couple months back or the FB fiasco.

Equifax breached over 143 million users with social security #, credit card #, and personal data.

For FB, can someone explain to me what was the actual damage, was it just personal information about you?

<comment><USER7> > For FB, can someone explain to me what was the actual damage, was it just > personal information about you?

FB allowed apps to access data about the user (who authorized the app) and their friends (who _did not_ need to authorize the app).

The kind the data FB has can be used to reveal a lot of information about you (e.g. age, where you live, etc.) and this information can then also be used to derive things you haven't told FB -- such as estimating your income or predicting your SSN [1].

[1] [http://www.pnas.org/content/106/27/10975](http://www.pnas.org/content/106/27/10975)

</comment></comment><comment><USER8> Site is down, but the link that fits the title better is [1] anyway,because that is where the dataset originated. This page also has the timeline of the release. Very short timeline, that is, because you can imagine how quickly they had to take it down.

[1] [http://masonporter.blogspot.de/2011/02/facebook100-data- set....](http://masonporter.blogspot.de/2011/02/facebook100-data-set.html)

<comment><USER9> All of the linked files there 404. Anyone who has it wanna make a torrent and post the magnet link?

<comment><AUTHOR> [https://archive.org/download/oxford-2005-facebook- matrix/oxf...](https://archive.org/download/oxford-2005-facebook- matrix/oxford-2005-facebook-matrix_archive.torrent)

Download individual files directly:

[https://escience.rpi.edu/data/DA/fb100/](https://escience.rpi.edu/data/DA/fb100/)

</comment></comment></comment><comment><USER10> Needs a [2011] in the title.

</comment><comment><USER11> and you cannot remove easily facebook apps from your android phone ... same for apple phone??

<comment><USER9> That is not true. Only Android phones from the absolutely shittiest manufacturers have malware pre-installed.

<comment><USER12> Samsung?

<comment><USER9> Yes, the shit they ship on their phone is horrible. I would never use or recommend one of their horrible phones.

</comment></comment></comment></comment><comment><USER13> HN hug of death?

<comment><USER14> Yup. Here's a Google Cache for those interested:

[http://webcache.googleusercontent.com/search?q=cache:bxG_r4W...](http://webcache.googleusercontent.com/search?q=cache:bxG_r4Wuq4UJ:www.michaelzimmer.org/2011/02/15/facebook- data-of-1-2-million-users-from-2005-released/+&cd=1&hl=en&ct=clnk&gl=us)</comment></comment>


Avoiding Instruction Cache Misses - <AUTHOR> https://pdziepak.github.io/2019/06/21/avoiding-icache-misses/ <comment><USER2> The complexity of current hardware is madness.

The performance of software is influenced by the workings of tens of units (+local caches) connected (non-linearly) with fifos, ooo buffers, replay mechanism. There are multiple versions of the same unit to save chip space (like light and heavy Integer/FP). Units/domains have different clock speeds. And from generation to generation port connections and instructions between pipelines can be reshuffled.

I suppose what keeps performance changes relatively straightforward for developers is the set of benchmarks used to evaluate the hardware early on.

I appreciate the article focusing on the I-Cache, and the nice intro to decoding.

I would have preferred having an example, and improving something instead of abstractly talking about problems, effects of code and optimizations and possible workarounds.

Tangent: I wonder if we will be seeing specialized instructions sometime that span multiple units and multiple cores in order to reduce data-movement. Think matrix-matrix multiplication. The potential improvements for power and speed seem huge.

<comment><USER3> This is, in a nutshell, why high-performance systems engineering is a rare skill set. It entails writing C++ (or whatever) with full understanding of the machine code that is likely to generate _and_ how that machine code will interact with the incredibly complex internals of modern microarchitectures. It essentially requires de-abstracting two levels of abstraction below the programming language, which exist to reduce cognitive load, in your software design and implementation.

It is unfortunate that this is still so useful in practice, given what it implies about the magnitude of waste in typical software systems.

<comment><USER4> Any advice to learn systems engineering properly?

<comment><USER5> Get a job where you do it some or full time, and acquire lots and lots of practice.

<comment><USER6> +1 took me too long to type, otherwise I would have just quotey you ;-).

</comment></comment></comment></comment></comment><comment><USER7> I've been wondering about the impact of insturction cache misses and potential downsides of executable bloat caused by C++ templates, but have never seen a real case of this being a problem.

<comment><USER8> How would you know it's happening? How would you know it's not? How have you measured/looked?

I'm know little about this area, so I'm curious.

<comment><USER9> Several popular profiler tools (valgrind, visual studio profiler, dtrace, perfmon) can track cache miss rates.

<comment><USER10> perf-tools are my favorite. The overhead is negligible, and thus any metrics you gather are very accurate. Valgrind is rarely useful, considering the execution time disadvantage.

</comment></comment></comment></comment><comment><USER11> Another big issue is iTLB misses. Today if you profile a real-life application, the iTLB miss rates can be 5%+ due to increased program image size. Splitting hot/cold variant like this article also works for this problem, but I was wondering if we can use transparent huge page on code while disabling it for mmapped data pages

</comment><comment><USER12> I wish the article discussed huge pages for executable text and their beneficial impact on the iTLB.</comment>


CBS buying CNET for $1.8 billion - <AUTHOR> http://www.alleyinsider.com/2008/5/cbs_buying_cnet_for_1_8_billion

<comment><USER2> Surprising the Techcrunch still does not have coverage of this

</comment><comment><USER3> How does this affect the CNET/Yahoo! partnership announced just last month?</comment>


A hidden network of 17th-century female spies (2019) - <AUTHOR> https://www.historytoday.com/reviews/can-you-keep-secret <comment><USER2> Nice! I was wondering before whether Eliza, the 17th century spy girl from Neal Stephenson's "Baroque Cycle", was inspired by historical examples. It seems that was the case.

</comment><comment><USER3> > In this scintillating book, Nadine Akkerman demonstrates that women were > unlikely to be suspected as intelligencers and, if unmasked, were usually > treated more leniently than men.

This reminds me a passage from "Homage to Catalonia" from George Orwell:

"My wife was lying in bed all the while; obviously there might have been half a dozen sub-machine-guns under the mattress, not to mention a library of Trotskyist documents under the pillow. Yet the detectives made no move to touch the bed, never even looked underneath it. I cannot believe that this is a regular feature of the Ogpu routine. One must remember that the police were almost entirely under Communist control, and these men were probably Communist Party members themselves. But they were also Spaniards, and to turn a woman out of bed was a little too much for them. This part of the job was silently dropped, making the whole search meaningless."

<comment><USER4> That book has an account going over the top in trench warfare and also describes bayoneting someone. It's bad enough reading it, let alone being there. An independent account of what Blair was like post war would be interesting.

<comment><USER5> PTSD? Hard to tell; it would have been endemic at that time between and after the two great wars. You can detect traces of it in his later work; more directly, having encountered actual Stalinists in Catalonia he became a committed anti-Communist while remaining a socialist, an important political distinction which it is hard for some modern readers to understand.

Orwell would have seen trauma before Catalonia, during his time as a colonial policeman in Burma. "Shooting an Elephant" [https://www.orwell.ru/library/articles/elephant/english/e_el...](https://www.orwell.ru/library/articles/elephant/english/e_eleph) gives a taste of that. (obvious content warning applies)

</comment></comment></comment><comment><USER6> The Parliamentarians in the English Civil War had a pretty solid intelligence operation going. Far better than the Royalists could muster.

</comment><comment><USER7> [http://archive.is/TxXO3](http://archive.is/TxXO3)

</comment><comment><USER8> We took the word 'hidden' out of the title, since an unhidden network of spies would be oxymoronic.

Squeezing out title redundancies like that feels like refactoring code.

Edit: alright you guys, I defer to the panel of 4 and have hidden it again.

<comment><USER9> Hidden, from reading the review, here refers to the historical perspective: male spies were known and written about, but female spies have been kept hidden by historians not looking until this book.</comment></comment>


Show HN: 24bit RGB "AnsiArt" Terminal Image Viewer - <AUTHOR> https://github.com/stefanhaustein/TerminalImageViewer <comment><USER2> This is pretty cool, though I've seen similar utilities already (there are several active BBS groups on Facebook, and a few of us relatively old timers out there.

To me, a big part of the nostalgia of ANSI as it was through the 80's/90's was the skill it took to get something to look like anything with the block/shading characters, 16 foreground and 8 background colors. Even getting the color pallet right in modern apps is pretty off compared to original DOS, which was based on 252,252,252 being white, from there, the offsets are proper.

It's an interesting time we live in... UHD monitors, with more room than I could have imagined in front of me over 20 years ago, when 640x480 was typical, and 1024x768 was cutting edge... let alone a big color range.

<comment><AUTHOR> Thanks! I haven't seen one that does 24bit RGB + shape matching, would be interested in pointers (shading chars don't make sense in 24 bit color space).

Unfortunately I had to remove some of the more interesting diagonal shapes because they are wider than the character cell -- despite the monospaced font... :-/

I actually wrote this because I wanted to test my "pure Java" implementation of strict Typescript by running the raytracer example -- without needing to add a windowing library or image encoder: [https://github.com/stefanhaustein/typo](https://github.com/stefanhaustein/typo)

Got the idea to extract the terminal image viewer from an Ubuntu stackexchange post asking for a tool that would display image thumbnails in the shell without opening a new window: [http://askubuntu.com/questions/97542/how-do-i- make-my-termin...](http://askubuntu.com/questions/97542/how-do-i-make-my- terminal-display-graphical-pictures/185088)

If you run the tool on an image directory, I think you get a pretty good idea what's in the images from the thumbnails (compared to 16bit color)

<comment><USER2> It's absolutely useful... I wasn't meaning to seem dismissive of that. It's just that I usually think of a lot of these things in terms of past compatibilities.

</comment></comment></comment><comment><USER3> This is very cool and produces nice looking output. Well done!

However, I feel like the draw of a tool like this is that it can run in minimalist environments where a GUI is not available. I'm not sure how I feel about having to spin up a JVM to use it.

<comment><AUTHOR> Thanks! I fully agree. Most of the code probably can be ported to C(++) without much change, it's just a few loops over arrays, except for the image loading part. Best solution might be to extend a similar existing unix tool. Can you recommend any (ideally with the source on github)?

</comment></comment><comment><USER4> And, while not quite the same thing, if you are a user of iTerm2, it includes the script "imgcat" that will display an image directly in the terminal window.

[https://www.iterm2.com/documentation- images.html](https://www.iterm2.com/documentation-images.html)

<comment><AUTHOR> Maybe somebody should write an RFC... Not sure how complex this would be to support in terminals in general though. After all, you may suddenly need much more information per cell than the 2 ints for the code point and color...

<comment><USER5> [https://en.wikipedia.org/wiki/Sixel](https://en.wikipedia.org/wiki/Sixel)

<comment><AUTHOR> Doesn't look very convincing: How would one assign colors to individual pixels?</comment></comment></comment></comment>


Kim Stanley Robinson: The Coronavirus Is Rewriting Our Imaginations - <AUTHOR> https://www.newyorker.com/culture/annals-of-inquiry/the-coronavirus-and-our-future <comment><USER3> I have weird feelings towards KSR. His Mars trilogy is awesome in imagining a realistic kind of future that wouldn't be so awful to live in. He is interested in alternative forms of social organization and does a good job of depicting them (he is obviously sympathetic to local egalitarian governments but in his novels they are often quite realistically hampered by indecision and lack of consensus).

Yet I couldn't but feel disgust towards his later novel Aurora. Spoilers follow.

In the novel a group of colonists on a big generation ship (a transparent metaphor for the spaceship Earth) fly towards a nearby star. Near the end of their voyage they encounter lots of ecological problems that they don't quite know how to deal with. When they arrive they are dealt the final blow - <USER2> most hospitable planet contains a deadly pathogen that shatters all hopes of establishing a colony. The author is clearly unsympathetic - their problems are the retribution for the hubris of their ancestors. The solution to the problem is emphatically not science and tech, which is helpless (it even can't quite pin down what the pathogen really is). What is the solution that he approves of? Fly back to Earth, quit thinking about anything so arrogant as star expansion and lie on the beach enjoying the surf.

Yet we don't have anywhere to go back to. Sure we must temper our hubris but the only way to solve our problems is forward.

<comment><USER4> I thought _Aurora_ was flawed in one major respect. The novel suggests that galactic expansion is impossible for civilizations because foreign star systems will have alien pathogens or other environmental factors hostile to human beings. So far, so good, an enjoyable explanation for the Fermi paradox and a contrary view to the optimism in KSR's earlier novels about terraforming planets.

But in _Aurora_ KSR also decides to make the generation starship's quantum computer evolve to become sentient. Now the obvious question to resolve is that machines wouldn't be susceptible to all the biological challenges that KSR listed, so why can't civilizations expand to other solar systems in machine forms? But KSR doesn't grapple with that at all, it is completely passed over.

<comment><USER3> Well, the pathogen is not _the reason_ but one of the reasons. The message is clear - if not one thing then another will get you. Again, I feel that this is a metaphor for expansionism in general, not necessary galactic expansionism in particular.

> But in Aurora KSR also decides to make the generation starship's quantum > computer evolve to become sentient. Now the obvious question to resolve is > that machines wouldn't be susceptible to all the biological challenges that > KSR listed, so why can't civilizations expand to other solar systems in > machine forms? But KSR doesn't grapple with that at all, it is completely > passed over.

Yeah, it was a kind of a gimmick. KSR is clearly more interested in societies and ecologies than AIs. And this is not a bad thing in my view.

</comment></comment></comment><comment><USER5> I sure don't get the sense that people are thinking harder about the future.

The great majority have quietly and calmly made the choice to socially distance, but they looking into the near future when they expect to feel safe enough to go back to the things they were doing before, not contemplating their place in something new.

<comment><USER6> I can't help feeling there is no going back. Like Frodo, some wounds just can't heal. But maybe it's not a bad thing. Maybe we needed a shock to the system to save us from other things down the road. If we can pull together through this, maybe we can science our way out of climate crisis and automation/job-loss crisis next decade.

We've had it pretty easy for a long time, plenty of suffering independantly and not well off, but no world wars and major global catastrophe's like the dustbowl and great depression and ww2 all in a single decade (or close to it).

I hope we do always remember this, and I also don't think life after this resembles 'normal' for a very very long time.

</comment></comment><comment><USER7> Having just read Steven Pinker's book "Enlightenment Now", I'm skeptical of any article that paints this cynical view of how humans are wasting the earth, living their short-sighted lives with no regard for their future descendants.

The reality is that science, described here as "keeping the whole system of technical improvisation from falling down", is eradicating extreme poverty and disease on an incredible scale. It is also making poor countries less poor, which in turn makes their people better off and, yes, make them contribute less to pollution (it also slows population growth). It seems likely to me that the hits taken by the economy in these circumstances will be felt harder in poorer countries, slowing this positive progress for a while.

The author actually notes that the earth holding close to 8 billion people is only made possible by science. He describes this as "unnatural and unstable". This, combined with the fact that further scientific progress is required for all these people to be healthy and well-fed makes me tend to agree with the poster reacting the the novel Aurora and noting "we don't have anywhere to go back to".

<comment><USER8> _It is also making poor countries less poor, which in turn makes their people better off and, yes, make them contribute less to pollution (it also slows population growth)._

How is that? People who are less poor – almost per definition – consume more and hence tend to use up more resources/cause more pollution per capita.

<comment><USER7> Some of the reasons put forth by Pinker:

* a poor country prioritizes growth while a richer one can afford to consider the environment

* a richer country has access to more efficient technology

* on the level of individuals, moral (or future) concerns are not in the forefront of your mind until you have your immediate needs for shelter, food etc. covered.

<comment><USER9> > * a poor country prioritizes growth while a richer one can afford to > consider the environment

Can afford to. May even consider it. But don't act.

> * a richer country has access to more efficient technology

But will not encourage that efficiency unless there's some kind of profit to be made from switching away from the less efficient incumbent.

> * on the level of individuals, moral (or future) concerns are not in the > forefront of your mind until you have your immediate needs for shelter, food > etc. covered.

PS5, Samsung S999, Lexus, Jetski, Outdoor entertaining re-model.

</comment></comment></comment></comment><comment><USER10> "To continue using a private window, sign in or subscribe." A question to other firefox users. Do you disable the private browsing to read this article?

<comment><USER3> I disable javascript, it works against this kind of shit for now.

<comment><USER11> An extra plus is saving battery if on mobile.</comment></comment></comment>