Skip to content

Instantly share code, notes, and snippets.

# Imported old TTYtter config for oysttyer.
# Now using OAuth, with key in .ttytterkey
ansi=1
ssl=1
vcheck=1
# Not needed with the streaming API.
# mentions=1
verify=1
dostream=1
@johndalton
johndalton / replication_shuffle.md
Last active November 12, 2017 11:41
Doing the Replication Shuffle

Doing the Replication Shuffle

Here's the scenario. You have three hosts, a master (M) and two replicas (R and S).o

    M
   / \
  R   S

You want to move the replica S so that its master is R, like so:

#Remastering MySQL Replicas

The scenario here is that we have two replicas, A and B, which both share a master M. We want to make B a replica of A, so that the replication chain goes M > A > B. A prerequesite is that A needs to have binary logging enabled with log_slave_updates turned on, and A should not be receiving any local writes other than from replication.

In order to achieve the switch we need to have a single point in time at which we know both A's replicaton position relative to the master M, and A's own binary log position. Then we need to make B reach the exact same position relative to the master, at which point we can change master to point at the corresponding coordinates on A.

This procedure involves stopping and restarting replication on both replicas; very briefly on A, but a couple of times on B. It shouldn't be performed on hosts that are especially sensitive to replication delay. However even when carrying out this process by hand the delay shouldn't exceed more than a few minutes,

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#!/bin/bash
ksp="$HOME/Library/Application Support/Steam/SteamApps/common/Kerbal Space Program/KSP.app/Contents"
unity="/Applications/Unity/Unity.app/Contents/PlaybackEngines/MacStandaloneSupport/Variations/macosx64_nondevelopment_mono/UnityPlayer.app/Contents"
transfer() {
# Take an optional destination argument in case the destination file has a different name.
if [ "Z$2" != "Z" ]
then
dest=$2
oysttyer(13252,0x7fff7e679000) malloc: *** error for object 0x7fef3cb0f228: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
<html>
<head>
<title>OMGCIRCLES!!1!</title>
</head>
<body>
<canvas id="myCanvas" width="800" height="600">
Fallback content, in case the browser does not support Canvas.
</canvas>
<script>
var myCanvas, context;
@johndalton
johndalton / gist:5682973
Created May 31, 2013 04:39
Twitter bots repeatedly favouriting tweets as a way to generate notifications and get followers?
>>> @Rementer_07035 just favorited @johndalton's tweet: "I wouldn't even know who Tom Waterhouse was if not for all the whingeing. You interfere with sportsball at your peril in this country."
u2> <keithpitt> Get a logo designed in the style of a Japanese TV Show on @MicrolancerBeta https://www.microlancer.com/explore/logo-design/1114-logo-design-for-tv-show/preview/7229
>>> @Rementer_07035 just unfavorited @johndalton's tweet: "I wouldn't even know who Tom Waterhouse was if not for all the whingeing. You interfere with sportsball at your peril in this country."
>>> @Rementer_07035 just favorited @johndalton's tweet: "I wouldn't even know who Tom Waterhouse was if not for all the whingeing. You interfere with sportsball at your peril in this country."
u3> <%BrionyKidd> RT @AWG_1: We were at @ScreenNSW & @ScreenAustralia's #fword female storytelling @vivid_ideas event on Wed - if you missed it: http://www.youtube.com/user/ScreenNSW/videos
>>> @Rementer_07035 just unfavorited @johndalton's tweet: "I wouldn't ev
D, [2013-05-15T20:15:07.836205 #6104] DEBUG -- : API call path: "dna", data: {}
E, [2013-05-15T20:15:07.968689 #6104] ERROR -- : Failed to fetch DNA: Waiting for instances to be ready: [nil]: {"instance_ids"=>[nil]}
E, [2013-05-15T20:15:07.969028 #6104] ERROR -- : Got an exception: API request failed: RestClient::ServiceUnavailable: 503 Service Unavailable
D, [2013-05-15T20:15:07.969380 #6104] DEBUG -- : /usr/local/ey_resin/ruby/lib/ruby/gems/1.8/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb:48:in `return!'
/usr/local/ey_resin/ruby/lib/ruby/gems/1.8/gems/rest-client-1.6.7/lib/restclient/request.rb:230:in `process_result'
/usr/local/ey_resin/ruby/lib/ruby/gems/1.8/gems/rest-client-1.6.7/lib/restclient/request.rb:178:in `transmit'
/usr/local/ey_resin/ruby/lib/ruby/1.8/net/http.rb:543:in `start'
/usr/local/ey_resin/ruby/lib/ruby/gems/1.8/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in `transmit'
/usr/local/ey_resin/ruby/lib/ruby/gems/1.8/gems/rest-client-1.6.7/lib/restclient/reques
@johndalton
johndalton / gist:3798178
Created September 28, 2012 06:03
caldav_kqueue respawning on OSX Mountain Lion
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] Log opened.
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] twistd 12.0.0 (/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python 2.7.2) starting up.
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] reactor class: twext.internet.kqreactor.KQueueReactor.
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] AMPPushNotifierFactory starting on 62311
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] InternalNotificationFactory starting on 62309
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] set uid/gid 93/93
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] Traceback (most recent call last):
2012-09-28 15:59:57+1000 [-] [notifications] 2012-09-28 15:59:57+1000 [-] File "/usr/bin/twistd", line 14, in <module>
2012-09-28 15:59:57+1000 [-] [notifications