An Indian man in prison for cracking 'offensive' jokes - <AUTHOR> https://www.bbc.com/news/world-asia-india-46204954 <comment><USER2> Stuff like this is why I keep standing up for free speech, even if I find what the other person is saying to be reprehensible.

Breaching the wall of freedom of speech will almost invariably lead to these kinds of prosecutions over time - people will eventually use speech laws to regulate political opponents even.

<comment><USER3> People forget the ACLU fought for the KKK for decades. I may not like what you say, but as an american, I will fight and die for your right to say it. This is the freedom that made the USA the melting pot and economic powerhouse it is today.

<comment><USER4> The ACLU specifically fought for the right of KKK members to espouse racist beliefs and to assemble as a group. They did not defend the KKK's practice of lynching black and Jewish men.

</comment></comment></comment><comment><USER5> And this man, who presumably wasn't trying to establish a Fourth Reich in Scotland, was found guilty of 'grossly offensive' behaviour:

[https://www.independent.co.uk/news/uk/crime/pug-nazi- salute-...](https://www.independent.co.uk/news/uk/crime/pug-nazi-salute- youtube-video-owner-guilty-hate-crime-mark-meechan-lanarkshire-a8265301.html)

<comment><USER6> Someone else posted about a very poor taste joke about Grenfell leading to an arrest and people being put in custody, for real.

[https://www.theguardian.com/uk-news/2018/nov/05/police- appea...](https://www.theguardian.com/uk-news/2018/nov/05/police-appeal-video- mock-up-grenfell-tower-burned)

That's mad. People who commit ABH, hit-and-runs, deal class A drugs and such don't always get taken in to custody -- we regularly have reports (in our local news) of people convicted who commit further crimes because they're out on warrant/bail or only got a warning/fine -- making a bad joke that doesn't physically harm anyone isn't an offense that should lead to imprisonment. You tell them how insensitive it is, then you ignore them and leave them to wallow in their own excrement.

>A spokesperson for the campaign group Justice4Grenfell said the video had "caused great alarm and distress" //

Why did they watch it? They could probably say the same about Towering Inferno, or an episode of Game of Thrones or myriad other things. It's all getting ridiculous.

<comment><USER7> >Why did they watch it? They could probably say the same about Towering Inferno, or an episode of Game of Thrones or myriad other things. It's all getting ridiculous.

...really?????

It was all over the news. We have the BBC on one screen at work constantly. I saw the footage a few times the day after it happened completely inadvertendly. Not to mention it being all over social media and pretty much unavoidable.

"Just don't watch it" is an idiotic response.

<comment><USER8> It's a response to the BBC or anyone else rebroadcasting it too. I still haven't seen it, maybe a screenshot, big deal, its pixels on a screen. Seeing pixels on a screen should not cause great distress other than the _real_ distress that exists. If someone finds the knowledge that some racists did a racist thing (that didn't actually harm anyone) extremely distressful, that person should take extra care to avoid such information then, they are abnormally sensitive. That is fine and understandable for an individual.

For everyone else, get over it.

</comment></comment></comment></comment><comment><USER9> This is the world that the religious right wanted (but in their favor) in the 80's, that we all stood up to and rejected. How did we end up back here again?

<comment><USER10> This question has vexed me all the while I have watched it unfold.

The first inkling I had that something was off, was a magazine article talking about rising religiosity in middle eastern countries.

That's the first time the movie, where humanity pushed back religion and superstition, had tracking issues.

we saw that increasing wealth meant _even bigger_ displays of religious dedication.

It turns out that a large part of the world has not had reason to go through their version of the enlightenment.

But while they were gaining the ability to improve GDP, the west was busy applying science to marketing, and business acumen to news reporting.

Effectively - we (humanity) used the tools of the enlightenment (science) to improve marketing, and apply it to religion. We targeted weaknesses in human thinking, and ruthlessly built bubbles of voters who didn't need to fully understand the world to succeed.

My conclusion is that we were naive.

<comment><USER11> Religiosity has had a stranglehold in "the west" and defined it at least a thousand years. This is not a muslim problem.

The evangelicals are alive and well.

<comment><USER12> And thank god for that. Before western religion came to the forefront, the idea of individual worth wasn't really a thing and 99.9% of the world were either some sort of slave or slavemaster.

<comment><USER11> Didnt downvote you, but Christianity has constant themes of slaves and masters, being a slave to christ, and historically the cultures which adopted christianity have continued to have slaves (pre and post adoption.)

Sooo, maybe? But I dont know if that point is well made.

<comment><USER12> It obviously wasn't a fast transition, but Christianity brought around the concept of absolute religious equality. A novel idea to the world, and likely the catalyst that changed thousands of years of slavery.

I know it isn't in fashion to credit Christianity with anything, but what other philosophy of the era could have eventually ended slavery, given slavery is likely the state of man ever since Grog the caveman threatened his brother- son with a beating if he didn't fetch more water.

</comment></comment></comment></comment></comment></comment><comment><USER13> Makes me appreciate my own country where religion is a minority and offending people is a legitimate art form.

<comment><USER14> Offending _certain_ people, no doubt. I'm sure there are some groups of people in your country against whom no offense is permitted.

<comment><USER12> I'm guessing there's only one country where you're legally permitted to offend every single group, no matter what. If there's another I've never heard of it.

</comment></comment></comment><comment><USER15> For those who don't read the article, here is the amusing part:

"Ironically, earlier this year, Mr Iyer-Mitra tweeted that a criminal case should be filed against American historian Audrey Truschke for allegedly abusing a Hindu god and "hurting sentiments".

"Bog her down in the legal system - can't leave on bail," he wrote. He has also tweeted about putting human rights activists and Communists in prison. One of his friends told me that most of his tweets were written in jest and "he now possibly regrets posting some of them".

When you call for jailing people based on opinions, well you never know when your opinion is the one out of favor with those with power.

</comment><comment><USER16> The same thing happens in Sweden where an artist named Dan Park has been sentenced to 3 months in prison [1, Swedish] for breaking the 'hets mot folkgrupp' (incitement against a specific group) law. This is not the first time he was sentenced to prison for his work, in 2014 he got 6 months for another piece. The mentioned law is controversial in that it criminalises speech or other forms of expression which is subjectively deemed to be offensive against groups without specifying what it takes to actually violate the law which makes it open to wide interpretation. Dan Park is critical of the Swedish migration policies and uses controversial imagery to attract attention to what he considers to be important issues. This used to be possible without running the risk of imprisonment until an amendment to the law was passed in 1982 [3].

This is the law text used [2]:

"Den som i uttalande eller i annat meddelande som sprids hotar eller uttrycker missaktning för folkgrupp eller annan sådan grupp av personer med anspelning på ras, hudfärg, nationellt eller etniskt ursprung, trosbekännelse eller sexuell läggning, döms för hets mot folkgrupp till fängelse i högst två år eller om brottet är ringa, till böter.

Är brottet grovt döms till fängelse i lägst sex månader och högst fyra år. Vid bedömande av om brottet är grovt skall särskilt beaktas om meddelandet haft ett särskilt hotfullt eller kränkande innehåll och spritts till ett stort antal personer på ett sätt som varit ägnat att väcka betydande uppmärksamhet."

This translates to:

"Anyone who in speech or any other form of expression threatens or expresses contempt for a group of persons identified by race, skin colour, national or ethnic origin, creed or sexual orientation is sentenced for incitement against a group to prison for up to two years or if the crime is of a lesser degree, to a fine.

For serious crimes the sentence is imprisonment for at least six months and no more than four years. In assessing whether the offence is serious, particular attention should be paid to whether the message had a particularly threatening or infringing content and was spread to a large number of persons in a manner that was designed attract significant attention."

[1] [https://nyheteridag.se/dan-park-efter-fangelsedomen- vansinne...](https://nyheteridag.se/dan-park-efter-fangelsedomen-vansinne-att- jag-blir-domd/)

[2] [https://lagen.nu/1962:700#K16P8S1](https://lagen.nu/1962:700#K16P8S1)

[3] [https://lagen.nu/prop/1981/82:58#B2](https://lagen.nu/prop/1981/82:58#B2)

</comment><comment><USER17> "Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the government for a redress of grievances."

Ahhhhhh goes down smooth every time.

<comment><USER18> Lets not be too smug. Plenty of Americans who speak out on any type of political issue receive death threats. Sure it's not from the state but does that make a difference if you have to live in fear?

Here is one example, but you've probably seen this lots of times.

[https://www.wmay.com/2018/10/02/cartoonist-says-hes- getting-...](https://www.wmay.com/2018/10/02/cartoonist-says-hes-getting- death-threats-over-kavanaugh-cartoon/)

The irony is the type of people doing this are probably also the types with bumper stickers praising the constitution.

<comment><USER19> >Sure it's not from the state but does that make a difference if you have to live in fear?

It makes a massive difference!

If some random person tries to kill you and you blow their brains out in self defense the court will almost certainly back you up (assuming it's legitimate self defense). If random person someone tries to kill you and the police happen to be nearby they will probably intervene.

In contrast, if the state comes after you you're screwed. If you defend yourself you're even more screwed. You can't even call the cops.

<comment><USER18> The effect is the same: keep your mouth shut. It's not worth going to prison and it's not worth getting shot.

I was just trying to point out how people don't really support freedom of speech when it comes to something that makes them angry - which is often the important stuff to be talking about.

</comment></comment></comment></comment><comment><USER20> Truly troubling. I feel like the only person on Earth right now that knows what free speech even is and is actively trying to engage in its protection is Jordan Peterson. And sadly, he is no activist, but just a psychologist that doesn't really want to be involved in the controversy. But nobody else seems to be joining him.

I find it hard to believe there were days where you could be killed if you did not acknowledge supreme authority of a Catholic pope or some other monarch figure. People refused to do that on the bounds that God only is supreme. They could have "lied" and kept their life. But they choose to be jailed and beheaded for their belief. And right now in America, we have half of the population that sits somewhere on the "right wing" spectrum that refuses to speak on the grounds that what they say might go against an ideology on the left. I wonder how this will turn out. When will men become men again? I feel like I should lead the way, but I'd rather sit here in front of a computer...

<comment><USER21> Don't know about the US, but the lack of freedom of speech in the EU is really troubling: [https://www.dailymail.co.uk/news/article-6316567/Woman- corre...](https://www.dailymail.co.uk/news/article-6316567/Woman-correctly- convicted-Austria-calling-Prophet-Mohammed-paedophile-ECHR-rules.html)

<comment><USER22> Wow. That case is really concerning. She was basically prosecuted for applying modern label to past events: calling a muslim figure marrying 9yo a pedophile.

</comment></comment></comment><comment><USER23> The BBC is acting awfully high and mighty about this, given that similar results could have happened in the UK.

<comment><USER17> By 'could happen' do you mean 'already happened'? What about the guy with the pug?</comment></comment>


Angry Birds raise $42M? - <AUTHOR> http://gigaom.com/2011/03/10/skype-founder-others-invest-42-million-in-angry-birds/

<comment><USER3> This doesn't seem too crazy to me. I see three things here: the Angry Birds Games, the Angry Birds Brand, and Rovio.

I can't help but think that the brand itself has huge potential. Put this in the hands of Disney say, with movies, merchandise and licensing (McD Angry Birds Happy Meals) and the brand is probably worth at least a couple hundred millions. Not saying it's a given, they need to execute properly. Anyone remember Club Penguin (it's still around)...this seems way bigger than that.

This game is also well suited for the ultimate platform: game boy. That could be worth a little goldmine itself.

As for the developer, I have no clue, but I wouldn't bet against their next project.

<comment><USER4> You realise the Game Boy has been discontinued for many years?

<comment><USER3> Sorry, I mean whatever current portable gaming device nintendo is selling tens and tens of millions of.

<comment><USER5> Just for the record, that's the Nintendo DS, which is also a touch screen (albeit with a stylus) so the gameplay wouldn't really suffer.

<comment><USER4> There are more iOS devices than Nintendo DS devices, for what its worth.

<comment><USER6> But they're a demographic that bought them so that they could spend $20+ regularly on video games so you could expect penetration or prices to be higher.

</comment></comment></comment></comment></comment></comment><comment><USER7> Honestly I'm baffled as to why they need to raise funding. The game is still #2 & #5 on the app store, so they've got to have pretty significant revenue coming in.

This feels like expanding just for the sake of expanding. They should focus on what they're good at, which is making games. It doesn't take a large company to develop games like angry birds.

</comment><comment><USER8> By that logic, Microsoft should raise 50B from investors to bring their wildly successful MS Paint application to more platforms.

</comment><comment><USER9> 42M for the equivalent of a flash game? There's no bubble here, move along.

<comment><USER10> The comparison isn't really fair, since they sell the game and make money - <USER2> different model than flash games (advertising, free distribution).

The problem with launching these apps is the amount of noise you need to break through in the app store to differentiate a product. People will probably start following brands instead of titles when searching for new content. This is already the case with other platforms, such as Zynga (Facebook), and EA (desktop, consoles). In that sense, the brand could become entrenched and very valuable.

There is no brand leader in mobile applications, yet.

<comment><USER11> Only on iOS. The Android version is ad-supported.

<comment><USER5> There's an OS X version in the app store as well that costs $4.99.

</comment></comment></comment></comment><comment><USER12> Sounds like founders taking cash off the table to me.

<comment><USER13> Wouldn't surprise me. Large round, company being courted by many investors, already bringing in a ton of money - all the conditions are right.

</comment></comment><comment><USER14> Not to say that this valuation indicates a bubble but I find it interesting to compare it to the Moorhuhn Game Series which was popular quite a few years ago. Seems to have been the equivalent of Angry Birds in the early 2000's.

 _Propelled by the game's popularity, its Bochum-based publisher Phenomedia AG, who had acquired Art Department, went public in late 1999 at the height of the dot-com bubble and attained a market value of up to one billion Euro._

<http://en.wikipedia.org/wiki/Moorhuhn>

</comment><comment><USER15> Wow, $42 million is a whopping huge Series A.

I'm actually surprised that Rovio is going this route. From what I read, it seems that game financing goes along a different route normally (taking the form more similar to a bond IIRC; anyone knowledgeable care to enlighten?).

Repeat success is any field like this is hard. There are only a handful of studios who have had sustained repeated success and that typically revolves around a successful franchise. For example:

\- id Software (Quake/Doom);

\- Epic Games (Unreal)

\- Rockstar (Grand Theft Auto);

\- Infinity Ward (Call of Duty).

One (admittedly huge) hit does not a franchise make, or at least not a _proven_ franchise. It'll be interesting to see what Rovio does with this money, whether they try and (further) leverage the Angry Birds franchise and really what the future of mobile gaming is.

If you estimate that a Series A round will take a 25-40% stake in a company that puts a ballpark post-money valuation of $100-160 million, which is impressive.

<comment><USER4> I think you should look at this financing more as creating the next Zynga, than the next "old school game studio". I bet they proved they can up sell "different but the same" games thanks to the Halloween specials of Angry Birds, and so on.

</comment></comment><comment><USER16> They've already spunoff with Angry Birds Seasons. Given the success of that app, I think they can build more Angry Birds Topical apps like:

Angry Birds Transformers. Angry Birds Harry Potter. Angry Birds Cars. Angry Birds Kungfu Panda. Angry Birds Democrats!

<comment><USER17> But they would have to pay for all of those. Its more likely to see something like "Angry Birds Forth of July!", right?

<comment><USER18> That's Angry Birds Seasons. New level sets for each holiday all in the same app.</comment></comment></comment>


Ask YC: Any risks with JS and CSS compression? - <AUTHOR>

We are in final stages of finalizing our code for our open alpha. I am researching ways to improve the page load time and am looking at http://webjackalope.com/fast-page-load-time/
The article suggests to compress JS and CSS files, and I am feeling that we should compress our javascript files  because we have lots them.
What worries me though is if something will break. Even if we try to test again, the application has lot of functions and testing would take time and at this moment I need to concentrate on hosting setup than application testing.
I've never done it, so want to understand the risks involved. Also if you can suggest best compression tools that would be great.
Thanks in advance, <comment><USER2> There aren't really any risks involved aside from the fact that most (all?) compressors expect well-formed scripts, and thus can break ones that don't meet standards.

A common way to do compression that will give you a similar effect is to gzip content from the web server.

<comment><AUTHOR> Thanks a lot.

<comment><USER3> In particular, most compressors are picky about semicolons. If you use JavaScript's implicit line breaking, they'll break. This includes function definitions: there should be a semicolon after each function definition, something that most JavaScript programmers forget.

I find that using JSMin + GZip (on the webserver level) compresses just as well and tends to break fewer things.

</comment></comment></comment><comment><USER4> One thing that has bitten me a couple of times is that CSS compression can muck up your styles if you depend on the order of the CSS rules. Compression will sometime change the order of the rules.

</comment><comment><USER5> Minify JS, don't compress it. Same goes for CSS compression tools. They all have a potential to give you soooooooooo many headaches for very little gain. Instead, enable gzip compression.

</comment><comment><USER6> Try PackR for your JavaScript (and then gzip it, obviously).

<http://github.com/jcoglan/packr/tree/master>

</comment><comment><AUTHOR> Thank you everyone for your feedback.</comment>


Global cyber attack that left U.S. flag on screens - <AUTHOR> https://www.reuters.com/article/us-iran-cyber-hackers/iran-hit-by-global-cyber-attack-that-left-u-s-flag-on-screens-idUSKBN1HE0MH <comment><USER2> "Some 55,000 devices were affected in the United States and 14,000 in China, and Iran's share of affected devices was 2 percent," Azari-Jahromi was quoted as saying.

Pretty misleading headline.

<comment><USER3> OK, we've taken Iran out of the headline above.

All: this thread is an unsalvageable trainwreck. If you want to recite low- substance talking points or smack each other over the head with political and national insults, please do it somewhere else. Posting that way here will eventually get your account penalized and/or banned; it's not in the least what this site is for.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment><comment><USER4> There is more (and better) information over on Slashdot, which had the story earlier today: [https://it.slashdot.org/story/18/04/07/2312200/vigilante- hac...](https://it.slashdot.org/story/18/04/07/2312200/vigilante-hackers- strike-routers-in-russia-and-iran-reports-motherboard)

Motherboard was able to make contact with the purported attackers.

This doesn't carry any of the typical fingerprints of a state-level attack. It was a single exploit against Cisco devices, combined with Shodan for an easy directory of vulnerable devices.

Given the recent surge in nationalistic sentiment among young people in the tech community in the last decade, it looks reasonable to stick with the simplest explanation here: one or more folks found a flaw and exploited it for fun and attached a flag to it for more fun.

There are situations for which "Russia did it" is an explanation that makes sense. I don't think this is one of them.

We should also beware of being too willing to jump to conclusions that anything was done by America's enemy-du-jour; the country's been down that road plenty of times before and it never goes anywhere good.

<comment><USER5> If it wasn't done by the US government this is terrorism pure and simple, going by what the people in your source said:

>"We were tired of attacks from government-backed hackers on the United States and other countries," someone in control of an email address left in the note told Motherboard Saturday... "We simply wanted to send a message...." In addition to disabling the equipment, the hackers left a note on affected machines, according to screenshots and photographs shared on social media: "Don't mess with our elections," along with an image of an American flag...

<comment><USER6> > If it wasn't done by the US government this is terrorism

Why would the situation be different if it turns out it _was_ US government?

<comment><USER7> It would be an act of war.

<comment><USER8> Acts of terrorism (other than top-down state terrorism) are usually acts of war whoever the perpetrator is.

</comment></comment></comment></comment></comment><comment><USER9> It is interesting that in the message left by hackers [1] American flag is pictured incorrectly: there are too many stars.

[1] [https://cdn.i24news.tv/upload/image/9d8a60d8155d08ddbfe86542...](https://cdn.i24news.tv/upload/image/9d8a60d8155d08ddbfe86542bad9240ab015458a.jpg?width=716)

<comment><USER10> 67 stars?

Thus is _literally_ a False Flag event.

<comment><USER9> I found that if you google for "usa flag ascii" then this is the first result [1]. So probably hackers just copied it from that page.

[1] [http://chris.com/ascii/index.php?art=objects/flags](http://chris.com/ascii/index.php?art=objects/flags)

<comment><USER10> This is reminiscent of the infamous Osama bin Laden posters that inadvertently used an image from the Bert is Evil! website:

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

</comment></comment></comment></comment><comment><USER11> Does anyone really believe this was done by a pro-US entity (or the US itself)? This would only strain relations more than they already are, and I wonder effect this would have in Syria where the US is leaving and Iran/Russia still have a large interest in what happens in the area. It's always interesting to think about the 2nd or 3rd level effects that whoever did this was aiming for

<comment><USER12> I'm not sure that the administration bringing in John Bolton and making it really clear they want to tear up the Iran deal would necessarily consider it negative to strain relations with Iran.

<comment><USER13> >I'm not sure that the administration

He specified: "pro-US entity."

</comment></comment></comment><comment><USER14> I believe the title is clickbatey. The article clearly states that only 2% of affected devices were in Iran, while the Lion's share was in the US. Could someone fix this?

<comment><USER3> We took the reference to Iran out of the title.

</comment></comment><comment><USER15> Given the USA nearly always operates with secrecy [no matter what agenda or party has traditionally been in power], I'll go with false flag operation. There are a lot of entities that would benefit from this that aren't the USA, like the incumbent government. I'm curious to hear other opinions, especially any that disagree with my initial assumptions.

<comment><USER16> Probably not even false flag, it'd be more subtle. Likely they want to muddle the pot for those trying to accuse Russians.

</comment></comment><comment><USER17> I can see that people on HN blame other countries easily without any real evidence...

<comment><USER4> This sort of reaction isn't specific to HN, unfortunately ([https://www.washingtonpost.com/news/wonk/wp/2017/08/08/ameri...](https://www.washingtonpost.com/news/wonk/wp/2017/08/08/american- mosques-and-american-muslims-are-being-targeted-for-hate-like-never-before/)) or even America ([http://www.bbc.com/news/technology-43385677](http://www.bbc.com/news/technology-43385677)). It's a vulnerability in human tribal psychology that other folks have been exploiting for political purposes for centuries.

Even though the bug report is thousands of years old now, there's still no patch available. Some people think this means the maintainer has abandoned the project.

<comment><USER17> I know that. I mean that I love HN mostly for smart comments. Sometimes I don't read an article, I read its comments. :) But blaming without evidence is not that kind of comments.

</comment></comment></comment><comment><USER18> To me, this feels like a move to distract the target(s). If it is so it makes sense for both the US to be responsible (knowing such an obvious reference will be interpreted as originating from someone else. e.g. Russia) and also for its enemies (well, they want to draw attention).

"But sir, everyone will notice", said the operator, hesitating. "Use one of your tricks, I don't care", replied the commander. "Just get it done!".

"Mike, do you still have that script, the one with the American flag?" the first man whispered.

<comment><USER19> Anybody who's actually investigating this will not consider that a useful clue in either direction. It's easy to take it to ridiculous dimensions from "Go USA!!1" to "Now they'll think it was the USA" to "Now they'll think someone's framing the USA."

It's just not helpful digital evidence in any way because it was clearly intended to be seen in a world where you cover your tracks as much as you can.

</comment></comment><comment><USER20> "cyber code"

Gotta love stock "hacker" photos

</comment><comment><USER21> False Flag seems a little on the nose here...

</comment><comment><USER22> If there is anything we have learned from the Russian meddling with our elections is that they are masters of counter-intelligence. I am willing to wager 100% these attacks were not by pro-US organizations. They just want the media to report it as pro-US, which hook-line-and-sinker they did. Please don't be fooled.

<comment><USER12> I mean, if I'm being asked to believe that they swung the election to Donald Trump with $100k in Facebook ads and a group about dogs I guess I'd have to believe they're geniuses. But I am pretty skeptical. The evidence for the attribution of DNC hacks seems quite weak too (and at worst it involves the genius maneuver of making public what Hillary Clinton's campaign actually said and thought).

<comment><USER23> >evidence for the attribution of DNC hacks seems quite weak too

I guess you know more than the CIA

<comment><USER12> Based on the information that has been presented to the public the case looks quite weak. For reasons I think should be obvious, I'm not willing to simply take the CIA's conclusions on the assumption that they have some secret evidence I haven't seen.

<comment><USER23> I take the CIA at their word because the alternatives are even more absurd.

<comment><USER12> Why would it be "absurd" for it to be anyone other than Russian intelligence?

<comment><USER23> The other "theory" is the idea that the Clintons had Seth Rich killed or that it was another "insider" "mad about Bernie" even though he lost by several million votes.

So yes, it is absurd.

<comment><USER12> I don't find the insider risk idea hard to believe. The primary stuff is still an open wound, and you could also easily imagine someone disgruntled for more prosaic reasons (e.g., passed over for a promotion). The fact is we have very little evidence for any of these ideas, and I, for one, don't find it reasonable to conclude that it is therefore obviously the fault of the Russians, especially given how unhinged and paranoid rhetoric about Russia has gotten.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> Russian meddling again, playing straw man.

</comment><comment><USER25> Can we just ban Russia from the internet?

<comment><USER24> Thugs can only play games for so long before people rise up. Russia is a thug nation and the world has had enough.

<comment><USER3> Would you please stop posting uncivil and/or unsubstantive comments to HN? You've been doing the political flamebait thing repeatedly. It's destructive of this site and not ok.

In particular, comments smearing an entire country are bannable offences here regardless of which country it is.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment><comment><USER26> Either this was a distraction/rogue American sympathizer, or the Trump Administration has jumped the shark in its "America first" behaviors.</comment>


Mailbox for Mac now in public beta - <AUTHOR> http://www.mailboxapp.com/blog/#/posts/95197480210

<comment><USER2> I think there is room for improvements on email clients, so more competition is nice!

Some other newcomers are:

\- [http://mailplaneapp.com/](http://mailplaneapp.com/)

\- [http://www.postbox-inc.com/](http://www.postbox-inc.com/)

\- [http://inky.com/](http://inky.com/)

Unfortunately, Mailbox FAQ question 'Does Mailbox store my emails on its servers?' => 'Yes, but...' is a deal-breaker for me (sadly).

It's still nice to see the innovation though.

<comment><USER3> > Unfortunately, Mailbox FAQ question 'Does Mailbox store my emails on its > servers?' => 'Yes, but...' is a deal-breaker for me (sadly).

As it is for me. When I think about the sheer quantity of services that I subscribe to that could be hijacked via a password reset email that falls into the wrong hands, I shudder at the thought of having copies of my mail stored somewhere else.

Hell, every few weeks I consider hosting my own email instead of relying on Gmail. Not that I believe I could do a better job security-wise, but the idea of minimizing the number of 3rd parties that have access to what amounts to my entire digital life (and the ability to destroy it at will) is very appealing.

</comment></comment><comment><USER4> Nice, shame they don't support non-gmail yet. Although the UI looks just like Fastmail with the minimalist web theme selected, which I highly recommend if you're not comfortable using GMail. I find it superior to GMails web UI in many ways.

<comment> k-mcgrady >> "Nice, shame they don't support non-gmail yet."

They support gmail and iCloud I think.

</comment></comment><comment><USER5> It is really a shame, because the only native e-mail client that I actually used and loved was Sparrow. Then they got acquired and shattered my hopes and dreams. Now it is just Gmail web.

<comment><USER6> I find AirMail to be similar in style with a ton of advanced features. Have you tried using that?</comment></comment>


Want to call C from Python? Use D - <AUTHOR> https://atilaoncode.blog/2020/02/19/want-to-call-c-from-python-use-d/ <comment><USER3> Interesting article, but I wouldn't say introducing a 3rd language is the easiest way to call C code from Python, that distinction goes to the CFFI library by Armin Rigo et al. I've used it to wrap several C libraries and it's amazingly powerful. Bonus it works with CPython and PyPy.

[https://cffi.readthedocs.io/en/latest/](https://cffi.readthedocs.io/en/latest/)

<comment><USER4> Don't forget the builtin options.

First there's PSL ctypes,[1] which is supposedly inferior to cffi to some extent, but hey it comes with your CPython installation, no third-party dep required.

Or you can write a C/C++ extension module.[2] A bit more heavy-handed and there's a learning curve, but once you've done it once or twice it's really not hard, and it affords you great flexibility.

[1] [https://docs.python.org/3/library/ctypes.html](https://docs.python.org/3/library/ctypes.html)

[2] [https://docs.python.org/3/extending/extending.html](https://docs.python.org/3/extending/extending.html)

<comment><AUTHOR> The solution in the blog post _is_ an extension module. Written for you, by the compiler. Instead of a learning curve and "it's really not hard", it's "no learning curve" and "I struggle to find how this could be easier".

<comment><USER4> I would take a tested and true solution sanctioned by CPython core devs any day over a novelty third party library that gets another language toolchain involved.

Also, the solution seems to only cover what's possible with ctypes already. If don't need the flexibility there's little reason to hand roll an extension module. (Not saying ctypes doesn't have its problems; e.g. when you pass in a wrong number of arguments instead of throwing a TypeError it segfaults.)

<comment><USER5> ctypes does not parse C headers and doesn't know about enums or function parameter types — only that they have a symbol in the .dynsym section of a .so.

Maybe you're thinking of cffi? Cffi does basically what this blog post covers, except without D. It requires a C compiler at some stage in the process, but you can pregenerate during 'build' phase and ship a header snapshot to avoid requiring the C compiler at runtime.

<comment><USER4> I didn't say ctypes takes the same approach — I even mentioned ctypes' shortcomings. I only said ctypes makes what this does possible already.

<comment><AUTHOR> No, ctypes does not. It can't handle macros, and it requires users to define the structures in Python themselves. It's miles away from what's in the blog post.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> > I wrote a little project called dpp because I'm lazy

I can confirm that Atila is a very lazy man. He's always figuring out ways to have his computer do the work for him. He's so successful at avoiding work, people keep giving him more work to do, making him a very hard working lazy man.

<comment><USER7> > always figuring out ways to have his computer do the work for him

One of my earliest programming mentors mused that the reason I might well become a decent programmer was because I was _both extremely stubborn and horrifically lazy_. He'd observed that I would re-write code until it was the most efficient possible to automate a needed task that could save me time/effort in the future.

<comment><USER8> It's a common observation, and indeed known as one of the Three Virtues of a great programmer according to Larry Wall

[http://threevirtues.com](http://threevirtues.com)

<comment><USER9> I think arrogance should replace impatience, which has redundancy with laziness. (Or possibly hubris, which is the weakest.) Arrogance makes you start projects that you are not skilled enough for, and grow in the doing.

<comment><USER10> Aren't hubris and arrogance more or less synonyms? With hubris being perhaps more specifically _arrogance about one 's abilities_

<comment><USER9> Right, but that's not exactly how it's used in the post.

</comment></comment></comment></comment></comment></comment><comment><USER11> I'm currently working on a project using Cython to wrap and expose a large and complex C API (CEF) to Python. One of the most time-consuming, tedious, and error prone tasks is translating functions and structures to Cython syntax, including managing the GIL. Also, keeping the translated API up to date with new releases.

I'm curious to see how this D approach compares, both in workload required to expose and use an API, and the flexibility of the end result. There are a lot of quirks and special syntaxes in Cython to allow for not just interop between C and Python, but also writing C in Python-like syntax mixed with actual Python. This is an area I assume this approach would be lacking.

Regardless, as someone who loves mixing C and Python, this is an encouraging reason to look more at D.

<comment><USER12> Is there a reason you chose not to build / refactor the project as a library to call from Python?

<comment><USER11> Can you clarify your question? I'm using Cython to write extension modules that directly interface with CEF's C API. CEF is about 40k lines of C++ that programmatically controls Chromium, which itself is written in C and C++.

<comment><USER12> I see. Thanks, that does change my understanding of your situation. My revised question with your clarifications in mind is, is there a reason you're not calling CEF's C api directly from Python? Are your extension modules doing some heavy lifting themselves, or are you using Cython just to handle the glue between the language interface?

<comment><USER11> > is there a reason you're not calling CEF's C api directly from Python?

Such as by using CFFI? Cython's strength, in my opinion, is in the fact that it is its own language resembling both C and Python that compiles to down to C, rather than just an FFI.

> Are your extension modules doing some heavy lifting themselves, or are you > using Cython just to handle the glue between the language interface?

I would say the majority of the application logic is written in plain Python, and Cython makes interfacing with it, creating higher level interfaces, and marshaling data far easier than with CFFI or using the C API directly. This is pretty subjective though.

</comment></comment></comment></comment></comment><comment><USER13> I often use C++ and pybind11 to do this. pybind11 takes an approach very similar to boost::python (template magic). It works rather well.

Though most of the C code I write can compile as C++ also. Why write in C then? It's still the lingua franca in microcontroller land... Just want to reuse the code on PC and Embedded Linux, and Python makes high-level testing much nicer.

<comment><USER14> Pretty much this. Add to that pybind11's exceptional numpy compatibility (including easily mapping C types to structured numpy dtypes that can be e.g. converted to a dataframe), and there's not many choices left if you're not planning on reinventing a wheel or two.

(disclaimer: pybind11 contributor)

<comment><USER15> Is pybind numpy aware? This is interesting. Having never used pybind, where can I learn more?

</comment></comment></comment><comment><USER16> It's really crazy how many ways there are to implement FFI in Python. I started in the "old days" (Makefile, a bunch of CPython C code to implement argument parsing, etc), switched to swig (experienced both the good and bad sides), hoped that GCC-XML would make it easier to convert complicated C++ classes to Python interfaces (big mistake), then hoped that LLVM 'would solve the problem', saw Google release CLIF (still can't compile it from scratch on a modern linux system), and the large number of "late-binding" approaches. Of all of them, I was most skeptical of Cython but have slowly come to appreciate its sublime cleverness.

</comment><comment><USER17> D & Nim (especially Nim) are very appealing from a language perspective, but the lack an IDE undermines the advantages they bring.

I personally won't consider using a language for a meaningful project unless it has a decent debugger, and reasonable refactoring; ie. at least find references & rename.

Beef is building on an IDE, which is a refreshing take, but it's still too early.

<comment><USER18> My own pet peeve about D is the lack of local documentation. If I install my system's compiler packages¹ I receive basically no documentation at all. That is a huge difference to the experience with nim/rustc/go/$others which all provide a nice fat $lang-doc package in their Suggests field, and all of those contain full standard library docs/tutorials/etc.

1\. gdc or ldc on Debian. The experience /may/ be different with the dmd repositories, but being external they're of less interest to me.

<comment><USER6> D comes with an interesting utility called `dman`. Run it from the command line and as an argument give it a D topic and it'll open a browser on the topic.

        dman dman

will, of course, open the browser on a page about dman.

<comment><USER18> Which, as I noted, is still a very different experience from go/nim/rust in Debian. It wasn't a pet peeve about no documentation, it is about how I can interact with it compared to to other languages.

</comment></comment></comment></comment><comment><AUTHOR> I describe how easy it is to call C code from Python by using D as the glue layer. AMA.

<comment><USER19> So behind the scenes is a utility that scans the #included headers, runs the C preprocessor on them, then uses Clang code to pick out the declarations, wraps them for calling from D, and redefines any C macro values as D constants? Do I understand that correctly?

(The other half of the puzzle being a tool called autowrap that wraps the resulting D for consumption by Python.)

I'm not sure whether I personally would ever use this, but it's a very interesting exploration of the subject.

<comment><AUTHOR> > Do I understand that correctly?

Yep!

> (The other half of the puzzle being a tool called autowrap that wraps the > resulting D for consumption by Python.)

Correct.

> I'm not sure whether I personally would ever use this, but it's a very > interesting exploration of the subject.

Python was an example. Want to call it from C# instead? Same code. Excel? Same code.

<comment><USER20> could you explain the weird fascination of the D community with Excel ? there are so many "D" things for Excel and it seems really weird as an outsider - <USER2> don't remember the last time I've seen an actual Excel in the wild and not libreoffice or openoffice

<comment><USER21> Since D has a fairly small community, I imagine its a handful of resourceful users in the financial sector fixing problems they're forced to deal with

<comment><USER22> There's also the fact that the Excel userbase is massive, so it's a sensible target.

</comment></comment></comment></comment></comment></comment><comment><USER23> Is swig no longer a thing in the 2020s?

I've always done this using the bundled Python/C integration path, or when there was too much stuff, use swig.

[http://swig.org/](http://swig.org/)

<comment><AUTHOR> I used swig once. Never again.

<comment><USER23> I'm curious, what was your negative experience?

<comment><AUTHOR> Literally all of it.

</comment></comment></comment></comment><comment><USER24> [https://github.com/davidjamesca/ctypesgen/wiki](https://github.com/davidjamesca/ctypesgen/wiki)

does this without needing a compiler, by parsing the header files and generating the ctypes wrappers

<comment><AUTHOR> There's no way to parse headers without a compiler.

</comment></comment><comment><USER25> "Envious of C++'s and Objective C's credible claim to be the only languages that can seamlessly interoperate with C (due to header inclusion and compatible syntax)"

Wouldn't Nim and Zig also fit the bill?

<comment><AUTHOR> The last time I looked at the Nim documentation, one had to manually declare C and C++ functions. I don't see how that's different from pretty much any other language that can call C (i.e. pretty much all of them). Then there's preprocessor macros.

I don't know how Zig does it, I'd have to look.

I expand on why dpp is the way it is in my DConf 2019 talk: [https://www.youtube.com/watch?v=79COPHF3TnE&t=8s](https://www.youtube.com/watch?v=79COPHF3TnE&t=8s)

<comment><USER26> Nim has an automated generator for C/C++ wrappers or translating from C.

Also there are very easy ways to create Python modules in Nim:

[https://robert-mcdermott.gitlab.io/posts/speeding-up- python-...](https://robert-mcdermott.gitlab.io/posts/speeding-up-python-with- nim/)

[https://github.com/yglukhov/nimpy](https://github.com/yglukhov/nimpy)

<comment><AUTHOR> Thanks for the links.

That's nice, but not the same - users have to intend to write a Python extension in Nim. With autowrap, you can call _unmodified_ D code (and as shown in the blog, C code as well with dpp). That means code that was never meant for consumption from another language can be made available.

<comment><USER26> You don't need to modify the code, just add a wrapper.

Nothing prevents generating a wrapper automatically but 99% of the time that is not very useful. The large majority of Python extension contain Python- specific code to access or return Python objects or act in a pythonic way.

<comment><AUTHOR> > You don't need to modify the code, just add a wrapper.

Still not the same.

> Nothing prevents generating a wrapper automatically but 99% of the time that > is not very useful. The large majority of Python extension contain Python- > specific code to access or return Python objects or act in a pythonic way.

Except, and I cannot stress this enough, at work we're using this to succesfully call into D production code without any Python-specific _anything_. It just works. The article wasn't even about that, it's about making it work just as seamlessly for _C_.

</comment></comment></comment></comment></comment></comment><comment><USER27> Okay, but what if I want to call python libraries from C (or any other language)? What we need is some sort of .net-like global interop in the Unix world.

<comment><USER28> You can't really do that without including the entire Python runtime in your application, and cpython is (so I've heard) absolutely horrid at being embedded in things.

<comment><USER27> Why can't we create a --server mode standard where every language can be started up in that mode and serves a standard API with standard linker types (where possible)?

</comment></comment></comment><comment><USER29> Scripting languages by nature will always be slower than C. There's a tradeoff between program speed and development speed

</comment><comment><USER30> Hopefully the dream to compile a D library to another language (something like swigd) it will be interesting

<comment><AUTHOR> That already works with Python, Excel and C# now. There's a link in the blog post to another blog post to that effect.

</comment></comment><comment><USER31> Or you know, learn any of the native options that let you call C things relatively painlessly.

</comment><comment><USER32> How many languages do we need again? The amount of time we spend playing around with special case languages and frameworks. Would be nice if machine languages followed the lead of natural languages, with a single one slowly pushing the rest to the sidelines.

<comment><USER33> What a terrible world that would be. For a while, 20 years ago, it looked like Java was going to be the one language to rule them all; dodged that bullet.

Kitchen sink languages are my least favorite. Give me something with a tight focus on a problem space.</comment></comment>


Silicon Valley's Unchecked Arrogance - <AUTHOR> https://medium.com/the-development-set/silicon-valley-s-unchecked-arrogance-d86cbb8db52#.xox7p7t03 <comment><USER2> I found this to be pretty interesting, but there's a huge irony at the bottom of the piece:

"The Development Set is made possible by funding from the Bill & Melinda Gates Foundation. We retain editorial independence."

Isn't that pretty much exactly the economic bargain that Basic Income promises?

<comment><USER3> > Isn't that pretty much exactly the economic bargain that Basic Income > promises?

I think I will be downvote for that but IMHO basic income is mainly a way to simplify taxes that's why it has unexpected supports.

</comment></comment><comment><USER4> This is the most intelligent, best-written article I've seen on the subject (inequality that results from technology).

> In the universal basic income proposal, the Y-Combinator team posits that > Silicon Valley's wonderful creations will create an incredible amount of > wealth, but will put a lot of people out of work

That wealth is often presented as an exciting story. But why should anyone care about that wealth besides the tiny group who receives it? What good does it do for most people, especially with such regressive taxes in the US?</comment>


CocoaPods announces Auth Server - <AUTHOR> http://blog.cocoapods.org/CocoaPods-Trunk

<comment><AUTHOR> It's a long post but the auth server (trunk) is important for the community, it has taken about a year to make and should make it super easy for library authors to update their own libraries without our intervention.

We're really glad to remove the human aspect, some of us can finally get some sleep again.

<comment><USER2> While on the topiZZzzzZzzzzzzzzz…………

</comment></comment><comment><USER3> Massive congrats and thanks to all the CocoaPods team for this. Such an important project in the Cocoa community. New way of publishing pods looks much smoother.

</comment><comment><USER4> This is a serious win for the iOS community. A huge step forward in terms of the maturity of the ecosystem. Congrats!

</comment><comment><USER5> While we're talking about it, can anyone explain why CocoaPods is so popular? I don't understand the appeal at all. Adding third-party libraries is something I don't do frequently at all, and it's not difficult to do manually. Automating the process doesn't seem to be even remotely worthwhile.

<comment><USER2> You assume that any code installed through CocoaPods will be created by 'third-parties', this is incorrect. Dependencies are simply that. You can use your own, like many companies have been doing successfully internally. E.g. [http://dev.hubspot.com/blog/architecting-a-large-ios-app- wit...](http://dev.hubspot.com/blog/architecting-a-large-ios-app-with- cocoapods)

Regarding "it's not difficult" to do; Indeed it's not, but it can be _time consuming_ when you do want to quickly try out some libs. Especially once you have committed them to SCM and later on decide to remove them, because they weren't what you wanted after all. This becomes even more a factor if you want to see a community that builds stuff _together_ , instead of everybody re- inventing the wheel and/or vendoring their dependencies inside their lib leading to the mess that brings (at linker and runtime level), because then you need actual transitive dependencies and calculate a graph.

It is my experience that the lack of a tool _and_ an ecosystem, such as CocoaPods, has led to the Objective-C OSS community staying minimal, in terms of working together. This can be noticed by the instant feedback people get on their projects when they release a library through CocoaPods and the decline of monolithic frameworks.

Whether or not your situation asks for this is another question. In consulting you'll notice the benefit of quickly adding your dependencies, while on your own (single) product that's probably a negligible amount of time. YMMV and all are fine.

<comment><USER5> It shouldn't be time consuming to manually integrate a dependency either. Add it to your project and go.

I further don't understand how it's a problem if you commit them to SCM and then decide to remove them. If you decide to remove them, then remove them, and you're back where you were.

Perhaps this is the gulf in understanding: when you talk about transitive dependencies, my immediate reaction is that if you have so many different dependencies and dependencies-on-dependencies that it becomes difficult to manage by hand, you're doing something terribly wrong and setting yourself up for a world of pain.

<comment><USER2> > It shouldn't be time consuming to manually integrate a dependency either. > Add it to your project and go.

I'm not going to play the yes-no game with you on this.

> I further don't understand how it's a problem if you commit them to SCM and > then decide to remove them. If you decide to remove them, then remove them, > and you're back where you were.

You will have to spend time to figure out which build-settings originate from which library. Or you do it properly upfront with a xcconfig, which also costs you time.

> Perhaps this is the gulf in understanding: when you talk about transitive > dependencies, my immediate reaction is that if you have so many different > dependencies and dependencies-on-dependencies that it becomes difficult to > manage by hand, you're doing something terribly wrong and setting yourself > up for a world of pain.

You're simply making too many assumptions then. Also see: [http://guides.cocoapods.org/using/faq.html#cocoapods-is- bad-...](http://guides.cocoapods.org/using/faq.html#cocoapods-is-bad-for-the- community-because-it-makes-it-too-easy-for-users-to-add-many-dependencies)

I'm still planning to port that old blog post, by my then-colleague, to an iOS context and post it on our blog. This assumption you make is a common one and tends to leave sour tastes with everyone.

<comment><USER5> I don't understand your "build settings" comment. Why would there be any build settings originated from a library?

As for "making too many assumptions", it sure would be nice if you could, say, _explain yourself_ instead of just saying I'm wrong and that my wrongness upsets people. Your FAQ link doesn't explain anything.

To explain my side: third-party code tends to be of low quality and interact with other third-party code in interesting ways. When things go wrong, and they _always_ do even with the best programmers and the best code, the more bad third-party code you have, the more you have to dig through to find and fix the fault. This objection largely goes away if you only use dependencies of extremely high quality, but to be brutally honest, there aren't enough such projects out there to be able to make a mess from them.

<comment><USER6> > third-party code tends to be of low quality and interact with other third- > party code in interesting ways.

Absolutely. There are less than a half dozen libraries I'll use without hesitation. The others get evaluated carefully on author, size, criticality, and my domain knowledge, with the default choice being: "no, don't want to deal".

But that's a criticism of all package managers everywhere, and I think it's clear that popular ones promote higher quality libraries, over time.

CocoaPods is young yet. Package management for compiled and linked executables might turn out to be too hard or wrongly marketed. But a strong ecosystem of third party Objective-C code is a laudable goal.

<comment><USER5> I don't really see how CocoaPods helps the ecosystem of third-party code or promotes higher quality libraries over time. The cost of using third-party libraries is high, so they need to be worth the cost if I'm going to use them at all, and the vast majority of that cost is _not_ in the stuff that CocoaPods helps with.</comment></comment></comment></comment></comment></comment></comment>


Huge Leak Reveals AMD Ryzen 3000 Series Details - <AUTHOR> https://www.forbes.com/sites/antonyleather/2019/01/02/huge-leak-reveals-amd-ryzen-3000-series-details-16-core-monster-2019s-killer-processor/ <comment><AUTHOR> While some of the pricing seems unrealistic (3850X at $499), the specifications do seem to be in line with most expectations. Especially against what has been revealed with the Zen 2 based Epyc processors being previewed.

I've been waiting on this to upgrade my home desktop. Still running an i7-4790K which has been more than sufficient. It will be nice to get a 16-core option and more than 32gb ram though.

</comment><comment><USER2> I thought 16 cores were too much for double channel memory! This is interesting indeed.</comment>


Young people prefer the sound of MP3s to uncompressed music - <AUTHOR> http://i.gizmodo.com/5166649/ipods-and-young-people-have-utterly-destroyed-music

<comment><USER2> I, a creature of a different age, suffer a similar phenomenon. I have cherished old mix tapes that I prefer the sound of. I've tried recreating those tapes with playlists of perfectly ripped flac from cd's and they just don't have the same _life_.

I've gone so far as to record the tapes straight into flac and listen to those on my ipod instead.

I know every warble, wow, and flutter from those old tapes, I even have a rough chronology in my mind of when the tapes developed their defects. The too hot car stereo in my friends camero that summer day... that lousy walkman that tried to eat it.

I can play the modern digital copies in the right order till the cows come home and be unmoved but even a whisper of the noise between tracks on one of those old tapes and its '94 again and I'm back on the beach at sunset with that girl in my arms...

<comment><USER3> "I've tried recreating those tapes with playlists of perfectly ripped flac from cd's and they just don't have the same life."

See the story from a day or two ago about how badly CDs are being mastered.

Personally, I listen to a lot of non-English music and I'm beginning to wonder if part of the reason might be that non-US music companies seem to be much less likely to utterly destroy their music in the quest for illusory volume, because the "foreignness" is not something that I particularly care about either way.

Try your experiment on a CD from the mid-nineties. It is highly likely that what you are experiencing is a result of atrocious mastering, and _not_ a digital-vs-analog result. Note that it has to be a CD that physically dates from the mid-nineties, not merely an album from the mid-nineties, as companies have been going back and destroying the old music on re-releases.

Of course that doesn't address the issue of your personal memories and if you like that, hey, great. I'm not going to complain or tell you it shouldn't be that way.

<comment><USER4> Could you provide, please, the link of that story about CDs?

<comment><USER3> I had a post on that story, but I can't get through to my threads display (HN seems to cut that off when load is high, makes sense, not complaining). But I'll endorse aoeu's Wikipedia link. Between that and some of the article Wikipedia links you can get a pretty good idea of the problem and the scope.

Until this problem goes away, CDs are no longer the choice of discriminating audio enthusiasts.... but not because "digital" is worse than "analog", but rather because "destroyed digital" is simply bad. Right now in the "digital vs. analog" war, CDs aren't bringing their A-game.... they're not even bringing their D-game.

A further thought occurs to me; maybe people prefer "Crappy 44KHz originals with clipping softened by MP3" to "Raw crappy 44KHz originals". This ought to be controlled for, if it wasn't, as this might be the rational choice even by audiophile standards. (Yes, it's crap vs. crap, but there may yet be a distinctly less crappy one.)

</comment></comment></comment></comment><comment><USER5> Ridiculous, kids these days actually like the sound of the artifacts introduced by the reproduction technology?

Everyone knows the best way to hear music is through the soft clipping of a tube amplifier.

<comment><USER6> Is there anyone still making tube amplifiers? I might like to have one, if it didn't cost too much.

<comment><USER7> If you've ever soldered anything in your life you can build one yourself. They're really easy to build, kits are available, and parts are VERY cheap. Of course, be careful. Getting shocked by 750 VAC is... interesting.

<comment><USER6> That's a good idea. I think I'll give it a try. Thanks.

</comment></comment></comment></comment><comment><USER8> It might well be that many people complaining about "soulless, thin MP3s" would not be able to tell a 160kbps VBR MP3 from the original in a controlled experiment. Low-quality headphones and speakers are obviously a different matter, but if you're telling somebody that compression makes their music soulless and thin, you're an audio snob without any facts.

<comment><USER9> The article establishes that people can, in fact, tell the difference between MP3 and uncompressed, no?

<comment><USER8> According to the article (and the one linked in it), the percentage of people that _prefer_ MP3 quality is rising, that's all. It does not say these people would actually be able to tell that the recording they prefer is an MP3.

</comment></comment></comment><comment><USER10> "To my surprise, in the rock examples the MP3 at 128 was preferred. I repeated the experiment over 6 years and found the preference for MP3 - particularly in music with high energy (cymbal crashes, brass hits, etc) rising over time."

Encoding to MP3 @ 128Kbs will apply a low pass filter (so that more bits can be used to encode the lower frequencies) and high freqeuncy sounds can sound smeared. I would guess one or both of these factors could be responsible for reducing harsh sounding treble.

I'm guessing of course but if right, I wouldn't say the MP3 was better. Merely, it masks a horrible sound to begin with.

<comment><USER11> It could just be me, but I've observed MP3 encoding tends to make hard transients more mushy, which is something that one might become accustomed to.

</comment></comment><comment><USER12> I used to think, MP3s sounds almost the same as uncompressed music (CDs), but, was until I got a fairly big audio system (in my car) that I realize that my MP3s sucked big time. But in ipods and other small devices MP3s are fine.

<comment><USER3> They don't have to. The theory is sound. Throw enough bits at a good enough encoder and you can't tell the difference.

However, 128Kbps in an encoder designed to encode as rapidly as possible will not have that result, and that's the usual case.

Also, hooking up a decent set of headphones to an iPod and that itself can be a "nice audio system". The stats on the iPod are pretty good, it's the headphones that are crap. I have a Creative Labs Zen myself, which has an inferior interface, but has even better audio statistics, and the best audio experience you can get in my household are my ~$100 monitor headphones hooked up to the Zen. That's pretty fine. Run a great MP3 through it and you'd never know it's not the original CD. Run a mediocre MP3 through it and you'll cry.

</comment></comment><comment><USER13> I wonder in what measure modern production techniques (for instance, <http://en.wikipedia.org/wiki/Dynamic_range_compression> ) influences the choice of the listener.

</comment><comment><USER14> I think what the study shows is that listening to music goes beyond the encoding technique, like everything, it has the quality of contemporaneity; listening to music is made up of the music and the listening process, which includes the medium, vinyl, cassettes, cd, mp3 etc. We all have our way of remembering music, be it on 8 track, cassettes, or ipod. The current twenty somethings will reminisce about the old days, how their iPods sounded and how they would split their ear buds with their sweetheart of the day, just like the first guy and his Camero and sunsets with Susie :)

Its the same as photography, film, like cassettes, vinyl etc is no better than digital, its just different. The medium is an important part of any art form, possibly with the exception of literature. For the visual and music arts I have seen this phenomenon often but I am not sure if it applies much to books. The medium is largely the same I suppose - we've moved on from writing on pigskin, but for the past few hundred years and book today is much the same as a book from anytime, only the content has changed. The arts move, and are moved by technology at different paces. Possibly the Kindle will change things, but it hasn't had enough time to know yet.

</comment><comment><USER15> I got an amplifier with a TOSlink (SPDIF optical) connection, and got a cable from the soundcard to the amp. This means there was no analogue distortion or amplification in the signal chain - it just went right from the soundcard to the speakers (which are studio monitors in my case).

You can hear the difference between MP3 and CD/FLAC sources quite easily, so I've come to like CD/FLAC.

I started off listening to vinyl at about 12, CD/tape until 1998, then Napster in 2000. Now I buy CDs and rip to FLAC, if possible, and hardly listen to MP3s.

By the way, albums like Madonna's Confessions on a Dance Floor sound really bad on MP3, because it's been mixed to a very full sound and compresses poorly. I don't know if that's the producer (Stuart Price) or the mastering people, but a bootleg of this album made from MP3, I ordered by mistake, was really really bad sounding.

</comment><comment><USER16> Everyone knows the best way to hear music is live, un-miked, un-amped, with analog instruments. That's one of the reasons I've gone into opera: <http://gatewayclassical.org/>

</comment><comment><USER4> The idea is interesting, but unfortunately the article doesn't have too many details. A spectrogram or something similar would have been nice.

</comment><comment><USER17> it's fascinating how this phenomenon works. I grew up listening to cassettes I had made from recording records. These recordings had flaws introduced by the cassette mechanism, drop outs, warbles, etc. I was used to it and didn't think about it. When I'd hear the same song from a CD it sounded weird. I can't say I prefer cassettes now, I never listen to them, they're all in a box now, and many have been thrown out. Records still sound as good as ever, many are much nicer sounding than the CDs that came out later on. I wonder if digital radio will eventually replace analog broadcasts, as has happened with TV. That would be a shame as all the old radios would suddenly become door stops.</comment>


Leslie Lamport awarded Turing Award - <AUTHOR> http://www.acm.org/news/featured/awards/turing-award-2013 <comment><USER2> This paper is a classic: Time, Clocks, and the Ordering of Events in a Distributed System: [http://www.ics.uci.edu/~cs230/reading/time.pdf](http://www.ics.uci.edu/~cs230/reading/time.pdf)

<comment><USER3> The above link is a summary to the paper. Here is the actual publication: [http://cnlab.kaist.ac.kr/~ikjun/data/Course_work/CS642-Distr...](http://cnlab.kaist.ac.kr/~ikjun/data/Course_work/CS642-Distributed_Systems/papers/lamport1978.pdf)

</comment></comment><comment><USER4> Clock, Byzantine general, Paxos, LaTeX, program proof. My CS curriculum often crossed Leslie Lamport's path.

Here is an interview he did a while ago which go trough his work : [http://www.budiu.info/blog/2007/05/03/an-interview-with- lesl...](http://www.budiu.info/blog/2007/05/03/an-interview-with-leslie- lamport/)

<comment><USER5> Quote from that interview:

>Q: The Byzantine Generals Problem paper (1982) describes the first provably correct algorithm for making several computers agree when some of them may give deliberate wrong answers. What are the its practical applications?

>A: The only practical applications I know of are in real-time process control — in particular, for systems that fly airplanes.

I guess Bitcoin didn't exist at the time..

<comment><USER6> "People fiercely resist any effort to make them change what they do. Given how bad they are at writing programs, one might naively expect programmers to be eager to try new approaches. But human psychology doesn't work that way, and instead programmers will find any excuse to dismiss an approach that would require them to learn something new. On the other hand, they are quick to embrace the latest fad (extreme programming, templates, etc.) that requires only superficial changes and allows them to continue doing things basically the same as before. In this context, it is only fair to mention that people working in the area of verification are no less human than programmers, and they also are very reluctant to change what they do just because it isn't working."

This is an excerpt from an answer about program verification. It's worth the read.

</comment></comment></comment><comment><USER7> I like that the full news release ([http://www.acm.org/press-room/news- releases/2014/turing-awar...](http://www.acm.org/press-room/news- releases/2014/turing-award-13) ) comes as both HTML and a PDF built with --- wait for it! --- LaTeX.

<comment><USER8> If the HTML was built with LaTeX they should really rewrite that part.

<comment><USER9> It currently says "PDF file generated with LaTeX".

Edit: Misread what you wrote. I think only the PDF was made using LaTeX, not the HTML.

</comment></comment></comment><comment><USER10> What took so long? And, come on, you have to at least _mention_ Latex.

edit: they do, on a more full citation: [http://amturing.acm.org/award_winners/lamport_1205376.cfm](http://amturing.acm.org/award_winners/lamport_1205376.cfm)

<comment><USER11> What took so long, indeed. As long as I have been associated with the ACM on behalf of the practitioner, I have complained about this to anyone and everyone. Many thought he had already won (!) and a few believed that he didn't deserve to win because he is "merely a popularizer" (!!), and some (rightfully, probably) encouraged me to inject myself in the process if I felt so strongly about it. There was no way I was going to do that, so I had resigned myself to a lifetime of merely complaining about it. I was elated to discover this morning that my complaining has been cut short, and that Lamport has won the award that is long overdue to him!

</comment></comment><comment><USER12> It's quite ironic that most of the world knows him for LaTeX and not for the zillion fundamental contributions he has made to Distributed Systems.

Truly well deserved. #Respect

<comment><USER13> I'm embarrassed to include myself among the ignorant masses--I just assumed this was for his work on LaTeX. The distributed systems stuff sounds much more interesting though. Looks like I have some reading to do!

[http://research.microsoft.com/en- us/um/people/lamport/pubs/p...](http://research.microsoft.com/en- us/um/people/lamport/pubs/pubs.html)

<comment><USER14> Yep. Time, Clocks, and the Ordering of Events in a Distributed System is cited in basically every distributed systems paper ever, and the ideas in it are behind, among other things, Amazon's Dynamo.

It's also fairly accessible. One of the first systems papers I read, and while I certainly felt in over my head, I got the high level ideas

<comment><USER15> For me, the timing could not have been better; I'm to write and present a summary of that paper this week. It's an excellent paper, and while I am probably wrong, it feels like it defines the vocabulary for talking about time in computer systems. The very first episode of Star Trek: DS9 comes to mind; Captain Benjamin Sisco has met an alien species that does not exist in our system of linear time. Sisco cannot explain 'time' to the creature as he sees it as an innate part of communication. It is my belief that he would have a much better chance, had he read this paper.

</comment></comment></comment></comment><comment><USER16> As with Donald Knuth, it's hard to say whether his most high-impact contribution was to computing and algorithms or to typesetting; certainly the latter is even more widely used.

Well deserved for both.

<comment><USER17> "...certainly the latter is even more widely used"

There are lots of LaTeX users no doubt, but Lamport's work on the fundamentals of distributed systems informs the design all the large-scale systems relied on by billions of people.

Lamport's analysis of the limitations of time in distributed systems, and the Logical Clock construct to help with that is way more impactful than LaTeX.

</comment></comment><comment><USER18> There is something intriguing about these old timers' plain text html websites. One of these days I am going to have to drop WordPress.

<comment><USER19> My blog[0] is still plain HTML, but that's part of the reason I haven't made an update since late 2012(!).

Thinking about switching to a blogging platform myself. Or at least something that converts markdown to static HTML with git-commit hooks.

I guess what I'm trying to say is "Be careful what you wish for."

[0] [http://grahammitchell.com/](http://grahammitchell.com/)

<comment><USER20> Have a look at Pelican, one of the many solutions in this space. [http://docs.getpelican.com/en/3.3.0/](http://docs.getpelican.com/en/3.3.0/)

</comment></comment></comment><comment><USER21> While his work on distributed computing was certainly great, I find it curious that the press release doesn't even mention the achievement of Lamport that probably was important to lot more people: The creation of LaTeX. Sure, its not something typically honored by the Turing Award but leaving it out entirely? Come on!

<comment><USER22> Well, LaTeX is a (slight) improvement over TeX, which was written by D Knuth. I don't think that is what they would give a Turing Award to someone for.

<comment><USER23> Sure, but I saw the headline and though "Oh, the guy who wrote the LaTex book".

[http://www.amazon.com/LaTeX-Document-Preparation- System-2nd/...](http://www.amazon.com/LaTeX-Document-Preparation- System-2nd/dp/0201529831)

I imagine that is how he is best known. I didn't even know he did LaTex, just the book.

<comment><USER24> Perhaps in terms of quantity, but to many he is the man who single-handedly brought order to distributed systems. I was surprised he had not won a Turing award yet.

</comment></comment></comment></comment><comment><USER25> For an idea of the tremendous impact Leslie Lamport has had on computing to date check out this page:

[http://research.microsoft.com/en- us/um/people/lamport/pubs/p...](http://research.microsoft.com/en- us/um/people/lamport/pubs/pubs.html)

</comment><comment><USER26> About time too! This man is responsible for most of our progress in distributed systems. One of the few researchers Google hasn't poached from Microsoft yet.

<comment><USER27> Not sure why you seem to think researchers are flowing to Google. Microsoft Research is still the biggest name in distributed systems, if not CS in general. They have been consistently producing high-quality papers [1].

[1] [http://jeffhuang.com/best_paper_awards.html](http://jeffhuang.com/best_paper_awards.html)

<comment><USER28> I do believe there is a flow of Systems researchers towards Google, at least from academia, if not Microsoft Research. I

Microsoft Research is active in many more areas of research than Google. However, I'm not sure that implies they are better than Google in the specific area of distributed systems research. FWIW, it seems every now and then Google publishes incredible papers that surprises folks in that community.

</comment></comment></comment><comment><USER29> Well deserved. His work on Paxos flavors worth it alone.

</comment><comment><USER30> I have to admit that I had no clue this man invented latex. But we studied Lamport clocks and lots of his papers on distributed systems.

</comment><comment><USER31> Congratulations to Dr Lamport.

Is there a list of Turing Award nominees published somewhere?

<comment><USER32> [http://amturing.acm.org/byyear.cfm](http://amturing.acm.org/byyear.cfm)

<comment><USER33> Interestingly, Brian Kerninghan and Christos Papadimitriou have not received the award yet.

<comment><USER31> I'm wondering if they've been considered. Other names that come to mind:

Linus Torvalds

Richard Stallman

Guido van Rossum

Simon Peyton Jones

Andy Tanenbaum

John Resig

Tim Berners-Lee

Satoshi Nakamoto

<comment><USER34> What contributions to computer science research has van Rossum, Stallman or Torvalds made? It's not an engineering award, it's a research award.

</comment></comment></comment></comment></comment><comment><USER35> This was very well deserved. Leslie has been one of my heroes ever since I came across his work while trying to write a functional lock manager for NFS. It was clear and very approachable.

</comment><comment><USER36> I'm confused. Is he the Leslie Lamport I'm thinking of, the one who created LaTeX? If so, I'm very surprised to learn that he works for Microsoft.

<comment><USER37> Microsoft _Research_ is one of the best CS research labs in the world.

</comment></comment><comment><USER38> A special mention must be made about the puns in the LaTeX book, like the letter sample written from Gnu York.

</comment><comment><USER39> Wow I would have thought he won it in the 80s or 90s!

<comment><USER40> I think the follow to 'Hall of Fame' inductions style, recognize the contribution much later in the career or post-retirement.

</comment></comment><comment><USER41> Finally!

<comment><USER42> Your exclamation is probably not a reference to Gert Fylking [1], but it would be hilarious if it was.

[1] [http://en.wikipedia.org/wiki/Gert_Fylking#Radio](http://en.wikipedia.org/wiki/Gert_Fylking#Radio)

</comment></comment><comment><USER43> (In June, 2013.)

<comment><USER44> The award for 2013 is being given in June 2014, it was only announced today -- [http://www.acm.org/press-room/news-releases/2014/turing- awar...](http://www.acm.org/press-room/news-releases/2014/turing-award-13)</comment></comment>


Ask HN: Is it possible to write framework agnostic ES6 components? - <AUTHOR> We were looking to create a widget library and were wondering if it would be possible to create completely framework agnostic components (i.e. using only ES2015 syntax + html5 + css)
These widgets would be used in React, Angular, Vue applications.
Is creating web components the only answer? Integrating web components into a React/Angular application is not trivial either. <comment><USER2> This is a suddenly, extremely busy area, in the form of web components. Using web components is quite easy from Angular already, and from several other frameworks including Vue. Web components is the standard in this area, I can't imagine an alternative would possibly get traction now that web components are here. I don't know what integration difficulty you're thinking of, but regardless, the answer will be to get the JavaScript from your web components on the page, in addition to the JavaScript from your main library/framework.

React has some irritations consuming web components in the current version (because it favors attributes over properties, which seemed like a good idea at the time), but in the next version that will be resolved also.

Some starting points:

Polymer - the upcoming version of that will be quite convenient to use with es2015 classes. Polymer is pretty much ready for production work today (including the new enormous YouTube revamp, which they are rolling out) but aimed at an older syntax.

[https://www.polymer-project.org/](https://www.polymer-project.org/)

Skate might be closer to what you're looking for today, although it also has a significant revamp in progress that changes lots of things.

[https://github.com/skatejs/skatejs](https://github.com/skatejs/skatejs)

The latest entrant is Stencil. It's not quite exactly the stack you described, rather it uses TypeScript. Stencil is extremely promising.

[https://stenciljs.com/](https://stenciljs.com/)

<comment><AUTHOR> this is wonderful thank you!</comment></comment>


Graffiti Tags - <AUTHOR> http://www.voxsmith.com/graffiti.aspx

<comment><USER2> This is potentially a really good idea.

But how do I tell people about it? From the TOS:

>You shall not [...](iii) create Internet "links" to the Service</comment>


Peers call for a pardon for Alan Turing [video] - <AUTHOR> http://www.bbc.co.uk/democracylive/house-of-lords-23378209 <comment><USER2> Why not pardon all the other men who were persecuted? Their criminal records should be cleared.

<comment><USER3> Indeed - the current proposal suggests that the persecution was only wrong because he was a war hero, and not because of the injustice of it.

I'd imagine there must be some victims who are still alive today.

<comment><USER4> According to the video 16.000 of them are still alive and it seems they apparently already have been granted some form of pardon.

</comment></comment></comment><comment><USER5> Are these symbolic apologies, pardons any good practically? They keep coming up especially in the colonial setting where governments apologize for what happened a few decades ago. It feels like a zero cost (apart from parliament costs i.e.) way to absolve their own personal guilt.

In the real world, does it actually help the oppressed?

(Who wants to place bets on an official apology to the families of Snowden/Manning coming up in a few decades after they have been caught and "justice delivered" to them.)

<comment><USER6> I think they represent a government that is willing to look at its past and say "we were wrong". Too often we've seen "Mistakes were made", which is a way of skirting responsibility. At least this shows a society willing to acknowledge its faults and publically address them.

<comment><USER5> Does it really? It seems like more of a "I apologized, now hurry up and accept it" kind of gig. A true apology is one where people learn from it.

<comment><USER6> What do you want them to do? Just ignore it? As much as we might want to we can't change history. Times change, social norms change and hopefully laws change with them (gay marriage is not legal in the UK, for example), but the best we can really do is say, "Yeah, we fucked up." and hopefully that creates a meaningful dialogue.

<comment><USER5> I think it is useless. It is about as meaningful as Bush standing in front of a banner that says "Mission accomplished".

Yes, you are right. No one can change history. That is not my point. My point is to emphasize that the gesture is meaningless; if people want to actually admit they fucked up, they should actually prove that they learnt from the mistake and do something about current problems. Otherwise, it is just a big hoopla about nothing.

<comment><USER6> So the huge strides made for gay rights in the UK (i.e. the legalization of gay marriage) is not doing something about current problems?

</comment></comment></comment></comment></comment></comment><comment><USER7> Previous discussion [1]. I didn't think HN allowed duplicate URLs within such a short timeframe (unless posted with a variation to the URL), but good to see it getting a proper airing, as it got modded off the front page in short order yesterday (possibly because the debate got a bit acrimonious).

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

</comment><comment><USER8> People are really good at apologizing for the atrocities of the previous generation. This is a pretty empty gesture, and doesn't forgive the UK for driving to suicide a man who saved thousands of British lives.

<comment><USER9> While I do agree with what you've said, it is also worthwhile nothing that the UK today is obviously not the same people.

<comment><USER5> Yes, they discriminate against a different class of people. Immigrants. They are different yet they are the same. Learning from your mistakes means minimizing discrimination wherever it exists. Apologies are empty otherwise.

To emphasize my point further (which I briefly illustrated in another comment). This apology, I argue, is the same class of apologies as say an apology by the U.K. for atrocities committed in Kenya [1] during the uprising and then going forth into Iraq in the same decade.

[1] [http://en.wikipedia.org/wiki/Mau_Mau_Uprising#Deaths_and_atr...](http://en.wikipedia.org/wiki/Mau_Mau_Uprising#Deaths_and_atrocities)

<comment><USER9> That earlier discrimination was done by other people is good reason not to blame these people for that earlier discrimination. It is no reason at all not to blame these people for present discrimination.

<comment><USER5> If the current people are not to be blamed, I would argue that itself renders the apology meaningless. It would be like you going on a murder spree and then me announcing that I apologize for a random stranger's murder spree.

If they are to be blamed and willingly accept some measure of blame in order to apologize, then their apology is again empty unless they actually have taken steps to rectify the situation around them. (Which in discriminatory elements is identical to the previous situation.)

Ultimately, I think it is theatre. An easy way for people who are not willing to solve problems around them: Yes, problems which also include discrimination against gays right now; yet want some way to assuage themselves of guilt. Well fuck that.

<comment><USER9> Recognition of what went wrong in the past is appropriate. Use it as an opportunity to point out what's still going wrong in the present; that's not the same thing as blaming the current generation for the errors of earlier ones, but neither is it blindly applauding while ignoring the things still needing fixing.

</comment></comment></comment></comment></comment></comment><comment><USER10> What angers me the forced chemical treatment of Alan Turings homosexuality indirect was a crime against humanity as he was a genius. We will never know what else he could have invented.

This would have been similar to giving other geniuses such as Einstein, Gauss, Tesla bad medicine which would have destroyed them.

</comment><comment> unix-dude Certainly an appropriate gesture, though "Pardon" could be taken the wrong way by some.

<comment><USER11> He already had an official apology from the prime minister in 2009. Many people want the conviction off the record, and it had to be done through a pardon because he cannot appeal or be tried again, and the law in effect at the time was not violated.

The petition to pardon is here [http://epetitions.direct.gov.uk/petitions/23526](http://epetitions.direct.gov.uk/petitions/23526)

<comment><USER12> A pardon in the UK won't clear a criminal record - it's a 'forgiveness of the crime'.

</comment></comment></comment><comment><USER13> I noted in the video that the House is almost empty. Is everyone on a summer leave?

<comment><USER14> Not quite, there's a week or so to go, but it's not unusual for it to be that empty.

The bill is in second reading, which is the first opportunity to debate the subject. Those attending are therefore those with an interest in the bill and who want to speak in the debate (or are there for other business that day). There's no need for everyone to attend.

The Lords are a little different to their MP counterparts - firstly, there's a _lot_ more of them (if all the eligible Lords actually turned up you'd have a very hard job fitting them in the chamber), and they also don't get paid a salary. Rather, they are paid an allowance for each day they actually attend.

</comment></comment><comment><USER15> Obligatory "Pardon implies he did something wrong post". they should apologize.

<comment><USER16> Indeed. Absolving him of any wrongdoing in the first place would have been appropriate, but pardon may be the only recourse to push through the House.

Ironic that we now have _Sir_ Ian McKellen and _Sir_ Elton John, two men who would have met the same fate in Turing's time.

<comment><USER17> The fact that we have "Sirs" Ian and Elton is proof that we have moved on. It is a different world since Turing's time. We also used to burn people alive for heresy. An official apology was gesture enough on this matter.</comment></comment></comment>


Should Computer Science Teachers Be Paid More Than Gym Teachers - <AUTHOR> http://blog.acthompson.net/2012/11/should-computer-science-teachers-be.html

<comment><USER2> Yes, computer science teachers should be paid more than gym teachers, because their opportunity cost for entering the teaching profession is higher.

To elaborate:

If well-qualified computer science teachers can make $B working for Bigcorp and $T from teaching, then they'll exit the schools as long as $B > $T.

The same logic, of course, applies to gym teachers, but there presumably isn't nearly as much demand outside of the school system for their specific skills.

(Here I'm thinking of $B and $T as more total utility than actual salary. In other words we need to convert into dollar terms intangibles like benefits, location, warm fuzzy feelings from shaping young lives, opportunity to work with newer technologies, etc.)

</comment><comment><USER3> The question should be: "Should a equally competent teachers be paid differently based on subject area?"

No. Great teachers should be rewarded equally. It's no simpler to make a child value their body than to make a child value logic. The fact is, there are children who will do well and fail in both.

<comment> daniel-cussen All other things being equal, right, they should be rewarded equally because, ahem, we just assumed these other factors were irrelevant. But in today's job market, where employers are chasing CS professionals, it makes sense to pay CS teachers more provided you can attract good talent.

<comment><USER3> Would you agree that if a person is focused on making money they won't consider becoming a teacher? Paying $35K vs $30K still can't compete with what a reasonable tech company pays an engineer.

<comment> daniel-cussen Where do teachers make that? I'm assuming it's starting out, and in USA (you used dollar symbols), but the expected value of becoming a teacher in the US, especially a public school teacher, is quite a bit higher than that.

In any case, no, you're right, it absolutely cannot compete, especially not in the current environment. However, even people that are not in it just for the money can find it hard to live for less than a certain amount each year, and may find it hard to be a teacher if it means going without a car, for instance.

<comment><USER2> What I'm going to say only applies to K-12 schools in the USA. College is much better.

In many places teachers' unions are strong. Unions tend to unconditionally reward seniority. They frown on management being able to tie pay to talent/ability, or get rid of people who are grossly incompetent (let alone merely below average). So the talented are frustrated because their abilities aren't recognized, and tend to leave if they have better options, while bad teachers know that they have a safe job once they get their foot in the door.

With high-stakes standardized testing, nonessentials like computer science have a tendency to take very low priority. Many high schools' definition of "computer science" is "how to use Word and PowerPoint, and maybe make a website (if you're lucky)"

Actual programming is something students generally venture into on their own. Teachers -- especially bad ones -- often feel threatened by students who are smarter than they are. (Remember, schools attract the incompetent.) Students are actively discouraged from pursuing advanced topics like programming on school equipment (and in some cases are even punished).</comment></comment></comment></comment></comment>


Interactive: Watch This Protest Turn from Peaceful to Violent in 60 Seconds - <AUTHOR> https://www.nytimes.com/interactive/2020/06/26/opinion/blm-protests-police-violence.html <comment><USER2> Wow. Okay, first, that was one of the better uses of parallax scrolling in a news article. I didn't hate it. It was well used.

Second, as someone who used to live in that area, I'm very very sad. Watching the videos and comparing them to the last video (after they banned tear gas) is like night and day. In particular the police seem a lot further back from their barricades. In the violent example, the police were so close that they snatched that pink umbrella, which started the violence. And no doubt, the police instigated this. It's natural instinct if someone is trying to steal something from you to try and pull it back. If the police didn't want to block their line of sight, they shouldn't have been so close to their own barricade. They could have stepped back a few feet to create more of a 'no-mans land' between the barricade and the police line, and still easily be able to control that space so no protesters would enter (kind of like the last picture, where the police are way back there, but the protests still don't try to get in their face). SPD has had a bad rap for decades (all the way back to WTO protests) and they honestly deserve it. This is just bad policing.

</comment><comment><USER3> Well yes, people tend to become violent when they are violently attacked! Over and over again, we saw police violently attacking non-violent protests so that the natural push-back that ensued could be dishonestly portrayed as a "riot".

</comment><comment><USER4> the officer grabbing the pink umbrella struggles to grasp it because his right hand grips a club. a truly poetic metaphor.

</comment><comment><USER5> Safari reader mode lets you read the text without having to scroll from morsel to morsel with moving images begins them.

</comment><comment><USER6> yeah well RIP NYC because no one will be there to protect from criminal violence soon, and businesses will leave along with normal people. Seriously, if next year NYC becomes a giant crime area, ask yourself if you supported these "protests" because it's literally killing NYC. I'm just unsure of how much people are secretly wanting this, because not everyone can be that stupid.

<comment><USER7> Well if the NYPD scares you more than street criminals, than protesting would be a rational course of action then.</comment></comment>