This content has moved.
Please go to bagder/TRRprefs for the current incarnation of the docs, and please help us out polish and maintain this documentation!
This content has moved.
Please go to bagder/TRRprefs for the current incarnation of the docs, and please help us out polish and maintain this documentation!
'use strict'; | |
$(document).ready(function(){ | |
var styles = '<style> .twttr140RadialRed { color:red !important; stroke:red !important;} </style>'; | |
$('head').append(styles); | |
var $tweetModal = $('.modal-tweet-form-container .RichEditor-scrollContainer'); | |
var $homeTimeLine = $('#tweet-box-home-timeline'); | |
var tweetMax = 140; |
require "rubygems" | |
require "twitter" | |
# get these from apps.twitter.com | |
CONSUMER_KEY = "foo" | |
CONSUMER_SECRET = "bar" | |
OAUTH_TOKEN = "blee" | |
OAUTH_TOKEN_SECRET = "baz" | |
TWITTER_USER = "your_username" # needs to be the one associated with keys above |
/* | |
This snippet is esssentially the same as being in the Twitter longer tweets test, for tweetdeck. | |
The Tweet length counter is fixed by tricking TweetDeck into counting up to 140 characters, twice, so you'll see 140 | |
instead of 280 in the counter but going over 140 will give you another set of 140 charactrs. | |
*/ | |
TD.services.TwitterClient.prototype.makeTwitterCall=function(b,e,f,g,c,d,h){c=c||function(){};d=d||function(){};b=this.request(b,{method:f,params:Object.assign(e,{weighted_character_count:!0}),processor:g,feedType:h});return b.addCallbacks(function(a){c(a.data)},function(a){d(a.req,"",a.msg,a.req.errors)}),b}; | |
twttrTxt=Object.assign({},twttr.txt,{isInvalidTweet:function(){return!1},getTweetLength:function(x){return x=twttr.txt.getTweetLength.apply(this,arguments),x<140||x/140>2?x:x%140}}); |
Community Summit
Data-Driven Community Management
import mechanize | |
import boto3 | |
import os | |
sns=boto3.client('sns') | |
phone_number='+13128675309' | |
kms = boto3.client('kms', region_name='us-west-2') | |
from base64 import b64decode | |
CC_number=kms.decrypt(CiphertextBlob=b64decode(os.environ['CC_number']))['Plaintext'] |
#!/bin/bash | |
# Set up my PocketCHIP (Debian Linux) | |
# NB It's recommended you set up ssh key auth before running this script | |
# Extra tools -- edit this to suite what you want on your CHIP | |
OPTIONAL_PACKAGES="vim-gtk git build-essential python-serial arduino arduino-mk" | |
# Update | |
# 1st lets fix an occasional but obscure problem during upgrade |
Know how the network clusters. Then when someone's reported, see how the clusters relate. Finding the source isn't too many hops. That'll help find the inciteful players -- the Milos, for example. It won't find people who organize in another medium, but are unrelated on Twitter. But second order analysis of who piles on connects them. Another mode of clustering.
In either case, be more suspicious based on (network) distance.
Then on the product design side: Make a way to separate users, and their first order follows. You report someone & computation checks it out as from a far cluster, and especially if it can find an inciting event? Just block those mentions. Like don't even let the tweet be posted. Gonna mention someone's username? Then you gotta not be a jackass.
It's reactive, mostly automated, but it takes reports seriously. It can eliminate the pile-on effect, especially if you run the algorithm proactively when someone's rate of mentions goes way up.
Also rate-limit non-conversational mentions b
$ uname -r