Instantly share code, notes, and snippets.

View corporate-cla.txt
Thank you for your interest in Open SDSP (the
"Open Specification") and Ably Real-time Ltd (the "Project Sponsor").
In order to clarify the intellectual property license granted with
Contributions from any person or entity, the Project Sponsor
must have a Contributor License Agreement (CLA) on file that has been
signed by each Contributor, indicating agreement to the license terms
below. This license is for your protection as a Contributor as well
as the protection of the Project Sponsor and its users; it does not
change your rights to use your own Contributions for any other purpose.

Unfortunately we're finding it really hard to find good distributed systems engineers at Ably, a distributed realtime data delivery platform.

We know a lot of you out there probably know great people who love solving truly hard distributed problems with a distributed team of superb engineers.

If you know anyone who fits the bill, wants to work remotely and is based in Europe (or wants to work on-site in London), we'll give you $3,000 simply for the referral if we end up employing them.

Follow these steps to earn $3,000 for one minute of your time:

  1. Contact the people you think are suitable for our Distributed Systems Engineer role and tell them to apply on that page
  2. Email us at with the name or
# Set up the Heroku scheduler to run this command every hour. See example setup at
# Requires env vars to be set in Heroku with `heroku config:set`:
# - HEROKU_APP_NAME: this is just the app name in Heroku, i.e. `heroku apps` will list all apps you have access to
# - HEROKU_CLI_USER: Once Heroku CLI is authenticated (, check `cat .netrc` (or `_netrc` on Windows),
# look for `login` under `machine`
# - HEROKU_CLI_TOKEN: As above, but use the `password` field
View consume-bunny.rb
require "bunny"
require "json"
require "securerandom"
QUEUE = "appId:queue"
VHOST = 'shared'
def consume
consumer_conn =
hostname: "",
#!/usr/bin/env python
# The contents of this file are subject to the Mozilla Public License
# Version 1.1 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
# License for the specific language governing rights and limitations
View gist:278e5628ec635466d8abfb8c81b2b18c
Europe - Andorra
Asia - Dubai
Asia - Kabul
America - Antigua
America - Anguilla
Europe - Tirane
Asia - Yerevan
Africa - Luanda
Antarctica - McMurdo
Antarctica - Casey
View channel-attach-example.js
function reattach(channel) {
/* Example when using presence on the channel */
/* Connection state changes can trigger channels to become detached
Automatically re-attach channels, nothing will happen if already attached */
client.connection.on('connected', function() {
for (let channelName in client.channels.all) {
View messages.js
/* Published message from client following a call to @perform, see */
/* Published message from client following a call to @perform, see */
{count: "2", broadcastAt: 1458940410054.843}
/* No ACK/NACK for the published message, how do you know it arrived? */

Keybase proof

I hereby claim:

  • I am mattheworiordan on github.
  • I am mattheworiordan ( on keybase.
  • I have a public key whose fingerprint is F4E4 B4C8 C3FB 6C18 61D3 72D1 256B 10AD 964D 3E59

To claim this, I am signing this object:

View by-country.csv
country min (ms) max (ms)
United Arab Emirates 128 207
Argentina 159 224.5
Austria 17 70
Australia 5 230
Belgium 15 73
Brazil 10 180
Canada 13 73.5
Switzerland 17 91
China, People's Republic of 80 244