Setup HA + Floating IP + BGP on Vultr on Ubuntu 17.10

ok, recently i am trying to setup a low cost HA on the cloud. And i decide to go with Vultr since they provide $2.5 machine for me to test and play around (although i can only spam 2 of such machine) Here i will drop down how i did it so i won't forget and you can copy it if you want.

Initial Cloud VPS Setup

ok here, you will need at least 3 machines, i'll call them the following with the spec i've used to create this setup

  • Ubuntu 17.10 x64 1024 MB Server - 192.168.23.10 [Worker1]
  • Ubuntu 17.10 x64 512 MB Server - 192.168.23.11 [Worker2]
  • Ubuntu 17.10 x64 512 MB Server - 192.168.23.11 [Worker3]
  • Floating IP - 192.168.10.10

i name them worker1, worker2 and worker3 as show above. Now, the reason why i choose Ubuntu 17 instead of CoreOS is purely because CoreOS is stuck at Docker 1.12 the time i am writing and you need to install its Alpha version to get Docker 17.09-ce

Note: You should not attach the floating IP to any particular instance via your control panel. If an IP is attached via the control panel, high availability will not function properly.

Installing lastest
Docker on Ubuntu 17.10

Fire the following comment on each machine,

sudo apt-get install     apt-transport-https     ca-certificates     curl     software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce -y

and if it doesn't work, most likely docker doesn't support your newest Ubuntu and you have to switch it to a lower one as show below,

vi /etc/apt/sources.list

change artful to zesty

deb [arch=amd64] https://download.docker.com/linux/ubuntu zesty stable

then go ahead and install again.
Once its done, check the version. You should get something like this below,

[email protected]:/etc/bird# docker -v
Docker version 17.09.0-ce, build afdb6d4

once this is done, we are going to install blue for BGP

Installing and Configuring BGP using Bird in Ubuntu 17.10

First, do yourself a favor and add its repo

sudo add-apt-repository ppa:cz.nic-labs/bird
apt-get update -y

once this is done, you'll get an error because it doesn't support Ubuntu 17.10 yet. Hence, gonna go downwards again.

vi /etc/apt/sources.list.d/cz_nic-labs-ubuntu-bird-artful.list

change it to the below,

deb http://ppa.launchpad.net/cz.nic-labs/bird/ubuntu xenial main

save it and try to install bird below,

sudo apt-get install bird

And we have bird installed. Now to configure it, we will paste the following into /etc/bird/bird.conf

log "/var/log/bird" all;

router id 192.168.23.10; # instance ip

protocol device
{
scan time 60;
}

protocol direct
{
interface "dummy1";
}

protocol bgp vultr
{
local as 11512; #instances ASN number
source address 192.168.23.10; #instance ip
import none;
export all;
graceful restart on;
next hop self;
multihop 2;
neighbor 169.254.169.252 as 64019; #vultr IP and ASN number
password "xC4c2EGaXuP7a74!"; #vulr password
}

then proceed to restart

