Why Skylake CPUs Are Sometimes 50% Slower (2018) - <AUTHOR> https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/ <comment><USER2> This is from 2018. It was extensively discussed at the time.

The broad consensus was that it was the .NET runtime's spin implementation at fault, both because of the suboptimal use of the PAUSE instruction itself and because of the overall design that had excessive spinning in a few spots. Effectively, IIRC, they were putting the "pause" instruction on the hot path where they needed to exit the loop synchronously, and that's just wrong. Basically no one sane would look at a change log that said "exit latency from pause will now be similar to a pipeline stall" and done anything but shrug.

It's since been addressed in .NET, as far as I know. And I'm not aware of any other affected code.

<comment><USER3> So.. since 2018.. it was 2.5 years ago.. and nothing changed? Obviously, who cares about ex-customers.. fresh one are generating bigger bonuses...

<comment><USER4> It was fixed.

[https://github.com/dotnet/runtime/issues/8744](https://github.com/dotnet/runtime/issues/8744)

<comment><USER5> Not completely. I've seen hard deadlocks on ReaderWriterLockSlim on high thread counts on 8+ core nodes on .Net core (2.1). Literally all threads in a process jammed on spin waits. This is especially frustrating as the concurrent collections sit on top of that steaming pile of crap.

I've learned to walk in the opposite direction of .Net now.

<comment><USER5> Replying to self as I can't edit this now. Whenever I am critical of the .Net framework or CLR there is a flurry of downvotes suddenly. Goes from 2 to -1. It's almost as if there's someone at MSFT saying "look at this shit" to their colleagues in the office.

Sorry but this was a monumental piece of shit that took us out in production numerous times on classic .Net framework/CLR and I couldn't even get through to someone who gave a shit despite being a gold partner at the time and raising it on Connect. On Core, standard practice is to work around it because any time you open a ticket it gets autoclosed or ignored or just steamrolled (like the telemetry tickets)

I have no choice but to look elsewhere because I know any concerns I raise are ignored. MSFT dug this grave. The company is still the sick old dog it always was. Just a new shiny gown.

</comment></comment></comment></comment></comment><comment><USER6> I think this article misses a _major_ point...

PAUSE used to have a fixed quite short latency.

It now has a variable latency. I would hazard a guess that the latency strongly depends what the _other_ cores on the machine are doing, and the other thread on the same core.

Specifically, I would guess intel saw pause being used in spinlocks, and seeing a lot of power and time on functional units being wasted on locks that spin a lot. They decided to deliberately slow down a spinlock's spinning to use less power, and less of other functional units, and in doing so will free up functional units for the computations on the other hyper-thread and power/thermal headroom for other cores in the same CPU.

By doing so, the thought is that overall, the computation should complete sooner.

If both hyperthreads on a core execute pause, I'd expect the latency to go to very low again.

Yet that reasoning didn't work in this case... The only explanation I can think of is that while some threads are executing pause instructions, other threads are executing other kinds of spinlock's without pause instructions. Those other spinlock's end up spinning faster now they have more functional units, but still making no forward progress.

The overall result is the computation isn't sped up, and you still pay a latency penalty to notice the computation is done, hence slower overall.

<comment><USER7> I don't actually think that was the point. Here the code was literally spinning for dozens of milliseconds, running multiple pause instructions sequentially. I'm no expert in this kind of thing, but spinning for that long without checking the condition is really strange, and caused them to actually be hit by the length of the pause instruction very severely since they were essentially spinning for something directly proportional to the length of a pause.

<comment><USER8> Possibly the original authors benchmarked against CPUs of the time and found that multiple pauses worked best.

</comment></comment></comment><comment><USER9> Why is .NET using spinlocks in user space, anyway? That's usually a kernel technique, where you can't yield to another thread.

<comment><USER10> Userland has spinlocks quite often. The thing you're locking is often soon unlocked. It's not worth the time to reschedule.

Futex-based spinlocks do what, 1000 spin cycles before actually futex(2)ing?

<comment><USER11> > The thing you're locking is often soon unlocked.

If the holder of the lock got preempted you could be spinning for a very long time.

<comment><USER12> This is why spinlocks don't spin forever; they will break out of the spinloop and do a full-fledged OS-level lock acquisition, which will deschedule the thread.

<comment><USER13> You still have the problem if your spinlock gets preempted while spinning. You really should only use a spinlock if you can disable preemption, which is usually limited to the kernel or realtime processes.

<comment><USER12> It's no worse than being preempted anywhere else, as long as your spin sequence doesn't preclude other threads from acquiring that lock when it is released; in fact it is often better. If you are preempted while spinning to acquire a lock then that is working as intended (WAI), because you yield the CPU to runnable work, instead of burning it.

> You really should only use a spinlock if you can disable preemption, which > is usually limited to the kernel or realtime processes.

Oh god, no, don't do that. Then you could livelock if you don't do a hybrid strategy, because you are totally hosed if all your cores enter the unpreemptable spin sequence.

Maybe you are thinking of a different scenario, where the thread is preempted in the spinloop, but the kernel thinks it is runnable and at some future time just reschedules it, and it then continues to spin. That can happen, but the thread should break out of its spinloop and block anyway if the spinlock is tuned properly, so at most you just broke up the spinning across reschedules, and haven't fundamentally made anything worse. In an ideal world, if the kernel preempts a thread in a spinloop, it should transition it directly into the waiting state, and not reschedule it until it can acquire the lock. But since spinloops are in userspace, the kernel usually has no idea what is going on.

</comment></comment></comment></comment></comment></comment><comment><USER14> Article from 2018. I imagine most compilers etc. have already accounted for this?

<comment><USER15> I'd be surprised. In order to get the pause instruction you'd have to use inline assembly or intrinsics, at which point the compiler would just blindly generate what you wrote. Maybe a JIT compiler would do the right thing.

<comment><USER16> Why do you think that? Because compilers tend not to use the pause instruction? Any why would a JIT behave differently here?

<comment><USER17> Yes, a compiler wouldn't have a reason to insert a pause instruction, except to implement a pause intrinsic or some other canned sequence.

</comment></comment></comment></comment><comment><USER18> Interesting strategy to deprecate x86 features, just make them slower and wait for compiler and language developers to avoid slow instructions like fire.

<comment><USER19> A slower pause instruction is still useful and you can even argue that it's better than the previous implementation because the pause instruction frees up time for hyper threading.

</comment></comment><comment><USER20> This is funnily related to the Win9x crash on fast CPUs.

<comment><USER12> Not really. This isn't a delay calibration loop. The "pause" instruction is a hint to the CPU to yield core resources to the sibling hyperthread because it is (or would be) blocked due to lock contention. In no way does the performance adjustment that Intel did affect software's semantic correctness.

</comment></comment><comment><USER21> TLDR: PAUSE instruction pauses longer.

</comment><comment><USER22> Imagine taking performance advice from a blog that logs 5000 exceptions and then crashes the tab.

<comment><USER7> Sounds like you might want to file a bug against your browser, or pick another one, because in a somewhat fortunate twist the things that don't work at the social media scripts ;) But on a more serious note, surely you can make a comment that's better than that…

<comment><USER23> Social media scripts need to die.

I fixed a friend's site recently this month that still had a Google Plus link on it.

</comment></comment></comment><comment><USER24> Is there a significant # of people on HN that use Windows in production? Perhaps I'm misguided, but if this was about Linux stuff, it'd seem appropriate.

<comment><USER25> People are upvoting it, so I guess it's appropriate enough ;-)

But I feel your first part is a legit question. As a Linux user I can't answer for myself (only reason to use Windows are games and SigmaStudio).

However, a lot of our customers in the embedded world seem to prefer Windows. Not sure that's because their IDEs are Windows only or just because they're used to it or because management forces them or because other reasons...

<comment><USER23> Depends if you're talking about CE or NT.

Until very recently (2016+), a lot of us were assuming Microsoft was still committed to maintaining CE as an OS for things like handheld RFID scanners, train conductor ticket machines, etc - because all the companies that had CE- based applications didn't want to have to rewrite them for Android or iOS. And the reason they were using CE in the first place was because Linux was not a viable option for SH3/ARM/MIPS-based low-power GUI/screen-driven devices - back in 2001-2010. Microsoft made CE integration and deployment easy with their Platform Builder tools - building your own Linux district for an embedded application is a job in itself.

Now that NT runs well on ARM, and that SH3 and MIPS are dead in the handheld space, Microsoft is pitching NT as a replacement for CE in certain use-cases - but no-one is pretending Windows 10 "IoT" or LTSB is suitable for batter- powered devices. And the mismanagement of the Windows Phone 10 platform especially leaves MS in an awkward situation where they can't serve the best customers you can get: large enterprises looking for a long-term supported platform - who have no problem with MS' relative lock-in; who now have to switch to non-phone Android handhelds and switch from .NET on CE to JVM on Linux - and they won't want to do this again for a long time (decades?) - Microsoft did untold long-term damage to their viability as an enterprise solutions provider by abandoning CE. Smh.

(Okay, Android is one option - another is QNX (other platforms like VxWorks aren't really used for LoB applications). I wager most devs would prefer Android over QNX out of familiarity though - especially as I imagine most devs under 30 (35?) today have dabbled with writing their own smartphone app.

<comment><USER25> That's genuinely interesting, thanks :)

I actually meant most of our customers are running Windows on their workstations, on which they develop embedded systems. Due to selection bias (our target audience are "safety critical embedded" devs), they can not use Windows CE (or for that matter Linux) as a product platform. I'd literally expect people to die if they did ;-)

And yeah, it's more like 35. Android/iOS isn't that new anymore ;)</comment></comment></comment></comment>


You don't need a Co-Founder - Just Do It - <AUTHOR> http://danielias.com/blog/2012/01/you-dont-need-a-co-founder-just-do-it/

<comment><USER2> While the narrative plays well, I just wonder if the data really does support your hypothesis. I say that as a solo founder.

I can definitely think of times where I wish I had a cofounder and how helpful it would be to have someone there, dedicated to working on the company's problems and issues. My mom, while an amazing woman who would go to the end of the earth to help me in any way she could, just can't do many of things I need to do to launch a software company.

And beyond her, nobody else is committed enough to me or the company to go to the length I would expect from a cofounder.

<comment><AUTHOR> Who's to say your cofounder is going to be as committed as you are when times get hard? When it really comes down to it, you can't trust anyone to be as committed as you to your company except yourself.

<comment><USER2> It sounds like you have trust issues to work out.

<comment><AUTHOR> It's experience. 18 years worth it.

<comment><USER2> Why are you so defensive? I've been screwed over by partners in the past. I would be amazed if someone here had not been screwed over by someone they trusted.

It happens. Just because it happens sometimes doesn't mean it always happens. Nor does it mean that cofounders are worthless.

I am not saying being a solo founder isn't viable but I also don't accept your cowboy belief system as absolute.

<comment><AUTHOR> Sorry, if I came off as defensive. There is no such thing as absolute. My point was that don't get caught up in trying to find a cofounder to get yourself started. That's it. No trust issues, no hate, no absolutes.

</comment></comment></comment></comment></comment></comment><comment><USER3> You also do not, strictly speaking, need a utensil to eat spaghetti. But it works better, if you find the right utensil.

<comment><AUTHOR> utensil is the solo founder. Prior to that, they needed their hands only.

</comment></comment><comment><USER4> The title of the article is correct, the content doesn't really do the title justice.

You don't NEED a co-founder. If you have one, great, get going.

If you don't have one, great. Just do it, get to work, build your dream.

</comment><comment><USER5> For some people the whole experience is just more fun and interesting if you have someone else with you to share it with.

</comment><comment><USER6> Bit of shame to see a potentially entertaining opinion piece marred by female care-giver stereotypes.</comment>


R generation - <AUTHOR> https://rss.onlinelibrary.wiley.com/doi/10.1111/j.1740-9713.2018.01169.x <comment><USER2> I've tried both R and Python for data analysis and data wrangling and the experience with R was a whole lot better for me (I work as a business intelligence consultant). Python is really steeped in programmer culture, which you notice in everything from its user base to its manuals. Which is great for people who want to learn programming or study CS or so.

But I'm not a programmer and I don't want to be. My biggest program ever written is maybe 150 lines to covert a mess of excel files to something usable. Programming is a necessary means to an end for me to do my job, but every time I tried to learn actual programming it bored me to tears. R, while I fully admit has a syntax which is clunky at best (although the tidyverse really helps here), does exactly what I need. Its users are all active in roughly the same space (data analysis in all its forms) so finding help is easy. The community is incredibly friendly, easily found on Twitter with the #rstats tag. It has packages for everything I would ever need. Basically, R helps me get things done, which is all it needs to do for me.

<comment><USER3> I think your post illustrates well why both languages are important to have. I also work in the Business Intelligence - space, but my job is usually more focussed on setting up data pipelines and developing a small specialized web app here and there. So if I'm already doing that, and I do analysis on top of that, of course I'm going to pick Python, because I can stay in the same ecosystem and I already have a better feeling for how things are going to work. But this wouldn't make sense at all for someone who generally works more on strategy and decision making and wants to dig a little deeper from time to time.

Although when people ask me for a recommendation on what to learn, and they're actually interested in programming and building things themselves, I always recommend them to at least give Python a shot and see if they like it, as it then also gives them the possibility to do a lot of other things with the language.

</comment></comment><comment><USER4> I'm a statistician that knows just enough about computer programming to be dangerous. It's hard to overstate how incredibly important R is to my discipline. No other language allows me to express my thoughts and prototype statistical ideas quickly and effortlessly.

If statistical programming was still stuck in the SAS era, I think there is a non-zero probability I would have lost interest in the profession years ago.

<comment><USER5> Glad you're still interested! I agree–R is light-years ahead of the competition (Python, essentially) in most statistical domains. It seems to fit the workflow better.

<comment><USER6> Light years ahead? It doesn't even support 64-bit integers. The R language cannot count past 2.1 billion. In 2018. Don't get me started on the package system.

<comment><USER4> I'm always hearing about these and other problems that programmers have with the R language. In practice, none of them seem to be a big deal to statisticians.

64 bit integers? Never had a need for this, but maybe there is a package that can add them in?

What's wrong with the package system? I maintain an R package on CRAN and I'm quite smitten with the package system.

<comment><USER7> > I'm always hearing about these and other problems that > programmers have > with the R language. In practice, none > of them seem to be a big deal to > statisticians. > 64 bit integers? Never had a need for this

This kind of thinking is pervasive in a wide corner of statistics and this is pretty much why machine learning stole its crown, that's why I get to hear quips like "Statistics ? Is that even relevant ?"

<comment><USER8> Crown of what? They are complementary fields. Try doing ML without any statistics and lets see how far you get.

<comment><USER7> They are closer than complementary and that is exactly what I am trying to point out.

How much funding, support, mind share, conferences, venture capital yadda yadda does stats get compared to ML -- thats what I mean by losing its crown. All that ML has now could easily have been stat's were it not for the attitude I draw attention to.

Isnt that sad, given that ML in many cases is just stats without the baggage "R can solve all of my problems and whatever R cant solve isnt a stats problem"

<comment><USER8> Yes I agree wholeheartedly, sorry I originally missed your point. I do think it's more of a DL vs. the world problem than stats vs. ML but everything you said rings true. I was kind of odd in that I started with DL and then became fascinated with statistics and lost focus with DL. Statistics is just so much more useful outside of the niche domains where DL is extremely effective.

<comment><USER7> > Statistics is just so much more useful outside of the niche domains where DL > is extremely effective.

This. Sorry had to.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> R and Rstudio have been my primary bread and butter maker. You might argue that Rstudio has financial interest in growing R community but it's fair and it has helped overall R as a language entirely (not just as statistical one). Hadley Wickham's _tidyverse_ is an amazing example of how one can simply get stuff done. Along with %>% pipe it is almost like idiomatic python. The ecosystem is amazing, I can write a web scraper in a couple of lines of code as simple as beautifulsoup. I think that's the strength of R. The intuitive UI and easy setup of RStudio just help someone get started with no hassle. That's a key I believe. I have also trained non-programmers and they managed to do data analysis in R using tidyverse in a matter of a month or two max.

</comment><comment><USER10> In my opinion, R is the best language for quickly exploring, iterating models, validating the models, and repeating the cycle. I would be curious to hear whether Python, which I use for preprocessing the data into flat tables, is as good as R in this domain.

Also ggplot2 and tidyverse packages are powerful for accelerating your iterative cycles.

<comment><USER11> Absolutely not! If you're given a dataset and you're trying to fit a model or even run exploratory analysis, Python doesn't even come close to R. Even with Jupyter, the experience is not as smooth as R+Rstudio.

<comment><USER12> Except if you like Vim keystrokes. The R Studio implementation (as I understand it's just the ACE library) is really crap.

I find even the Juptyer-notebook Vim plugin is better than the R Studio implementation :(

<comment><USER10> I use Rstudio with its vim implementation. I would be curious to know what are the things that are missing compared to vim?

<comment><USER12> There's a bunch: [https://support.rstudio.com/hc/en- us/community/posts/2008793...](https://support.rstudio.com/hc/en- us/community/posts/200879313-Better-vim-mode)

The most annoying one for me is the way x behaves. Go to the end of a line. Press x (delete character). It's supposed to delete the character, then move the cursor to the left, so you can delete the next character. It just stands there. That's wrong (try Vim or Visual Studio with vim keybindings). It just annoys me a lot because that's how I've always gone about deleting chars instead of using backspace or using ctrl-h.

</comment></comment></comment></comment></comment><comment><USER13> R was the first language I learned (I ... do not recommend this) and while I don't use it Day to Day at work, I'm always using it for fun side projects about everything from baseball statistics to urban planning. I'm not a professional statistician, by any means, but fully appreciate the work the community does with this toolset.

</comment><comment><USER14> It's really interesting that there are such divergent opinions on R and Python. I'm curious why some people seem to find R incredibly frustrating and Python entirely sensible, and others find R miraculous and smooth and Python inaccessible.

Is there some set of improvements to Python that would make it popular with R users, or vice versa? Or is it a fundamental difference in taste that will never be bridged?

<comment><USER15> I've been programming for a long time and had to learn R a few years back for a series of projects. The documentation and community seemed to me, as a newcomer, to be very focused on how to solve particular statistical and modeling problems, and I was almost always able to do what needed to be done relatively quickly. (Python documentation and communities, in contrast, span all kinds of applications that can be difficult even for an experienced programmer learning Python to sort through and evaluate. I can also imagine the migration to 3.x has been a challenge for newcomers.)

Although I enjoyed learning and using R, as a CS person I was bothered that I understood how to do X in R, but I had no clue about what was happening when I did X. I found this paper to be particularly useful in describing R from a CS perspective: [http://www.lirmm.fr/~ducour/Doc- objets/ECOOP2012/ECOOP/ecoop...](http://www.lirmm.fr/~ducour/Doc- objets/ECOOP2012/ECOOP/ecoop/104.pdf)

</comment></comment><comment><USER16> R was the first programming language I learned and I still use it a couple a times a week for work, but it wasn't until about 2 years into using R when I started learning python that I realised programming isn't difficult and frustrating, R is just badly designed.

</comment><comment><USER17> If you want to sprinkle some type safety onto your R, check out this lovely piece of kit:

[https://tweag.github.io/HaskellR/](https://tweag.github.io/HaskellR/)

</comment><comment><USER18> Thinking about the long run: Is there any version of the future where the best and largest library of statistical procedures could be somewhat language independent, and not organically part of a small language that itself is an unholy alliance of a matlab-like quick-and-dirty syntax and a hobbyist-level scheme interpreter runtime?

<comment><USER19> If you really want this to happen, you should probably start contributing to Julia.

<comment><USER20> There is an xkcd comic for this one on JavaScript Frameworks.</comment></comment></comment>


Hudson River Helicopter Crash + Twitter Spam = Absurd - <AUTHOR> http://www.brandinfection.com/2009/08/08/twitter-spam-is-rarely-targeted-sometimes-just-absurd/

<comment><AUTHOR> What will twitter do in order to fight this spam? Will it have an anti-spam filter in the future, like your e-mail program does?</comment>


Chuck Moore (invented Forth) announced new CPU: 144 cores, 100 billion ops/sec  - <AUTHOR> http://greenarraychips.com/home/documents/greg/GA144.htm

<comment><USER2> I really, really want to like these guys - I have been following Forth, Charles Moore, and colorforth since first reading up on Forth in 1996 or so.

However, the site is a dog's breakfast, and despite clicking around I cannot seem to locate an actual binary to download and run colorforth on Windows. Where / when can I buy an eval board? How do I connect it to ethernet, or USB?

Further, it seems to be a company where you have a lot of smart guys who are retired, and they are just putzing around without a burning desire to really take over the market they are targeting.

BTW it seems each core only has a very limited amount of RAM on it, 64 "words" which means 32 bits on PCs and 18 bits (???) on the g18 core CPUs.

<comment><USER3> I think that colorForth _is_ the simulator.

I just downloaded it from: [http://greenarraychips.com/home/documents/greg/code/af-34k2-...](http://greenarraychips.com/home/documents/greg/code/af-34k2-ga144-1-10-PD.zip)

It's only two clicks from the main page.

I don't know if I'll do anything with this or not.

</comment></comment><comment><AUTHOR> Sorry about the title, I couldn't fit in who Moore is and have it make sense. I wanted to say: "Chuck Moore, the inventor of Forth, announced GreenArrays new CPU: 144 cores, capable of 100 billion ops/sec"

<comment><USER4> Forth inventor Chuck Moore announces 144 core CPU capable of 100 billion ops/sec

80 chars on the nose.

</comment></comment><comment><USER5> Very naïf question from a software-only guy: given that such a chip exists, how is one supposed to USE this kind of thing? Like, maybe plugging some kind of card on a PC? Or is it just interesting for hardware manifacturers?

<comment><USER6> Given the chip, you can't get to the "software only" part until you have:

\- The chip mounted on a board with at least memory and communication.

\- Software on your machine to talk to the board and hear back from it.

In general, the most rudimentary development kit possible is to have the chip on a board with a ROM socket, and some development setup that allows you to burn code to a ROM. Then you plug the ROM in the board, turn the power on, and see if it works ...

</comment></comment><comment><USER7> Anyone ever worked with one of his cpus?

<comment><AUTHOR> The only commercial company that I know of, but I don't know much, who has explored using one of his CPUs is BMW.

.

If you want to try it out you can use their emulator: <http://greenarraychips.com/home/documents/greg/cf-intro.htm> softsim is an instruction level simulator for GreenArrays chips, using code you compile for ROM and/or RAM, and with provision for adding testbeds to simulate I/O.extend softsim to allow you to define and simulate external peripherals to interact with using I/O pins.

</comment></comment><comment><USER8> Wow. As an undergrad (equivalent - I live in Brazil), the best project I did (the one I am most proud of) was a stack-based CPU that ran something very close to Forth.

This is really, really cool.

</comment><comment><USER9> 100 billion instructions per second is what.. fast than the current Intel i7s? Am I reading this right?

<comment><USER10> I think it's about 10% as fast as a high end GPU, and around 2x faster than a CPU.

Edit: That's flops not instructions, it could be faster than that if it's doing multiple flops per instruction. Also GPU's have significant limitations so it's not really possible to get those speeds on a generic workload.

<comment><USER11> Where did you get that information? This hardware cannot do 1 flop in 1 instruction. Far from it, actually.

<comment><USER10> Never mind. I was thinking of a diffrent chip then.</comment></comment></comment></comment>


Two Congresswomen Not Allowed to Speak on House Floor in Michigan - <AUTHOR> http://www.npr.org/blogs/thetwo-way/2012/06/14/155059849/michigan-state-rep-barred-from-speaking-after-vagina-comments?ft=1&f=1001

<comment><USER2> being banned for mentioning "vagina" and "vasectomy" during a bill about abortions...how else would you discuss the topic?!</comment>


Why Graphene Could Be the Future of Bikes - <AUTHOR> https://www.youtube.com/watch?v=FaKl3OymFy4 <comment><USER2> Graphene reduces the weight of resin by about half and increases the strength by increasing the interfacial shear strength of the resin - bonding the resin more tightly to the carbon fiber and providing connective support between the fibers.</comment>


Inside Rocket Internet's Ailing Startup Factory - <AUTHOR> https://www.bloomberg.com/news/articles/2016-10-07/inside-rocket-internet-s-ailing-startup-factory?utm_content=tech&utm_campaign=socialflow-organic&utm_source=twitter&utm_medium=social&cmpid%3D=socialflow-twitter-tech <comment><USER2> The comments from a year back seem relevant [https://news.ycombinator.com/item?id=10431382](https://news.ycombinator.com/item?id=10431382)

</comment><comment><USER3> It's good at starting tech cos, but not so good at running them.</comment>


Beyond the Game of Life - <AUTHOR> http://www.judegomila.com/2013/01/beyond-game-of-life.html <comment> guard-of-terra The new blogger makes the reading impossible on my device.

I had the idea of 3D life where every other cell is unused (chess-like); then every cell has 8 neighbors, but in 3D. But it seems that life rules make this space stable. Didn't experiment with other rulesets.

</comment><comment><USER2> wow, just... WOW.

I've never seen a simulation of Game of Life in several levels; it's yet more impressive than I thought Game of Life could be per se.

<comment><USER3> A while back I made a plugin based Game of Life simulator.

I only created 3 plugins for it, but one of them was similar to the picture in the article, where each new round of evolution is placed on top of the previous level.

Here's a screenshot: <http://jlarocco.com/crap/3d_life.jpg>

If you're interested, the code is up on GitHub. It should work out of the box on Linux, but I was having some problems getting the plugin shared libraries to build and load on all platforms. I think OSX works, but it might still require copying the plugin shared libraries into the .app. Don't know if it works on Windows.

<https://github.com/jl2/LifeAutomata>

<comment><USER2> Interesting... thanks! I'm on windows, but bookmarked your project for the future ;-)</comment></comment></comment>


Medium suspends account that investigates Chinese concentration camps - <AUTHOR> https://twitter.com/shawnwzhang/status/1161816203527987200 <comment><AUTHOR> The author of this blog, Shawn Zhang, has been doing important work chronicling internment camps in Xinjiang using satellite imagery.

Here's an article about him: [https://www.theglobeandmail.com/world/article- ubc-student-us...](https://www.theglobeandmail.com/world/article-ubc-student- uses-satellite-images-to-track-suspected-chinese-re/)

Hopefully his account suspension was because of orchestrated mass reporting triggering automatic systems, and his account will soon be restored. (A similar thing happened to many Chinese language Twitter accounts just before June 4, which is an important day on the Chinese political calendar.)

</comment><comment><USER2> It seems odd that this process bans before investigation. It seems that a process that values value would want to not block content until it has been reviewed by some reliable machine or human system.

I like to try to figure out the principles of processes and systems and a process that blocks based on automatic flagging seems to me that it values preventing harm from people not liking something over preventing the harm of people not knowing from the info's unavailability.

<comment><USER3> Review by a machine system sounds dystopian and buggy. If it just automatically flagged for human review though, that sounds reasonable

</comment></comment><comment><USER4> I didn't even know there were concentration camps in China. Thanks for sharing. If companies are going to shut out this sort of work in favor of free speech then we're headed for a dystopia.</comment>


Angry Birds – One of the world's most successful applications - <AUTHOR> http://tutorialnew.com/en/angry-birds-um-dos-aplicativos-de-maior-sucesso-do-mundo.html Who could imagine that some flying birds fighting pigs could work so well, This is one of Android games most famous World: the Angry Birds... <comment><USER2> Pubblic acclamation doesn't necessarily mean you have accomplished something good. For example there is a distinction between music as an art form and commercial pop music. Angry Birds is more of a Britney Spears's song.</comment>


The Serverless Framework Wins Best Microservices API at the API Awards - <AUTHOR> https://serverless.com/blog/serverless-framework-best-microservices-api-awards/ <comment><USER2> Congrats to Serverless! I'm strongly considering it for a new project I'm working on. I was initially thinking about Terraform + AWS Lambda, but Serverless looks like a much better choice.

I think I should probably go to the next API:World conference, because I'm working on a product called FormAPI [1]. Not sure if it would be worth it, though. I went to a tech conference earlier this year, and I didn't get too much out of it.

If you were working on a product like FormAPI and wanted to go to one or two tech conferences per year, which ones would you choose? I'm thinking about RailsConf (since FormAPI is written with Ruby on Rails), and maybe API:World.

[2] [https://formapi.io](https://formapi.io)

<comment><USER3> What does serverless offer over just vanilla lambda functions?

<comment><USER2> I don't know too much about it, but it's a framework for managing your lambda functions, and it makes it really easy to deploy them to a cloud provider.

You could also use Terraform, CloudFormation templates, or write your own shell scripts using the AWS CLI. But serverless does everything for you, and I always prefer to use opinionated tools that don't require too much configuration.

<comment><USER4> With serverless, you'll probably end up writing a CloudFormation template snippets to provision resources to support the Lambda anyway (it's just in the serverless YAML file).

But it does make deployment easier. A good example is macOS + Python. If you have C extensions (such as LXML or crypto libs, etc.), you'll want to build the dependencies inside a Linux environment. serverless has a plugin that can use docker to build and package dependencies.

For reasons I can't put my finger on, I'm not a huge fan of serverless. Maybe the npm focus? But it seems like the best tool out there for Lambdas. Unless you're use-case is narrower, then something like Zappa might make sense.

</comment></comment></comment></comment><comment><USER5> For anyone interested in getting their feet wet with Serverless, in Python I wrote a beginner's guide [0] and a follow-up for Zappa and Chalice [1].

[0]: [https://read.iopipe.com/the-right-way-to-do-serverless-in- py...](https://read.iopipe.com/the-right-way-to-do-serverless-in- python-e99535574454) [1]: [https://read.iopipe.com/the-right-way-to-do- serverless-in-py...](https://read.iopipe.com/the-right-way-to-do-serverless- in-python-part-2-63430131239)</comment>


Brazilian competition paying $150 for the best idea about "How to colonize Mars" - <AUTHOR> https://www.ideiasquevalem.us/ <comment><USER2> A great idea. The effort to establish a Mars colony should be an international effort.

[http://imgur.com/a/n5oAU](http://imgur.com/a/n5oAU)</comment>


I put Paul Graham's essays in audio format in Spotify - <AUTHOR> https://open.spotify.com/show/2smzwGQq7QMJFvFLpv4Aok <comment><AUTHOR> I wanted to listed to PG in my commute to work on my startup, but there wasn't any audio format than PG's lectures/interviews on YT (they're ok) and some guys with bad audio quality in Spotify.

So I decided to use Amazon Polly to put some of my reading list of PG's essays on Spotify with Anchor.

Would you like to see more essays from PG? Tell me which ones and I'll try to put them.

Essays included so far: -Beating the Averages -A Unified Theory of VC Suckage -Organic Startup Ideas -How Not to Die

</comment><comment><USER2> The page with audio is empty :(

<comment><AUTHOR> Hmmm. I do see it.

Maybe a this will work: [https://open.spotify.com/episode/2VFDY1SXfBqd03T42y8ioZ?si=C...](https://open.spotify.com/episode/2VFDY1SXfBqd03T42y8ioZ?si=Crp9gygMTFWVc3qpwrQR6A)</comment></comment>


Ask HN: Are YouTube ads getting worse? - <AUTHOR> I opened a ~1 hour video and saw notches in the timeline for 10 different ad breaks. This is as bad as live TV now. Ads play at the end of videos. More videos have long, unskippable ads. More ad breaks in the middle of videos.<p>Multiple people in my circles said they noticed this too when asked, but it could just be a fluke/some kind of group confirmation bias. Has anyone else experienced this? Or even better, collected data on it? <comment><USER2> Yes, Youtube ads are getting more aggressive. Instead of just 1 ad per interruption (either pre-roll or mid-roll), it's multiple ads in succession. Instead of a few interruptions, it has increased to many interruptions. Unlike you, I don't get the yellow bars in the timeline that show where the ad spots are anymore.

Many Youtubers have made videos about the aggressive ad changes. Here's one example:

[https://www.youtube.com/watch?v=F_tkS4dvi8A](https://www.youtube.com/watch?v=F_tkS4dvi8A)

I don't know if any new definitive statistics are out but some Youtubers complain that they don't seem to be getting any additional money even though viewers are bombarded with more ads.

<comment><AUTHOR> This is a large part of why I won't pay for the premium service. I don't know how much creators get, but I know they always work their way toward pitiful payouts like Spotify. For an example of this slide, see how microstock has gone from something you could make a living on to ever-shrinking payouts and increasingly opaque bonus structures.

A recent example is Shutterstock's change to the payout and bonus structure.

[https://www.reddit.com/r/photography/comments/guv6s3/shutter...](https://www.reddit.com/r/photography/comments/guv6s3/shutterstock_slashes_contributor_payout_by_up_to/)

[https://xpiksapp.com/blog/2020/new-shutterstock-earnings- bre...](https://xpiksapp.com/blog/2020/new-shutterstock-earnings-breakdown/)

The minimum was 25 cents per image. That could add up fast when an agency buyer with a huge bulk credit plan took notice of your portfolio and bought it out, then returned every time you added more. It's now 10 cents per image.

Spotify got there fast. YouTube will get there if it isn't already.

<comment><USER3> I'm not sure why you're attributing this to some bad will from the platform instead of just basic supply and demand economics?

Spotify directly removed massive barriers to entry in distributing music. So there are more artists available to you than ever. Listeners might have grown as well, but it seems not in the same scale.

This could also be the case in microstock (and it seems to make logical sense). More and more photos are posted, and more people are posting. So ofcourse as supply grows the price lowers.

<comment><AUTHOR> >> _" I'm not sure why you're attributing this to some bad will from the platform instead of just basic supply and demand economics?"_

I made no attribution to bad will. I described a phenomenon without judgment.

</comment></comment></comment></comment><comment> tuna-piano For $12 a month (40 cents a day) you can use YouTube ad free. Personally, I don't notice the missing $12 but I do notice the missing ads, so it's worth it to me.

If you don't want ads, this seems like a more than fair offer from YouTube.

[https://www.youtube.com/premium](https://www.youtube.com/premium)

<comment><USER4> I used Firefox with ublock origin[0] and never see an ad.

[0][https://github.com/gorhill/uBlock](https://github.com/gorhill/uBlock)

<comment><USER5> Thief!!!!

"Your contract with the network when you get the show is you're going to watch the spots. Otherwise you couldn't get the show on an ad-supported basis. Any time you skip a commercial or watch the button you're actually stealing programming." \--Jamie Kellner, former Warner executive

<comment><USER6> I'm okay with this. They've deplatformed or suppressed most of my favorite YouTubers anyway, and they are trying to push a culture that I don't agree with.

<comment><USER7> Then stop using YouTube. If I don't agree with the grocery store's business choices, I can steal from them?

<comment><USER6> They're a monopoly and the leader of a winner-take-all market. They leverage their power to control the narrative on many topics. I think of any company to not support, YouTube is a good one to do so.

<comment><USER8> _Not supporting_ is not the same as _stealing._ It's your business as to whether you want to support YT or not, but your disagreeing with their business practices or business model does not give you the right to steal. Perhaps I've misunderstood you (I'm reading this in context of your previous comment where you said you were okay with this, which I take to mean you're okay with stealing their content)?

<comment><USER6> We have different ethical standards then. If a company is a monopoly that actively leverages its power to manipulate entire populations, then I am fine with exploiting services which it makes available. They have the ability to keep me from accessing the site if I use an ad blocker. If they want me off the platform that much, they can boot me off.

<comment><USER9> True but this is a better argument for leaving. They will retain you without ad income largely because that is valuable to them compared to people leaving their platform and what a group of actual non-spectators might entail afa the marketplace.

<comment><USER6> I see what you're saying, but that's a prisoner's dilemma[1]. By that I mean it would require the coordination of millions of others who are also sick of the platform to behave irrationally. It also assumes that people who leech off of YouTube would be unwilling to try a different site because of their leeching.

[1] [https://en.wikipedia.org/wiki/Prisoner%27s_dilemma](https://en.wikipedia.org/wiki/Prisoner%27s_dilemma)

<comment><USER8> This, I think, is your argument. It's helped me to see where you're coming from and - I don't disagree. This is a good point. Thanks for helping me see things differently!

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Yes, it is from the recent changes in YouTube's manage ad breaks policy. Starting July, they will be doing mid-roll ads for videos longer than 8 minutes [1].

      Today, only videos longer than 10 minutes are eligible for mid-roll ads. Starting in late July, videos longer than 8 minutes will be eligible for mid-roll ads. As part of this change, mid-roll ads will be turned on for all eligible existing videos and future video uploads, including those videos where you may have previously opted out of mid-roll ads. Videos that already have mid-roll ads turned on will not be impacted. If mid-roll ads are not a good fit for your videos, you can indicate this preference in YouTube Studio by July 27, 2020.

      Mid-roll ads will be automatically placed at natural breaks in your videos to balance viewer experience and monetization potential for you. After these changes, you will still be able to turn mid-rolls off or adjust the placement in each video manually.

[1] [https://support.google.com/youtube/answer/6175006?hl=en](https://support.google.com/youtube/answer/6175006?hl=en)

</comment><comment><USER11> I've also notice a huge push for youtube premium on mobile. It used to be a once a week thing. Now almost every time I open the app I'm greeted by the popup asking me to upgrade.

<comment><USER12> The constant unskippable ads in the Youtube app meant I jettisoned the app on my mobile devices and just watch Youtube via the browser (even though they make it a terrible experience) because my ad blocker works in the browser.

<comment><USER13> if you're using android, check out redtube.

I use Firefox to browse and with long click and open in app to let redtube handle it. it also is nice to have the option of watching the vid as popup and keep browsing around on YouTube

<comment><USER14> Dangerous search right there.

</comment></comment></comment></comment><comment><USER15> If I understand correctly from a friend, the problem is YouTubers (and YouTube/Google) are currently making _much less_ money per ad. It sounds like more are getting shoved per video to make up for it (iirc, it's up to YouTube to determine this?).

</comment><comment><USER16> Most of the content creators I follow also upload to BitChute (or have been booted from YouTube), so I've moved all my playlists there. I also donate $5/month to BitChute.

Grabbing videos off YouTube with youtube-dl for local viewing is another way to skip ads. Given their censorious policies, I have zero interest in paying YouTube to go ad-free.

</comment><comment><USER17> The one that grinds my gears is the apparent time between ads. I'm learning how to play the banjo and I watch tutorials. This means play, pause, go back to time X and play again. Every few iterations, I get interrupted with an ad or two. Arrrrrgggh!

<comment><USER18> Install UBlock Origin.

</comment></comment><comment><USER19> Youtube on my Apple TV is going bananas for ads. They're everywhere! I don't know how this feels for US users where you guys have a lot more ads in TV in general. But it's starting to feel pretty hostile with my UK sensibilities.

</comment><comment><USER20> Youtube has ads? I never see them since I never use the Youtube site directly, only through an intermediate like youtube-dl or streamlink and programs which integrate this type of functionality, NewPipe on Android, etc. Once they start splicing ads directly into the video stream on the server I might start to get ads but by that time there will either be a way to rip them out again or I'll just keep from using Youtube - something which is getting easier with time by them de-platforming anyone who doesn't abide by the vague and ever-shifting set of rules the censors use to keep the platform palatable to those same advertisers who are making things worse as well as the screeching cancel mobs which are popping up left and right on the 'net. Eventually they might manage to cancel each other out upon which there will be a day of celebration.

Peace will return (with or without a platform named Youtube), until such a time I will flaunt the DMCA at hearts content to keep myself and those around me sane. Call me a thief, call me a pirate, call me anything you want but after decades of ever more abusive ad tech the time is long past to make a stance: the only good ad is a skipped ad. Don't like it? I understand, but the solution does not lie with me. It lies with the shysters in the ad tech industry. Line 'm up against the wall, shame them for life and never let them near a computer again and we'll talk, until such time I say _Sayonara_.

</comment><comment><USER21> uBlock Origin has worked perfectly for me on the desktop, I haven't seen an ad since forever.

<comment><USER22> I honestly don't understand, why anybody would even use a web browser without proper Adblock technology.

</comment></comment><comment><USER23> The frequency of ads got bad enough that some months ago I changed over to an android YouTube client that doesn't show ads. I wouldn't watch YouTube otherwise.

</comment><comment><USER24> I saw two ads right in the middle of a 5 min kids video.

It is getting pretty bad. I did not mind the mandatory ad right in the beginning.

</comment><comment><USER25> For me its also the quality of the ads which is a problem. Over and over I get Grammerly adverts even though I always flag them as repetitive, inappropriate or irrelevant (always signed in). They have nothing to do with my interests or viewing habits.

Twitch does an outstanding job by comparison.

<comment><USER26> I hate, Hate, HATE grammerly ads.

</comment></comment><comment><USER27> I'm getting ads to porn (non-video, I have that blocked). I don't have an account and frequently flush cookies. I just didn't think I'd see the day, especially because they have no way of knowing if I'm older than 18.

</comment><comment><USER28> Open source front-end for YouTube [https://invidio.us](https://invidio.us) It has no ads, no trackers , no Google account required

</comment><comment><USER29> Recently ads have been getting through my adblockers or videos fail to load if the ad is blocked. Refreshing the page or adding a '.' to the url seems to fix this.

<comment><USER30> If anybody wonders at which position: 'youtube.com.' instead of 'youtube.com', background discussed in [https://news.ycombinator.com/item?id=23479435](https://news.ycombinator.com/item?id=23479435)

<comment><USER31> pretty sure they patched this a week or 2 ago.

</comment></comment></comment><comment><USER32> I'm not sure which is more surprising. That there are more ads or that anyone is surprised by this. It is owned by google.

</comment><comment><USER33> YouTube vanced on Android and Ublock origin on desktop. Problem solved. In my POV, the ads got worse a long time ago.

</comment><comment><USER34> Yes. Watching youtube on a smart TV on the installed Youtube app is a nightmare. Time for a Raspberry Pi for media.

<comment><USER35> if you are going for a raspberry I would suggest using it for pihole instead. That would solve the ad issue for all your devices

<comment><USER36> Does pi-hole remove Youtube ads? pi-hole can only block whole ad domains. I would be surprised if Youtube deliberately served ad videos from a different domain than regular videos.

<comment><USER37> It does not. YouTube, at least on my smart TV, serves ads from a domain that is indistinguishable from the domain that serves the video content.

</comment></comment></comment></comment><comment><USER38> Also, the advertisers are savvy to how long they have before you're allowed to hit that skip, and so pitching in the first 5 seconds is getting more common, leading to some pretty absurd copy/delivery. I just love that guy who grabs me on the street shouting in my face about free energy.

</comment><comment><USER39> Also product placement in the video is pretty common.

I'm starting to look at Twich, vimeo more, any other alternatives?

<comment><USER40> lbry.tv

</comment></comment><comment><USER41> Yes. I have been getting ads on my Apple TV at a much higher rate over the past few weeks, which is putting me off a fair bit. Enough to consider auto- downloading certain channels and shoving them into Plex.

</comment><comment><USER42> I recently got a survey on youtube. On TV. I won't file a survey on TV!

</comment><comment><USER43> I think Google is preparing the axe, or at least something equally drastic.

</comment><comment><USER44> If I watch while not-signed in, I get an ad every couple minutes. Unwatchable.

If I'm signed into my Google account, I usually just get an ad at the start of a video, and they are usually skippable, so no big deal.

<comment><USER45> That should be a strong signal about how much data about you is worth to Google.

</comment></comment><comment><USER6> On Android, if you install f-droid, you can install newpipe and avoid all ads.

On Linux, ublock origin plus Firefox removes basically all ads. You can also use youtube-dl in the terminal, though that can be difficult.

<comment><USER46> Ublock origin also works in Firefox for Android.

</comment></comment><comment><USER47> No idea. Since I'm using FireFox, Blokada (AdGuard DNS) on Android, and FireFox, uBlock Origin, uMatrix, NoScript on PC, my mental RAM does not get strained by ads and other nonsense.

</comment><comment><USER48> I was happily blocking them with NextDNS and 1Blocker until about a week ago when suddenly they started getting past both blockers, multiple ads on every video.

</comment><comment> blaser-waffle > Are YouTube ads getting worse?

Yes.

Longer, more consistent, and so wildly off the mark at times I feel like I should be offended.

</comment><comment><USER49> Does anybody else only get scam ads?

<comment><USER50> I don't see YouTube ads because of uBlock Origin, but from what I can tell from other people's computers not having any form of adblock, I've seen that Adsense serves scam ads all the time, so it wouldn't surprise me if YouTube ads were the same. (It's astounding how these corporations can hold the mantle of "fact checking" but are happy to serve potentially dangerous bullshit when it helps their bottom line)

<comment><USER49> I use ublock too. I only see ads on mobile. I have started screenshotting all of the scams I see. Maybe I will send them all to the FTC at some point.

</comment></comment></comment><comment><USER51> I use Brave and haven't seen a YouTube ad in a long time.

</comment><comment><USER52> Install uBlock Origin and you will never see an ad again

</comment><comment><USER53> Yes, I use Brave which has always blocked the ads, but they've been coming through since ~1-2 weeks ago.

<comment><USER54> Was the same for me. I updated Brave yesterday which fixed it.

<comment> j-james YouTube recently made changes to how they display their ads that affected a fair amount of filter lists.

[https://github.com/uBlockOrigin/uAssets/issues/7519](https://github.com/uBlockOrigin/uAssets/issues/7519)

</comment></comment></comment><comment><USER55> 1) Try not to use youtube 2) if u really need to watch smth that's on yt use browser with adblock or newpipe app

</comment><comment><USER56> ITT: people complaining about a _free_ service. Why not just pay for YouTube Red?

<comment><USER57> Oh, where do I start:

\- I don't want music and there is no discount for that \- I don't like random benign channel removals/strikes \- I don't like censorship \- I don't like copyright situation \- There is not option to pay for family for whole year \- They are getting closer and closer to killing rss support.

My setup right now is that I receive youtube updates into my newsboat. I run a macro if I want to watch a video and it goes into download queue and is downloaded by youtube-dl. It synthing-ed onto every single of my devices (including Emby) and then I watch it whenever I feel like, offline, no adds, no nothing, through a normal video player.

<comment><USER56> YT has a lot less censorship than most cable TV packages, all things considered. And "I never watch video category X, so I'd rather not pay for it" is neither here nor there, unless you'd rather have to pay a la carte for every single YT category you may want to watch in the future. Having a single payment for the service as a whole is just better.</comment></comment></comment>


"Programming Is Fun" - <AUTHOR> https://selfimproving.dev/programming-is-fun/ <comment><USER2> Every time I am debugging something I feel something like this: "f*ck this, I am going to give up if this doesn't work", until I finally solve the problem. Then I get a temporary high for about 5 seconds, rinse and repeat. Maybe there is something wrong with me, but that's fun for me lol.

<comment><AUTHOR> I often stay late trying to fix a bug or solve some problem, and I'm furious when someone distracts me.

Meanwhile, when I do _anything else_ that's as frustrating, I _love_ distractions to a fault.</comment></comment>


5000 financial services jobs to move from Britain after brexit - <AUTHOR> https://uk.reuters.com/article/uk-britain-eu-banks/britain-expects-5000-financial-services-jobs-to-leave-by-brexit-day-idUKKCN1MK11E <comment><USER2> I hear they have plenty of vacancies at the NHS, perhaps the bankers can pivot ...

</comment><comment><USER3> When people can't or won't confront the root sources of their ills (corrupt politicians monopolized by rich people), they scapegoat all sorts of other things to get their angst out unproductively: attacking ideas, movements and people. Populist fascists come along promising all sorts of cures, when they generally make things worse. After failing spectacularly, rebuilding from scratch is usually necessary. Repeat every 1-3 generations. And so it goes.

<comment><USER4> I really dislike this narrative peddled amongst many that Brexit was somehow some kind of Facsist coup. Not wanting to be a part of the EU doesn't imply some evil intent. As an EU citizen living in the UK, I was a very reluctant Remain voter but I prefectly understand why some would want out. I have many friends/aquintences who voted leave and they're not bad people, nor idiots, nor whatever else the Europhiles throw at them.

<comment><USER5> Would you mind naming a few of reasons that are valid in your book?

<comment><USER4> Not wanting to be part of a federalised EU (which is the objective of a lot of the member states/big wigs. let's be honest). It's been a continual bug-bear between the UK and others, probably best for both parties to be separate and allowed to pursue whatever they want.

I'm not quite sure how to phrase this properly, but the lack of democracy. What I mean is that democracy/politics need to be both there (which is the case with a lot of the EU) and also visible/tangible to your average citizen (which in my experience, living and working in three EU states is not at all the case). I could go on and on about how remote it seems, how even governments treat EU politics badly etc etc. Regardless the deficit is there and people don't much like it. Also add in dodging the EU constitution vote down, Greece, multiple reruns of votes in Ireland on treaties etc etc.

The EU is a horrible bureaucratic mess. I don't see much possibility of meaningful reforms, when they can't even agree not to have to move the whole HQ between Strasbourg and Brussels every month to a huge cost, to no gain.

As said, I reluctantly voted Remain but am now hoping that a Norway deal can be pulled from the fire but probably expecting some Canada style fudge.</comment></comment></comment></comment>


How telling people the facts may not cause them to change what they believe - <AUTHOR> http://www.boston.com/bostonglobe/ideas/articles/2010/07/11/how_facts_backfire/?page=full <comment><USER2> The theme of this piece is that democracy itself is premised on the idea of an enlightened citizenry, or at least one capable of becoming enlightened through the spread of information. The unstated premise is that rule by elites may be preferable to rule by the people if science should someday discover that average people will be irredeemably swayed by their prejudices and will not make their political decisions based on their intellects. The remaining unstated premise is that good government will follow when people can think like policy wonks and can accurately absorb and act upon detailed factual information about their government.

I think all this misses the point of the U.S. system of politics. That system is based on a constitution adopted over two centuries ago and premised on the idea that good government consists of a government of limited powers with proper checks and balances in place to make sure it remains limited. The idea back then was to move away from the old systems of rule by royalty and to adopt a form of government that philosophically was based on the idea that all _legitimate_ forms of power ultimately derived from the popular will but only as checked by systems that were designed to curtail the effects of mob rule, prejudice, and passions. Thus, the federal government was set up as a tripartite government, with a legislature, an executive, and a judicial branch. The legislature was to have a popularly elected component (the House of Representatives) but also one in the Senate that served to check the popular (Senators were not even elected by popular vote until the 20th century). The executive power was to be sharply curtailed by the specific grants given to it in the constitution and was not allowed to enact new laws but only to enforce those enacted by the legislature, with its tie to the popular will. The judicial branch, in turn, was to enforce the rule of law in a way that was far removed from popular sovereignty, with federal judges appointed for lifetime tenures (subject to approval by the Senate) and capable of being removed only on the narrow ground of committing an impeachable offense. Finally, with the federal power having been so defined and circumscribed, the constitution provided that all powers not expressly granted to the federal government were to be reserved to the states and to the people. A bill of rights was superimposed on top of all this, making clear that certain supervening rights of the individual could not be impaired by federal governmental authority (this eventually being broadened to encompass action by the states).

If you read the Federalist Papers, which were in essence arguments propounded at the time in support of adopting the U.S. Constitution, there is no naive assumption in these documents that pure popular rule would somehow become a pristine way of running a government. Indeed, it was just the opposite. In one after another of these documents, it is assumed that rule by pure popular will is basically evil and dangerous because people will be driven by baser motives to accomplish their ends. Thus, there is all sorts of concern about not allowing unswayed prejudices to run unchecked through the course of government. The point of the arguments was to _recognize_ that this is the reality of how people think and act and to set up a system that deals with it while preserving freedom and holding public officials ultimately accountable to the people.

I think this system ultimately had a theistic base in a Judeo-Christian tradition that saw man as a fallen and fallible creature who was prone to all sorts of mischief when given a chance. This may be open to debate but it certainly was one important component of that era. In any case, the founders appeared to have no assumptions about the ability of people to rule themselves based on becoming progressively enlightened. Their approach was realistic and pragmatic and dealt with how to contain power so that it does not corrupt those given the authority to rule.

This piece has interesting elements in it about how people resist changing their minds based on new information but I think it is off in its implications of what this means for good government.

<comment><USER3> Yes. I agree, with this addition.

American Democracy is about the consent of the governed. It always has been. If you read both the Federalist Papers and the people who were arguing the other side, it's quite clear that the anti-Federalists had some really good points. Many of the predictions they made about the future course of the country were proven correct. Their arguments caused so much concern that a Bill of Rights was a precondition to adoption of the Constitution.

There has always been two strains of thought in America. Strain 1 says that people should be led by their betters. Heck, even Jefferson privately acknowledged that there is a natural aristocracy among men. These people feel that with the right people in charge, working the right system, the sky is the limit. If things are wrong, it's a problem of not having the right person. Government consists of doing whatever it takes to make the quality of people's lives better.

Strain 2 feels that all systems of government are broken, mainly because it's impossible to have a government that doesn't involve men, and men are fallible. I agree that this has some religious roots, but it also has roots in a study of history. As Thomas Paine pointed out -- not the religious person by any means! -- a man who has a king for a tyrant knows who oppresses him. But a man who is a serf to a complex system of bureaucrats is just as oppressed, only he has nobody to point a finger at. Strain 2 believes that every time structure is added, the system becomes more and more broken. That even if you had a super smart person, they'd more as likely be a dictator than a savior. Government consists of doing as little as possible to prevent people from harming each other.

This fight continues today. The constitution was a compromise between these two strains of thought. That's why it's worked for so long. Good government consists of a balance between these two schools of thought, with some kind of reset option every now and then when the system gets too much cruft in it(in my opinion)

So Joe Sixpack who knows nothing votes, but he votes instead of marching in the street with guns. Clyde Wineglass (Joe's cousin who went to Harvard) votes, and by voting he also blows off steam. The major parties exist solely for giving the illusion that things are changing every few years, which makes Joe and Clyde feel better about voting. Over time, each of them builds up a long narrative about how their party almost did this or that, but the other party stopped them. By having a "good" party and a "bad" party in their mind, each of them is able to deal with their frustrations about government without actually becoming angry with the government. This allows our civilization to continue.

It's interesting to observe how different the idea of parties (or "factions" as I think Madison called them) turned out to be compared to what the founders thought would happen. Sometimes you get it right even when you screw up :)

Sorry if that was a little cynical, but that's the way I currently understand it. And I agree with grellas, these guys are off-base. This entire line of science-of-irrationality, as it applies to politics, is a threat to this system of consent, because it threatens to put people in boxes. In addition, it continues to politicization of science. Either of these would be bad by themselves. Combining the two? Ugh.

<comment><USER4> could you point me to the futher reading on strains 1/2 and differences between them?

<comment><USER3> As far an an overview of these strains through the history of the country, I'm actually looking for a book that covers the longer version right now. The problem is that once you start giving concrete examples -- such as the Civil War continuing to evolve the United States along Hamilton's dreams -- people start getting offended. Many of these great political events and policies already have a narrative in people's minds, and people get touchy when you start redefining their version of history. And that's not even getting into the last hundred years!

As far as how it started, here's a great introduction to the Great Debate. It's a description, in the Framer's words, of the issues they saw at the time the Constitution was created. Note that during the Constitutional Debate Jefferson was mostly neutral. Once he started serving in Washington's cabinet, however, it became obvious that these two strains of thought were always going to oppose each other. Jefferson noted that each day he girded himself to prepare for battle. Washington as well tried to stay above it all, and managed to do so during his presidency. Afterwards it became obvious that he was more of a smart-guy-and-structure person, but he managed to keep that mostly under wraps.

<http://www.teach12.com/ttcx/coursedesclong2.aspx?cid=4878>

</comment></comment></comment></comment><comment><USER5> _the second group was immediately told the correct percentage the [federal] government spends on welfare (1 percent)_

If the researchers reported "1 percent" as the actual federal government spending on welfare programs, they were themselves misleading people in the service of an agenda, perhaps by using an incredibly narrow legalistic definition of "welfare".

For 2009, Wikipedia reports $3.1 trillion in US federal expenditures. $224 billion, about 7%, went to Medicaid and SCHIP -- medical assistance to lower- income people -- which would fall under a common, casual definition of 'welfare'. Another $360 billion -- over 11%, went to a category Wikipedia calls "Unemployment/Welfare/Other mandatory spending", which appears to include ~$40 billion in unemployment compensation, at least $100 billion in "other income security", and $100 billion in food and housing assistance. Again, most people would consider most or all of this spending 'welfare'.

Even Social Security and Medicare -- as they often subsidize the spending of people with more money than they've paid in, especially low-income people -- have at least some component that would be fair to consider 'welfare'. Together, they are over $1.3 trillion of the federal budget -- more than 40%.

A plain English definition of 'welfare' from Princeton's WordNet is "governmental provision of economic assistance to persons in need". From the items listed above, one could easily make the case 15%-40% of the federal budget fits that definition.

And this is without even going into subsidies for the middle-class and corporations -- the home mortgage interest tax deduction, cash-for-clunkers, financial bailouts, farm subsidies -- which are also economic assistance, and ostensibly justified because the recipients are said to have some pressing need, and sometimes archly labeled 'welfare'.

(While I've used 2009 numbers, the 1999/2000 numbers -- when the Kuklinski UIUC study was published -- aren't _that_ different in overall proportions. The respondents -- with their more-common answers of 5%/8%/11%/15% -- were all closer to the real values than the researchers' preferred 1% answer.)

<comment><USER6> You may be technically correct, but I think very few people would consider Social Security part of "welfare."

IMHO, you could rerun the study with the phrase "food stamps" instead of "welfare" and get very similar results.

<comment><USER7> _I think very few people would consider Social Security part of "welfare."_

Okay, so now we have an illustration of mass irrationality in the political system. Looking at how Social Security is funded and distributed fits typical definitions of a welfare program.

<comment><USER8> _Looking at how Social Security is funded and distributed fits typical definitions of a welfare program._

I disagree. Typical definitions of a welfare program have money going to poor people as a central feature. That doesn't describe Social Security.

Social Security pays a disproportionate amount to those who are well off. There are two factors. The amount you get paid out depends on how much you put in, and your life span. People who are better off generally wind up paying in more, and then live longer to collect benefits. Overall Social Security represents a wealth transfer from young to old, and from the poor to the top 20% of the population.

Oh right, and in recent decades it has been a net source of working revenue for the federal government, through the form of buying Treasury bonds. But now it is considered broken because the federal government does not have any way to pay back to Social Security money that is owed it from general funds...

<comment><USER7> _Social Security pays a disproportionate amount to those who are well off._

I agree with this criticism of Social Security and this basis for saying that Social Security is distinct from welfare. The reason I tend to regard Social Security as a welfare program is that it is, I think by general agreement, an ENTITLEMENT program, in other words a program that a subsidized recipient can draw from with only minimal reference to individual characteristics of the recipient. (You disagree with me on that point, in part, but the degree to which Social Security payments to recipients are linked to taxpayer "contributions" to a Social Security account is only partial, not on exact actuarial principles.)

<comment><USER8> Well obviously Social Security is an entitlement program. So is Veterans Benefits and Services. That doesn't make either welfare.

Anyways most of this is a terminology argument. You're defining welfare broadly as any government spending for the purpose of helping (mostly poor) people. The researchers defined welfare narrowly as the federal government's contribution towards the cost of sending people welfare checks. (That would be money spent on TANF (Temporary Assistance for Needy Families).) Reasonable arguments can be formulated for either definition. The fact that they use a more narrow and technical definition doesn't make their definition wrong. Nor does it indicate any dishonesty on their part.

</comment></comment></comment></comment></comment></comment><comment><USER9> "If we believe something about the world, we are more likely to passively accept as truth any information that confirms our beliefs, and actively dismiss information that doesn't."

This is important. Darwin, on his journeys, was very strict on himself about noting down any information that seemed to contradict his theories, because he knew that the natural tendency of the brain is to turn a blind eye to any such inconvenient facts.

</comment><comment><USER10> Suppose I am a perfectly-rational Bayesian. Over the course of my long life I have acquired a false belief with a high degree of confidence. Through sheer statistical flukery and the vicissitudes of living in the real world, a perfectly-rational Bayesian should actually expect that in their enormous stock of beliefs lies at least one of these. We all have access to only a tiny shred of the full totality of reality, and it isn't even a uniformly-randomly- chosen shred.

So you come up to me and present to me a fact that demonstrates I am objectively wrong in my belief. This being the real world, let us suppose that it isn't entirely unexplainable in my belief system. I take your fact, discount it with my strength of belief in your reliability, and update my Bayesian belief. It can stay quite strong, even if I behave with perfect rationality. With the way the Bayesian rule works, you can only utterly destroy my belief with something that is utterly impossible under my belief structure, but your ability to provide that evidence is capped by my inability to believe you that strongly in the first place. I must consider that you might be trying to fool me, or that you yourself might be wrong and bringing your own fallacious interpretation into what you may very well believe are objective facts.

If even a perfectly rational person may not be convinced by you simply telling them a few facts, how do you expect mere humans to behave?

I'm not necessarily defending people. If you think this country is going to hell in a handbasket because we're funding too many Bridges to Nowhere, but I provide evidence that Bridges to Nowhere (for whatever your definition is) account for only .04% of the Federal budget, you've still got at least a little cover left in wondering whether or not I'm using a different definition than you or just lying. Of course, this sort of belief should be susceptible to change over time as you are presented with numerous falsifications of your belief, but my point is not that people are secretly acting rational, but rather that this isn't really that mystifying, nor can one imagine it changing.

</comment><comment><USER11> Perhaps this is why it generally takes a new generation of thinkers to push political thinking forward. I would postulate that we are more likely to reject the views of our parents than we are to reject our own.

If that is true, it explains, for example, why gay marriage is a hot button issue for baby-boomers and older, but largely less of an issue for people under 30 ([http://www.stat.columbia.edu/~cook/movabletype/archives/2009...](http://www.stat.columbia.edu/~cook/movabletype/archives/2009/06/future_trends_f_1.html)).

I'll bet racism data looked pretty similar a few decades ago, but now expressing racist views publicly will get you in trouble even if you are extremely conservative (that Republican politician from the south a couple years ago who got extreme negative publicity for calling blacks "monkeys").

If it is necessary for one generation to die for political views to move forward, that doesn't bode well for progress if Aubrey de Grey and Ray Kurzweil prove prophetic. (<http://www.youtube.com/watch?v=hgLRhxvRlKg>) and ([http://en.wikipedia.org/wiki/Predictions_made_by_Ray_Kurzwei...](http://en.wikipedia.org/wiki/Predictions_made_by_Ray_Kurzweil))

<comment><USER12> "Science advances one funeral at a time." -Max Planck

</comment></comment><comment><USER13> The researchers ignored something.

The people may have heard the new fact and simply did not believe them.

And that's the right thing to do because most so called "facts" are actually lies.

You can't just tell people something - unless you are first. You need to prove it, or at least demonstrate with reasonable evidence.

The first mover has an advantage though - people will accept a new fact if you are first.

But the second guy needs to work harder.

<comment><USER14> I also didn't think it addressed a longer term perspective. I think that if someone throws out a "fact" that challenges some tenet I hold, I might be inclined to dismiss it at least in the immediate term. However as evidence mounts most reasonable people will at some point see that they have been mistaken and change their minds.

</comment></comment><comment><USER15> From the article: "The general idea is that it's absolutely threatening to admit you're wrong"

From an article by PG in 2009: "More generally, you can have a fruitful discussion about a topic only if it doesn't engage the identities of any of the participants."

PG article link: <http://www.paulgraham.com/identity.html>

<comment><USER16> When I engage in difficult or critical conversations, I try to avoid the word "you" as much as possible. This immediately tends to put people in defensive mode and their response can become combative as they perceive this as an attack on who they are.

</comment></comment><comment><USER17> It's very cool that political scientists are doing studies about this. From what I understand, cognitive science ID'd this a long time ago.

They call it, "confirmation bias." (<http://en.wikipedia.org/wiki/Confirmation_bias>)

Framed in this post: "If we believe something about the world, we are more likely to passively accept as truth any information that confirms our beliefs, and actively dismiss information that doesn't"

The point by both cognitive scientists and political scientists is this determination to believe something is completely sincere, not about deliberate deceit or spinning (though that does occur, it's a different phenomenon ). Anything that disputes your view is seen as exceptional circumstances/ invisible. "Yeah, but that's an edge case," "yeah but he went to Yale," "yeah, but she moved from France when she was 3."

We may even see it happening on our favorite news aggregator sites.

More reading (from cog sci perspective): <http://youarenotsosmart.com/2010/06/23/confirmation-bias/>

<comment><USER18> People tend to draw patterns from single data points on what they believe and to call anecdote on pieces of real patterns for what they don't.

Your post is just an anecdote in my world. ;)

</comment></comment><comment><USER19> When you are proven wrong you are no longer taken seriously. People tend to say "See, you were wrong here. So what else are you wrong about too?" In order to circumvent having to justify everything, admit nothing. Or, If I'm never wrong, I'm always right. I would think that people that cling on to their misconceptions might have a hard time releasing the idea that they are not perfect butterflies and are simply like everyone else.

<comment><USER20> Politicians suffer dreadfully from this, to everyone's detriment.

<comment><USER21> Indeed, but mainly because appearances are pretty much all you have when you're a politician - you may only need one "FooGate" for your polls to slump and then be hounded out of office.

</comment></comment></comment><comment><USER22> I've heard there was a logical reason for this (in jaynes' probability book) but i've never gotten around to checking it out.

 _> The equations also reproduce a more complicated phenomenon, divergence of opinions. One might expect that open discussion of public issues would tend to bring about a general concensus. On the contrary, we observe repeatedly that when some controversial issue has been discussed vigorously for a few years, society becomes polarized into two opposite extreme camps; it is almost impossible to fi nd anyone who retains a moderate view. Probability theory as logic shows how two persons, given the same information, may have their opinions driven in opposite directions by it, and what must be done to avoid this._

<comment><USER23> Jaynes argument is roughly as follows: Consider how you would react to being shown evidence of, eg ESP or faith healing. I (for example) simply have a weaker prior belief in the possibility of faith healing than the possibility of being convincingly lied to. So being shown evidence of faith healing makes me very suspicious rather than causing me to believe in it. This is rational (given the my prior belief weighting).

</comment></comment><comment><USER24> Interesting connection with self-esteem and fear:

"if you feel good about yourself, you'll listen — and if you feel insecure or threatened, you won't. This would also explain why demagogues benefit from keeping people agitated."

This theme is developed well in the "Power of Nightmares" documentary by Adam Curtis. The more scared the people are, the easier to control them. I think Leo Strauss and his neocon followers realized this. Deep down they wanted to help their country. But realized that "the informed, rational citizen" didn't exist, aside from a narrow "elite" segment that truly understands how things work. So this ruling elite should create powerful myths for people to believe in. People have to be led by irrational fears and beliefs.

</comment><comment><USER25> "[H]aving lived long, I have experienced many instances of being obliged, by better information or fuller consideration, to change opinions even on important subjects, which I once thought right, but found to be otherwise. It is therefore that, the older I grow, the more apt I am to doubt my own judgment of others." -Benjamin Franklin in a speech during the Constitutional Convention of 1787

I'd be impressed to hear a presidential nominee quote this when faced with accusations of flip-flopping. I really respect people who change their positions based on new or better information, or simply more experience, so long as the change is genuine. In fact, I think it's the best way to live. Voters are not so forgiving or understanding, though.

</comment><comment><USER26> Do they really think that the bit about federal expenditures for welfare means anything? I mean, if you ask your typical Boston liberal whether they are in favor of increased or decreased military spending and they say, "Decreased" is that opinion suddenly ignorant or wrong or anti-democratic because they then guess that current expenditures are 50 percent (too high)?

Seriously, forget balance sheet trivia. Let's worry about the basic cognive skills of journalists first.

</comment><comment><USER27> Maybe this is a natural reaction to the fact that so much of the information we receive is propaganda? Even if, for example, a news story presents a series of facts, other relevant facts are often elided to give a mis-impression.

</comment><comment><USER28> What I've found:

        - Lots of people will think of your contradictory fact as a
          Dirty Rotten Trick
        - If your fact contradicts their preconceived notion, they
          assume you're a liar and a cheat

</comment><comment><USER29> <http://en.wikipedia.org/wiki/Willful_blindness>

</comment><comment><USER29> Between _Truth, Fact & Belief_, lesser mortals will choose Belief because it serves their needs.

</comment><comment><USER29> Their belief may serve their immediate _needs_.</comment>


Emojify your Wi-Fi - <AUTHOR> https://medium.com/@bcjordan/emojify-your-wi-fi-c01f4ac0b0ab#.6mefpyxol <comment><USER2> Cool hack. If you have a personal hotspot enabled on your iPhone, you can set your phone name to an emoji and that will be its SSID.

</comment><comment><USER3> Nice, just yesterday I was playing with webpy and redirection from given URL to emojified one. Imagine you are doing a demo of a project and don't want "non tech" people to access the site yet...

</comment><comment><USER4> Makes me wonder if there are any vulnerabilities in WiFi menus...

</comment><comment><USER5> Says a lot about the security architecture of these boxes.</comment>


MiniFB: Small cross platform library to create framebuffer to draw pixels in - <AUTHOR> https://github.com/emoon/minifb <comment><USER2> For Rust, there's the very similar [https://github.com/parasyte/pixels](https://github.com/parasyte/pixels). Unlike MiniFB, it doesn't handle windowing for you (you use winit/sdl2/glfw).

It's built over wgpu-rs, so it runs on Vulkan/Metal/DirectX12/WEBGPU. You can compile to wasm, and then run your game in the browser, which is neat. And you can add custom shaders on top.

I used it for my game, and was very happy with it [https://github.com/JMS55/sandbox](https://github.com/JMS55/sandbox)

<comment><USER3> There's already a version of minifb for Rust though: [https://github.com/emoon/rust_minifb](https://github.com/emoon/rust_minifb)

<comment><USER4> I've used this library on a few occasions on personal projects, and once the necessary system deps are installed (just a few apt-get commands that are well-documented), it's worked pretty flawlessly. Fairly low boilerplate, good examples--I haven't had any regrets on deciding to use it.

</comment></comment></comment><comment><USER5> I still miss the simplicity of Borland's BGI and somewhat happy with direction SDL_bgi is taking: [http://libxbgi.sourceforge.net/](http://libxbgi.sourceforge.net/) . Latest version has support to Broland's .CHR fonts and seeing those glyphs rendered on modern hardware after 30 years is very cool.

Disclaimer: I'm a contributor.

<comment><USER6> ....the amount of times I have typed initgraph(&gdriver,&gmode,"");

</comment></comment><comment><USER7> Looks very similar to SDL ([http://www.libsdl.org/](http://www.libsdl.org/)). What's the difference?

<comment><USER8> SDL has more features: joystick/gamepad input, image loading from PNG/etc, scaling/rotating/overlapping images onto the framebuffer, multiple windows, touch events, audio, and a lot more[0]. And is GPU accelerated for 2d, or 3d with opengl.

It's more of a generic application framework which works well for games, whereas this seems to be more of put a window on a screen, fill pixels, and get mouse/KB/resize events.

[http://wiki.libsdl.org/Introduction](http://wiki.libsdl.org/Introduction)

SDL also has stuff that lets it work nicely with HiDPI screens.

<comment><USER7> I think SDL also mostly started like that (just a window where you fill pixels, and very basic kb/mouse events). You can also very easily use it just like that (which is why this looked so similar to me like MiniFB).

Then over time, more and more people used it, and had special request. E.g. to be able to setup an OpenGL context. Use gamepad input (as this was used mostly for games). Multiple windows. Etc.

</comment></comment></comment><comment><USER9> this is a great crate for doing quick prototypes, testing image processing and graphics ideas, or just to go back to 1990

</comment><comment><USER10> One of the only nice things about X11 is that getting a drawing context and drawing lines and (unwrapped) text on it is super easy.

</comment><comment><USER11> Feels a lot like raylib or sdl to me. Both of those projects are more about games and have other functionality.

</comment><comment><USER12> So frustrating to see a graphics related tool not have any example screenshots in the README.

</comment><comment><USER13> Is there something similar for JVM?

<comment><USER14> Isn't Graphics2D quite capable?

<comment><USER13> Something cross-platform would be nice, and without some quirks (e.g. can draw a line fine, but to draw a pixel an extra object layer is needed).

</comment></comment></comment><comment><USER15> nice. I am writing a hobby OS for RISC-V and I might implement this in it.</comment>


At Risk From the Womb - <AUTHOR> http://www.nytimes.com/2010/10/03/opinion/03kristof.html?WT.mc_id=OP-SM-E-FB-SM-LIN-ARF-100210-NYT-NA&WT.mc_ev=click

<comment><AUTHOR> "Perhaps the most striking finding is that a stressful uterine environment may be a mechanism that allows poverty to replicate itself generation after generation. Pregnant women in low-income areas tend to be more exposed to anxiety, depression, chemicals and toxins from car exhaust to pesticides, and they're more likely to drink or smoke and less likely to take vitamin supplements, eat healthy food and get meticulous pre-natal care.

The result is children who start life at a disadvantage — for kids facing stresses before birth appear to have lower educational attainment, lower incomes and worse health throughout their lives. If that's true, then even early childhood education may be a bit late as a way to break the cycles of poverty. "</comment>


Nissan app developer busted for copying code from Stack Overflow - <AUTHOR> http://www.theverge.com/tldr/2016/5/4/11593084/dont-get-busted-copying-code-from-stack-overflow <comment><USER2> Much noise for nothing. I fail to see where "copying code" happens here. The unfortunate developer copied standard key/value from the SO answer and forgot to change the value. It's like blaming somebody for "hello world" or fooBar.

</comment><comment><USER3> "busted" for using code that works without introducing bugs to show you understood It... Whether, let alone how, they violated the license is not a subject of the article. Expecting code review to detect plaigarism is.. Writing code is editing an encyclopedia, not writing poetry.

<comment><USER4> If using code from Stack Overflow is plagiarism, then something something glass houses.

Expecting code review to detect obviously-wrong placeholder text, however, is pretty reasonable.

<comment><USER3> If we are supposed to be the last line of defense against poor English in products on the US market then that explains a lot.

</comment></comment></comment><comment><USER5> I really don't see the issue here, I'd be more upset with my QA team.</comment>


Rhinos Use Poop Piles Like a Social Network - <AUTHOR> http://news.nationalgeographic.com/2017/01/rhinoceroses-poop-middens-communication/ <comment><USER2> My dog gets an update on her Facebook feed every time she goes outside and then she updates her Facebook status about 3 times in one walk.</comment>