[HN Gopher] Show HN: SQRL - Anti-spam rules language Twitter acq...
       ___________________________________________________________________
        
       Show HN: SQRL - Anti-spam rules language Twitter acquired in 2018,
       open-sourced
        
       Hey all, author here! This is a demo of the rules engine we built
       to fight spam/abuse on the internet. It was built based on
       learnings from Facebook & Google, while trying to make a language
       that makes it simple for anti-spam analysts to quickly (and safely)
       deploy rules to production.  Unfortunately it looks like the
       Twitter event feed is temporarily down (they're blocking it,
       possibly as part of shutting down the API on Thursday). I have a
       cache of events from a little earlier that I'm going to try play
       through the stream.
        
       Author : qixxiq
       Score  : 103 points
       Date   : 2023-02-06 16:54 UTC (1 days ago)
        
 (HTM) web link (websqrl.vercel.app)
 (TXT) w3m dump (websqrl.vercel.app)
        
       | anigbrowl wrote:
       | I wonder is Twitter even using this any more? I report spam a lot
       | and i's common to find 50+ identical tweets being pumped out at
       | the rate of 10/minute, or tweets that include variation but link
       | to the same piece of media or URL hundreds or even thousands of
       | times. Given the quite fine-grained control in the filter stream
       | API, it's very easy to get streams of spam, so I wonder what
       | their excuse for letting it proliferate.
        
       | jhgg wrote:
       | We used to use Smyte at my place of work prior to the twitter
       | acquisition. Very cool stuff.
       | 
       | Ended up rewriting it in house. We ended up with a SQRL variant
       | that is a restricted type-checked subset of python. It is not
       | python however, just syntactically similar.
        
         | whatupdave wrote:
         | That's super cool. I worked on Smyte and have wanted to replace
         | the language with something very similar to what you're
         | describing. I'd love to learn more about it.
        
       | [deleted]
        
       | wnevets wrote:
       | Not to be confused with SQRL (Secure Quick Reliable Login) [0]
       | 
       | [0] https://www.grc.com/sqrl/sqrl.htm
        
       | BoorishBears wrote:
       | Don't open this in any public setting, there's some _extremely_
       | NSFW images in the stream.
       | 
       | If you're just replaying events, maybe select a few tamer
       | examples to replay...
        
         | qixxiq wrote:
         | Sorry based on some other feedback I was just hacking away on
         | turning off the profanity filter. Didn't think about the
         | profile images (which we're not scanning, but typically is
         | associated with them)
         | 
         | Version I'm pushing up right now has a                 LET
         | ProfanityFilterEnabled := false;
         | 
         | that you'll need to tweak to turn it on.
        
       | qixxiq wrote:
       | I've tried to release this a couple times in the past (you'll
       | notice the git repo has a four year history), and happy it's
       | finally out the door. If anyone is interested in using this, or
       | wants to talk about the strategies I'm happy to help in any way I
       | can.
       | 
       | Proud of what we built at Smyte, and hoping it can find another
       | live outside of Twitter </3. I know there are already a couple of
       | implementations based on SQRL, one at Discord and another at
       | Sumatra.ai[1]
       | 
       | [1] https://docs.sumatra.ai/scowl/
        
       | codetrotter wrote:
       | It says "Compiled! Running", and shows some code in their
       | language, but the other half of the screen is just black for me.
       | 
       | I assume from the text on the page that it is supposed to be
       | showing tweets and some kind of spam rule classification or
       | something.
       | 
       | The Wikipedia Recent Changes demo
       | https://websqrl.vercel.app/wikipedia however did show one element
       | on the right side, with an article title, IPv6 address,
       | timestamp, a piece of quoted text, and "Rules fired". The rule
       | was "FirstEventSeen".
       | 
       | Looking at the code shown for the Wikipedia example, the demo
       | rules are:
       | 
       | - Simple rule to make sure atleast one event shows up in the UI
       | 
       | - Flag any users using profanity (not a great spam rule! but
       | easy)
       | 
       | So I suppose that with a bit more time some events might show up
       | matching the second rule as well.
       | 
       | Meanwhile though,
       | https://www.mediawiki.org/wiki/API:Recent_changes_stream links to
       | https://codepen.io/ottomata/pen/VKNyEw/ which has events flying
       | across the screen in the hundreds. Would be neat with a demo of
       | SQRL also having many events fly by like that, and perhaps with a
       | pause button in case one wanted to stop it and have a look at
       | some of the events.
       | 
       | Perhaps the Twitter demo example works like that when it works.
       | 
       | I see also that the SQRL code in the Twitter demo is also has a
       | rule that is meant to ensure that at least one tweet shows up.
       | 
       | Definitely either something is currently broken, or it is
       | connecting directly to Twitter from the browser perhaps, and
       | Twitter is not letting my browser get any data from their API?
        
         | qixxiq wrote:
         | Ah! Yeah extremely poor timing. The Twitter API has stopped
         | letting me fetch the events. Going to try see if I can fix it
         | quickly.
         | 
         | In the meantime the Wikipedia demo should be working, although
         | it is far less interesting (much less data so not much spam
         | popping up.)
        
           | mdaniel wrote:
           | > Ah! Yeah extremely poor timing. The Twitter API has stopped
           | letting me fetch the events
           | 
           | I thought that was a "known issue," in pursuit of repaying a
           | $44B loan
        
       | revskill wrote:
       | Nomad is really what Docker should become since day 1.
        
       | croes wrote:
       | On Android Chrome mobile I only see the text explanation on the
       | left side of the screen, the right is completely empty.
        
         | qixxiq wrote:
         | This was temporary due to the Twitter API being turned off,
         | should be working now! (With slightly older data)
        
       | rengers wrote:
       | That's a really neat demo!
        
       ___________________________________________________________________
       (page generated 2023-02-07 23:00 UTC)