service bird restart
service bird status
● bird.service - BIRD Internet Routing Daemon (IPv4)
   Loaded: loaded (/lib/systemd/system/bird.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-10-30 10:30:51 UTC; 19min ago
  Process: 5140 ExecStartPre=/usr/sbin/bird -p (code=exited, status=0/SUCCESS)
  Process: 5130 ExecStartPre=/usr/lib/bird/prepare-environment (code=exited, status=0/SUCCESS)
 Main PID: 5145 (bird)
    Tasks: 1 (limit: 4915)
   Memory: 640.0K
      CPU: 53ms
   CGroup: /system.slice/bird.service
           └─5145 /usr/sbin/bird -f -u bird -g bird

Oct 30 10:30:51 worker_a systemd[1]: Starting BIRD Internet Routing Daemon (IPv4)...
Oct 30 10:30:51 worker_a systemd[1]: Started BIRD Internet Routing Daemon (IPv4).

now make sure you have the above, if not, its most likely because your log permission is set as root, if that's the case, try the below,

chown bird:bird /var/log/bird

and restart bird again. Ensure your firewall isn't blocking port 179 for BGP to communicate with your machine. Once this is done, you can test it out externally via telnet

telnet 192.168.23.10 179
Trying 192.168.23.10...
Connected to 192.168.23.10.vultr.com.
Escape character is '^]'.
Connection closed by foreign host.

you should get something like this. Now, the most important part if not you will get the following

birdc show proto all vultr
BIRD 1.6.3 ready.
name     proto    table    state  since       info
vultr    BGP      master   start  13:49:30    Idle          Received: Bad peer AS
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 0 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:              0          0          0          0          0
    Import withdraws:            0          0        ---          0          0
    Export updates:              0          0          0        ---          0
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Idle
    Neighbor address: 169.254.169.254
    Neighbor AS:      64515
    Error wait:       10/300
    Last error:       Received: Bad peer AS

Setup Dummy IP Configuration

run the following to create a dummy IP configuration for your Bird to forward to

ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.168.10.10

where 192.168.10.10 is the floating IP. Now you can test whether the above setup is correct with the following

ip addr show dev dummy1
6: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 4e:79:76:36:6d:b0 brd ff:ff:ff:ff:ff:ff
    inet 45.77.110.78/32 scope global dummy1
       valid_lft forever preferred_lft forever
    inet6 fe80::4c79:76ff:fe36:6db0/64 scope link
       valid_lft forever preferred_lft forever

Now, restart your Bird so that it gets the above dummy. To set it persistently, do the following

vi /etc/rc.local
ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.168.10.10/32

then restart or reboot your machine

service bird restart

Once this is done, you should get the following,

birdc show proto all vultr
BIRD 1.6.3 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     14:44:15    Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:              0          0          0          0          0
    Import withdraws:            0          0        ---          0          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      64515
    Neighbor ID:      208.167.241.119
    Neighbor caps:    refresh restart-aware AS4 add-path-rx
    Session:          external multihop AS4
    Source address:   45.77.78.111
    Hold timer:       132/180
    Keepalive timer:  29/60

Once you get this, all should be good. Try it out.

Share

328 Lines of WordPress Ping List for fastest indexing of new post for 2015

Wondering how each website gets their website indexed by Google and other search engine quick and fast? In WordPress, all you need to do is to place these WordPress ping list to the Settings->Writing->Update Services as shown below,

Screen Shot 2015-09-20 at 2.46.24 PM

then copy the list below and paste it into the textarea

http://rpc.pingomatic.com
http://1470.net/api/ping
http://a2b.cc/setloc/bp.a2b
http://api.feedster.com/ping
http://api.moreover.com/ping
http://api.moreover.com/RPC2
http://api.my.yahoo.co.jp/RPC2
http://api.my.yahoo.com/ping
http://api.my.yahoo.com/RPC2
http://api.my.yahoo.com/rss/ping
http://audiorpc.weblogs.com/RPC2
http://bblog.com/ping.php
http://bing.com/webmaster/ping.aspx
http://bitacoles.net/notificacio.php
http://bitacoles.net/ping.php
http://bitacoras.net/ping
http://blo.gs/ping.php
http://blog.goo.ne.jp
http://blog.goo.ne.jp/XMLRPC
http://blog.with2.net/ping.php
http://blog.youdao.com/ping/RPC2
http://blogbot.dk/io/xml-rpc.php
http://blogdb.jp
http://blogdb.jp/xmlrpc
http://blogdigger.com/RPC2
http://blogmatcher.com/
http://blogmatcher.com/u.php
http://blogoole.com/ping/
http://blogoon.net/ping/
http://blogpeople.net/ping
http://blogpeople.net/servlet/weblogUpdates
http://blogping.unidatum.com/RPC2
http://blogpingr.de/ping/rpc2
http://blogroots.com/tb_populi.blog?id=1
http://blogs.yandex.ru/
http://blogsearch.google.ae/ping/RPC2
http://blogsearch.google.at/ping/RPC2
http://blogsearch.google.be/ping/RPC2
http://blogsearch.google.bg/ping/RPC2
http://blogsearch.google.ca/ping/RPC2
http://blogsearch.google.ch/ping/RPC2
http://blogsearch.google.cl/ping/RPC2
http://blogsearch.google.co.cr/ping/RPC2
http://blogsearch.google.co.hu/ping/RPC2
http://blogsearch.google.co.id/ping/RPC2
http://blogsearch.google.co.il/ping/RPC2
http://blogsearch.google.co.in/ping/RPC2
http://blogsearch.google.co.it/ping/RPC2
http://blogsearch.google.co.jp/ping/RPC2
http://blogsearch.google.co.ma/ping/RPC2
http://blogsearch.google.co.nz/ping/RPC2
http://blogsearch.google.co.th/ping/RPC2
http://blogsearch.google.co.uk/ping/RPC2
http://blogsearch.google.co.ve/ping/RPC2
http://blogsearch.google.co.za/ping/RPC2
http://blogsearch.google.com.ar/ping/RPC2
http://blogsearch.google.com.au/ping/RPC2
http://blogsearch.google.com.br/ping/RPC2
http://blogsearch.google.com.co/ping/RPC2
http://blogsearch.google.com.do/ping/RPC2
http://blogsearch.google.com.mx/ping/RPC2
http://blogsearch.google.com.my/ping/RPC2
http://blogsearch.google.com.pe/ping/RPC2
http://blogsearch.google.com.sa/ping/RPC2
http://blogsearch.google.com.sg/ping/RPC2
http://blogsearch.google.com.tr/ping/RPC2
http://blogsearch.google.com.tw/ping/RPC2
http://blogsearch.google.com.ua/ping/RPC2
http://blogsearch.google.com.uy/ping/RPC2
http://blogsearch.google.com.vn/ping/RPC2
http://blogsearch.google.com/ping/RPC2
http://blogsearch.google.de/ping/RPC2
http://blogsearch.google.es/ping/RPC2
http://blogsearch.google.fi/ping/RPC2
http://blogsearch.google.fr/ping/RPC2
http://blogsearch.google.gr/ping/RPC2
http://blogsearch.google.hr/ping/RPC2
http://blogsearch.google.ie/ping/RPC2
http://blogsearch.google.in/ping/RPC2
http://blogsearch.google.it/ping/RPC2
http://blogsearch.google.jp/ping/RPC2
http://blogsearch.google.ki/ping/RPC2
http://blogsearch.google.kz/ping/RPC2
http://blogsearch.google.la/ping/RPC2
http://blogsearch.google.li/ping/RPC2
http://blogsearch.google.lk/ping/RPC2
http://blogsearch.google.lt/ping/RPC2
http://blogsearch.google.lu/ping/RPC2
http://blogsearch.google.md/ping/RPC2
http://blogsearch.google.mn/ping/RPC2
http://blogsearch.google.ms/ping/RPC2
http://blogsearch.google.mu/ping/RPC2
http://blogsearch.google.mv/ping/RPC2
http://blogsearch.google.mw/ping/RPC2
http://blogsearch.google.nl/ping/RPC2
http://blogsearch.google.no/ping/RPC2
http://blogsearch.google.nr/ping/RPC2
http://blogsearch.google.nu/ping/RPC2
http://blogsearch.google.pl/ping/RPC2
http://blogsearch.google.pn/ping/RPC2
http://blogsearch.google.pt/ping/RPC2
http://blogsearch.google.ro/ping/RPC2
http://blogsearch.google.ru/ping/RPC2
http://blogsearch.google.rw/ping/RPC2
http://blogsearch.google.sc/ping/RPC2
http://blogsearch.google.se/ping/RPC2
http://blogsearch.google.sh/ping/RPC2
http://blogsearch.google.si/ping/RPC2
http://blogsearch.google.sk/ping/RPC2
http://blogsearch.google.sm/ping/RPC2
http://blogsearch.google.sn/ping/RPC2
http://blogsearch.google.st/ping/RPC2
http://blogsearch.google.tk/ping/RPC2
http://blogsearch.google.tl/ping/RPC2
http://blogsearch.google.tm/ping/RPC2
http://blogsearch.google.to/ping/RPC2
http://blogsearch.google.tp/ping/RPC2
http://blogsearch.google.tt/ping/RPC2
http://blogsearch.google.tw/ping/RPC2
http://blogsearch.google.us/ping/RPC2
http://blogsearch.google.vg/ping/RPC2
http://blogsearch.google.vu/ping/RPC2
http://blogsearch.google.ws/ping/RPC2
http://blogshares.com/rpc.php
http://blogsnow.com/ping
http://blogstreet.com/xrbin/xmlrpc.cgi
http://blogupdate.org/ping/
http://bulkfeeds.net
http://bulkfeeds.net/rpc
http://catapings.com/ping.php
http://coreblog.org/ping
http://coreblog.org/ping/
http://effbot.org/rpc/ping.cgi
http://feedburner.google.com/fb/a/pingSubmit?bloglink=http%3A%2F%2Fdomainname.com
http://feedburner.google.com/fb/a/pingSubmit?bloglink=http%3A%2F%2Fyourwebsite.com
http://feedsky.com/api/RPC2
http://fgiasson.com/pings/ping.php
http://geourl.org/ping
http://geourl.org/ping/
http://hamo-search.com/ping.php
http://holycowdude.com/rpc/ping
http://holycowdude.com/rpc/ping/
http://imblogs.net/ping/
http://ipings.com
http://lasermemory.com/lsrpc/
http://mapufacture.com/georss/ping/api
http://mod-pubsub.org
http://mod-pubsub.org/kn_apps/blogchatt
http://mod-pubsub.org/knapps/blogchatt
http://mod-pubsub.org/ping.php
http://news2paper.com/ping
http://newsblog.jungleboots.org/ping.php
http://newsisfree.com/RPCCloud
http://packetmonster.net/xmlrpc.php
http://ping.amagle.com
http://ping.amagle.com/
http://ping.bitacoras.com
http://ping.bitacoras.com/
http://ping.blo.gs
http://ping.blo.gs/
http://ping.blogg.de/
http://ping.bloggers.jp/rpc
http://ping.bloggers.jp/rpc/
http://ping.blogmura.jp/rpc/
http://ping.blogoon.net
http://ping.blogoon.net/
http://ping.blogs.yandex.ru/RPC2
http://ping.cocolog-nifty.com/xmlrpc
http://ping.exblog.jp/xmlrpc
http://ping.fakapster.com/rpc
http://ping.fc2.com
http://ping.fc2.com/
http://ping.feedburner.com
http://ping.feeds.yahoo.com/RPC2/
http://ping.groove-cast.com/ping.php
http://ping.kutsulog.net
http://ping.kutsulog.net/
http://ping.myblog.jp
http://ping.namaan.net/rpc
http://ping.pubsub.com/ping
http://ping.rootblog.com/rpc.php
http://ping.rss.drecom.jp
http://ping.rss.drecom.jp/
http://ping.snap.com/ping/RPC2
http://ping.speenee.com/xmlrpc
http://ping.syndic8.com/xmlrpc.php
http://ping.weblogalot.com
http://ping.weblogalot.com/rpc.php
http://ping.weblogs.se
http://ping.weblogs.se/
http://ping.wordblog.de
http://ping.wordblog.de/
http://pinger.blogflux.com/rpc
http://pingoat.com/
http://pingoat.com/goat/RPC2
http://pingoo.jp/ping/
http://pingqueue.com/rpc/
http://popdex.com/addsite.php
http://r.hatena.ne.jp/rpc
http://rcs.datashed.net
http://rcs.datashed.net/RPC2
http://rcs.datashed.net/RPC2/
http://rcs.salon.com/RPC2
http://rpc.blogbuzzmachine.com/RPC2
http://rpc.bloggerei.de/
http://rpc.bloggerei.de/ping/
http://rpc.blogrolling.com
http://rpc.blogrolling.com/pinger
http://rpc.blogrolling.com/pinger/
http://rpc.britblog.com
http://rpc.britblog.com/
http://rpc.icerocket.com:10080
http://rpc.icerocket.com:10080/
http://rpc.newsgator.com/
http://rpc.odiogo.com/ping/
http://rpc.pingomatic.com
http://rpc.pingomatic.com/
http://rpc.reader.livedoor.com/ping
http://rpc.tailrank.com
http://rpc.tailrank.com/feedburner/RPC2
http://rpc.technorati.com/ping
http://rpc.technorati.com/rpc/ping
http://rpc.technorati.jp/rpc/ping
http://rpc.twingly.com
http://rpc.twingly.com/
http://rpc.urlfan.com/ping
http://rpc.weblogs.com
http://rpc.weblogs.com/pingSiteForm?name=YourWebsite&url=http%3A%2F%2Fyourwebsite.com
http://rpc.weblogs.com/pingSiteForm?name=YourWebsite&url=http%3A%2F%domainname.com
http://rpc.weblogs.com/RPC2
http://rpc.wpkeys.com
http://serenebach.net/rep.cgi
http://services.newsgator.com/ngws/xmlrpcping.aspx
http://signup.alerts.msn.com/alerts-PREP/submitPingExtended.doz
http://snipsnap.org/RPC2
http://submitblogs.com/
http://syndic8.com/xmlrpc.php
http://thingamablog.sourceforge.net/ping.php
http://topicexchange.com
http://topicexchange.com/RPC2
http://topicexchange.com/RPC2eping.php
http://trackback.bakeinu.jp/bakeping.php
http://wasalive.com/ping/
http://weblogues.com/ping/
http://weblogues.com/RPC/
http://www.2bet.com/
http://www.2rss.com
http://www.a2b.cc
http://www.a2b.cc/setloc/bp.a2b
http://www.bitacoles.net/ping.php
http://www.blogarama.com/
http://www.blogbits.com/
http://www.blogcatalog.com/
http://www.blogdex.net/
http://www.blogdigger.com
http://www.blogdigger.com/RPC2
http://www.blogexplosion.com
http://www.bloggernity.com/
http://www.bloglines.com/ping
http://www.blogoole.com/ping/
http://www.blogoon.net/ping
http://www.blogoon.net/ping/
http://www.blogpeople.net
http://www.blogpeople.net/ping
http://www.blogpeople.net/servlet/weblogUpdates
http://www.blogpulse.com/submit.html
http://www.blogroots.com
http://www.blogroots.com/tb_populi.blog?id=1
http://www.blogroots.com/tbpopuli.blog?id=1
http://www.blogsdominicanos.com/ping
http://www.blogsdominicanos.com/ping/
http://www.blogshares.com
http://www.blogshares.com/rpc.php
http://www.blogsnow.com/ping
http://www.blogstreet.com
http://www.blogstreet.com/xrbin/xmlrpc.cgi
http://www.blogwise.com/
http://www.catapings.com/ping.php
http://www.feedblitz.com/f/f.fbz?XmlPing
http://www.feedsky.com/api/RPC2
http://www.feedster.com/
http://www.feedsubmitter.com
http://www.globeofblogs.com/
http://www.holycowdude.com/rpc/ping/
http://www.imblogs.net/ping/
http://www.lasermemory.com
http://www.lasermemory.com/lsrpc
http://www.lasermemory.com/lsrpc/
http://www.linksboy.com/
http://www.lsblogs.com/
http://www.mod-pubsub.org/kn_apps/blogchatter/ping.php
http://www.mod-pubsub.org/knapps/blogchatter/ping.php
http://www.mod-pubsub.org/ping.php
http://www.mod-pubsub.orgping.php
http://www.newsisfree.com
http://www.newsisfree.com/RPC
http://www.newsisfree.com/RPCCloud
http://www.newsisfree.com/xmlrpctest.php
http://www.octora.com/add_rss.php
http://www.ohlinks.com
http://www.pingerati.net
http://www.pingmyblog.com
http://www.popdex.com
http://www.popdex.com/addsite.php
http://www.readablog.com/
http://www.rogerlinks.com/linker/index.shtml
http://www.snipsnap.org
http://www.snipsnap.org/RPC2
http://www.syndic8.com/xmlrpc.php
http://www.wasalive.com/ping/
http://www.weblogalot.com/ping
http://www.weblogs.com/RPC2
http://www.weblogues.com
http://www.weblogues.com/RPC
http://www.weblogues.com/RPC/
http://www.xianguo.com/xmlrpc/ping.php
http://www.zhuaxia.com/rpc/server.php
http://xianguo.com/xmlrpc/ping.php
http://xmlrpc.blogg.de
http://xmlrpc.blogg.de/
http://xmlrpc.bloggernetz.de/RPC2
http://xping.pubsub.com/ping
http://xping.pubsub.com/ping/
http://xping.pubsub.comping/
http://zhuaxia.com/rpc/server.php
http://zing.zingfast.com
https://blogs.yandex.ru/pings/
https://ping.blogs.yandex.ru/RPC2

Once you do this, your WordPress new post will ping all the above list so that other search engines are notify and can come fetch your new content asap!

Share

Facebook – permission is reserved for apps that replicate the Facebook client on platforms without a native client

If you are getting an error from Facebook when applying for extended permission such as "user_groups" and u get the following error

The user_groups permission is reserved for apps that replicate the Facebook client on platforms without a native client. You can find more information here.

chances are you are pretty f**k up by Facebook. What does this means and what the hell is this? Google it around and i couldn't find a solution to this issue but at the end i manage to ask people in the Facebook Developers group and this is what i got.

@Credit to its respective @Andreas Teufel and @Christoph Broeckmann

Christoph Broeckmann If there is a device like say a mobile phone that does not have a native Facebook client, and you want to write one that brings FB functionality to that device, then your app can get that permission. Otherwise, it can’t.
Or to put it short: “Normal” apps will not get that permission granted.

and

Andreas Teufel ...or a TV, for example.

Putting it in short, if you are getting the error "permission is reserved for apps that replicate the Facebook client on platforms without a native client", the chances of you getting your permission approve because you need it for an app or website are pretty close to never.

This pretty much means that Facebook is trying very hard to protect its data and its platform by restricting your access to their data as much as possible. In that case, i really don't see how and why people will want to create a facebook app when they are kinda restricted in everything. And did you know if you read up their platform policy you'll find pretty interesting stuff to make you stop developing your facebook app almost immediately! Here's a little snippets,

Screen Shot 2014-07-15 at 5.33.34 PM

well, as you can see, its pretty disappointing looking at how much time you spend building an app with Facebook and get slap on your face when they decides to change their policy to protect their data! Guess, it's time to move on to other platform! ha!

Share

Average website response time bash script

Ok i make a little bash script to test a particular website response time. This is done via the command line through a bash script. Anyway, here's the script code.

#!/bin/bash

CURL="/usr/bin/curl"
echo -n "Please pass the url you want to measure: "
read url
URL="$url"
count=1;
total_connect=0
total_start=0 
total_time=0
	echo " Time_Connect Time_startTransfer Time_total ";
while [ $count -le 100 ]
do
	result=`$CURL -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} $URL`
	echo $result;

	var=$(echo $result | awk -F":" '{print $1, $2, $3}')
	set -- $var

	total_connect=`echo "scale=2; $total_connect + $1"  | bc`;
	total_start=`echo "scale=2; $total_start + $2" | bc`;
	total_time=`echo "scale=2; $total_time + $3" | bc`;
	count=$((count+1))
done
echo "average time connect: `echo "scale=2; $total_connect/100" | bc`";
echo "average time start: `echo "scale=2; $total_start/100" | bc`";
echo "average time taken: `echo "scale=2; $total_time/100" | bc`";

What the above does is to prompt you for a url to test and run it for 100 times on your machine and print out the average response time from the website server to your machine.

Assuming you save the above file in 'shell', you will call the above script via 'bash ./shell' and it will prompt you for an url and start executing the url for 100 times and gives you an average response time.

P.S: the above script required you to install bc, you can install via yum install bc or sudo apt-get install bc 😉

Share

(#100) The status you are trying to publish is a duplicate of, or too similar to, one that we recently posted to Twitter

This is the solutions to everyone out there that faces this error message. the solutions is copied from here getsatisfaction.com

If you go to
http://www.facebook.com/twitter
and remove the link to twitter from the affected wall (Click on "Unlink from Twitter"). Then you should be able to get the updates that previously failed, to your fan page again.

i don't take credit for this but its kind of hard to find this as well so here goes!

Share