Live data from Hacker News

Fighting spam with Haskell

code.facebook.com

71–80 of 98 posts

Re: Fighting spam with Haskell

#71
post #58
post #11

Earlier quoted context omitted.

For my side project, I use yesod/websockets for the server and haxe for the client. I feel ok with that choice instead using hpaste. Though eventually I would like to see a complete haskell stack. @Lewissham: about the fourth attempt, it just so happens that this was my third attempt at getting something that was right for me as well as maintaining the typesafety. I do realize that code is still not as seamless as I…

Can you expand upon what you mean by complete Haskell stack ? What do you feel are currently missing from Yesod ?

Yesod is awesome I can't see myself going back to less typesafe database schema tools. The choice I made seemed like a safer path, perhaps not ideal.

The application that I am trying to put together is a realtime websockets application. Therefore, I am using yesod/websockets for the server. For the client, I chose haxe simply because of the targets available making it simpler to write plugins.

On one of my irc chats or somewhere, I did hear good things about haste, though it is primarily a javascript library, therefore I plan to evaluate it later.

About the client: it is a single page app to prevent any page refreshes and I am a bit sold on the frp (using promHx). I guess I should have elaborated a bit more about this in my earlier comment, because my choices are not indicative of anything amiss in yesod.

Re: Fighting spam with Haskell

#72
post #70

Does this system also detect propaganda operations?

No, it generates them /sarcasm

The question was serious. Malicious actions could certainly include propaganda operations and indeed there has been a growing investment across social networks to block content specific to certain ideas considered dangerous, disinformation and misinformation.

My guess is actually that, yes, this system has rules (and gets live feeds of them) to block certain political content associated with influence operations. But I was hoping to get a more serious, direct and charitable answer from someone who works on the system.

Re: Fighting spam with Haskell

#73
post #70

Earlier quoted context omitted.

No, it generates them /sarcasm

The question was serious. Malicious actions could certainly include propaganda operations and indeed there has been a growing investment across social networks to block content specific to certain ideas considered dangerous, disinformation and misinformation. My guess is actually that, yes, this system has rules (and gets live feeds of them) to block certain political content associated with influence operations. But…

I'm also waiting for more commentary to this original question. I would wager that no it is not possible to detect propaganda effectively. Effective propaganda notably presents only one side to the story and uses various other tactics to send that message home but detecting one-sided but factual statements is impossible with today's natural language processing tools, as they struggle enough with being able to make sense of anything.

On another note, what happens if Facebook is able to detect "propaganda content" but it only silences propaganda it doesn't like? This is what I originally meant.

It's similar to how propaganda works in US media. It's not the news stories themselves, it's all about the news networks which are told from above which stories to run. I can see Facebook operating in a similar fashion today or in the future.

Re: Fighting spam with Haskell

#74
post #73

Earlier quoted context omitted.

The question was serious. Malicious actions could certainly include propaganda operations and indeed there has been a growing investment across social networks to block content specific to certain ideas considered dangerous, disinformation and misinformation. My guess is actually that, yes, this system has rules (and gets live feeds of them) to block certain political content associated with influence operations. But…

I'm also waiting for more commentary to this original question. I would wager that no it is not possible to detect propaganda effectively. Effective propaganda notably presents only one side to the story and uses various other tactics to send that message home but detecting one-sided but factual statements is impossible with today's natural language processing tools, as they struggle enough with being able to make se…

Definitely not all strategic communications could be detected and blocked. However some research has been tasked on the issue. Take "Antisocial Behavior in Online Discussion Communities" (http://arxiv.org/pdf/1504.00680v1.pdf). This paper, though it terms it 'antisocial', studies online influence operations and is mentioned on NATO's propaganda ("strategic communication") centre for excellence Facebook page (https://www.facebook.com/StratComCOE).

The point of having a rule set that can be pushed to like the system described here is that it can be fed information from a centralized task force. Indeed, these systems are used across industries with patterns and rules to detect malware, hacking, and a host of other activity (using formats such as STIX or TAXI).

It's unlikely that Facebook itself would be trying to determine whether a post to some content is propaganda - it's more likely that their automated system will apply the rules it receives from information defense agencies.

As per your other note, the selective censorship of information is absolutely a form a propaganda of its own. Facebook (and the US government) don't have the best history here and have 100% certifiably censored information to prevent effective organization of (for example) May Day protests. I'm not going to go speak about that at length here - hoping to get some technical clarity from those involved.

Re: Fighting spam with Haskell

#75

I learned a few things from this post outside the usual "technical" explanations: 1. They have CORE Haskell contributors on their payroll to deliver this type of project (what this mean is that no... Haskell isn't any better than other language, it's just that they have people who know Haskell very very deep to the compiler level...) 2. In-house custom language eventually does not scale (the EOL is much much much sho…

In the rare cases I would ever downvote something, this would be the case.

This is just complete snark, that misunderstands the general thesis of the article (intentionally?).

Having a core language writer on your team by no means implies that the language in itself is unusable without the designer himself. Your comment explicitly mentions this, and you could really generalise this to any language at all.

The fact that they hired a haskell contributor over a PHP or Ruby contributor was perhaps something you should consider. Or, you know, you read the article, where they answer some of these basic assumptions.

Re: Fighting spam with Haskell

#76

This is impressive, and in line with Haskell's philosophy to "avoid success at all costs". As a mere mortal programmer, who knows a little Haskell, my takeaway is that if you want to run Haskell in at web scale for a a large userbase, you need the language's primarily compiler author to help build the application and to modify the Haskell compiler to make it performant. And you also need your team led by a 20-year-ve…

> Haskell's philosophy to "avoid success at all costs".

How? I think you are misunderstanding the philosophy. Like SPJ once explained, its 'avoid (success at all costs)' and not '(avoid success) at all costs'. It basically means, 'don't compromise on your principles in order to achieve success'.

Re: Fighting spam with Haskell

#77
post #46

For those not involved in the Haskell community, Simon Marlow worked full time on the GHC compiler and specifically run-time system for many years. Along with Simon Peyton-Jones, he's huge in the Haskell world. Marlow also wrote the very excellent "Parallel and Concurrent Programming in Haskell" book. Facebook also employs Bryan O'Sullivan, an epic Haskell library writer (Aeson, Attoparsec, Text, Vector, and on and o…

All correct, but I don't think Bryan O'Sullivan does much haskell these days. He's the manager of some sort of "Developer productivity" team. The Hack programming language came out of his team [1] (tho he wrote a blog post to contrast all the media coverage and say "my people did it, not me! [2]); he spoke about his activity at the last F8 [3]. But he does teach Haskell at Facebook after work :) [4] [1] https://twitt…

I've worked with him to resolve some defects in attoparsec the last few months and I can tell you he is still writing lots of Haskell. He's just in maintenance mode and probably will not start new libraries any time soon.

Re: Fighting spam with Haskell

#78
post #71
post #58

Earlier quoted context omitted.

Can you expand upon what you mean by complete Haskell stack ? What do you feel are currently missing from Yesod ?

Yesod is awesome I can't see myself going back to less typesafe database schema tools. The choice I made seemed like a safer path, perhaps not ideal. The application that I am trying to put together is a realtime websockets application. Therefore, I am using yesod/websockets for the server. For the client, I chose haxe simply because of the targets available making it simpler to write plugins. On one of my irc chats…

Have you tried using Purescript for frontend stuff? There is apparently a purescript-websocket library:

https://github.com/tekerson/purescript-websocket

Re: Fighting spam with Haskell

#79
post #76

This is impressive, and in line with Haskell's philosophy to "avoid success at all costs". As a mere mortal programmer, who knows a little Haskell, my takeaway is that if you want to run Haskell in at web scale for a a large userbase, you need the language's primarily compiler author to help build the application and to modify the Haskell compiler to make it performant. And you also need your team led by a 20-year-ve…

> Haskell's philosophy to "avoid success at all costs". How? I think you are misunderstanding the philosophy. Like SPJ once explained, its 'avoid (success at all costs)' and not '(avoid success) at all costs'. It basically means, 'don't compromise on your principles in order to achieve success'.

avoid $ success at all costs

Re: Fighting spam with Haskell

#80
post #16

Damn you FaceBook. I dislike the underlying premise, the adverts, and (especially) the "real names" policy. But... between great bits of Open Source like React, cool infrastructure projects like this, and a technical culture which seems a whole lot more open than many other big companies, it's getting kind-of hard to go on hating. Walk back a bit from the obsession with open plan offices, and I might just cave...

> it's getting kind-of hard to go on hating.

Don't worry, most of their code base is still written in PHP.

Post reply on HN