- The top 5 proactive measures to minimize MySQL downtime
- The small improvements of MySQL 5.6: Duplicate Index Detection
- Keynotes, BOFs, and the Community Networking Reception at Percona Live MySQL Conference and Expo
- Analyzing Slow Query Table in MySQL 5.6
- Percona Toolkit by example – pt-stalk
- innodb_stats_on_metadata and slow queries on INFORMATION_SCHEMA
- [Webinar: SQL Query
In case helpful, this worked for me. | |
I opted for prebuilt for speed and peace of mind - this should work on any architecture of Amazon Linux 2. | |
(_Although not tested , should also work for Amazon Linux 2023_). | |
**Prereq** | |
- visit https://johnvansickle.com/ffmpeg/ to grab the link to the relevant tarball for your specific server architecture. | |
- Use `uname -a` to find out your arch if unknown | |
### TL;DR |
#!/usr/bin/env python | |
# Shameless copy from qwiklab | |
import boto.ec2, os, datetime | |
MAX_SNAPSHOTS = 2 # Number of snapshots to keep | |
# Connect to EC2 in this region | |
region = os.environ.get('EC2_REGION') | |
connection = boto.ec2.connect_to_region(region) |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Google Fonts Preview</title> | |
<style> | |
#preview { | |
margin: 0 auto; | |
text-align: center; | |
width: 80%; | |
} |
When setting up (that's immediately when user enables it in settings) Opera VPN sends few API requests to https://api.surfeasy.com to obtain credentials and proxy IPs, see below, also see The Oprah Proxy.
The browser then talks to a proxy de0.opera-proxy.net
(when VPN location is set to Germany), it's IP address can only be resolved from within Opera when VPN is on, it's 185.108.219.42
(or similar, see below). It's an HTTP/S proxy which requires auth.
When loading a page with Opera VPN enabled, the browser sends a lot of requests to de0.opera-proxy.net
with Proxy-Authorization
request header.
The Proxy-Authorization
header decoded: CC68FE24C34B5B2414FB1DC116342EADA7D5C46B:9B9BE3FAE674A33D1820315F4CC94372926C8210B6AEC0B662EC7CAD611D86A3
(that's sha1(device_id):device_password
, where device_id
and device_password
come from the POST /v2/register_device
API call, please note that this decoded header is from another Opera installation and thus contains
MyModule = MyModule || {} | |
MyModule.Foo = (function() { | |
// declare private methods | |
var _myPrivateMethod = function() { | |
console.log('\t >>>>> I am a private method call <<<<<<') | |
} | |
// expose public methods | |
return { | |
myPublicMethod: function(someArgs) { |
/***************************************** | |
* Usage: | |
* engine = Adqt.TemplateEngine | |
* template = 'My name is <% this.name %>' | |
* hash = { name: 'Yemi' } | |
* | |
* compiled = engine.compile(template) // => "var r=[]; r.push("My name is "); r.push( this.name ); return r.join("");" | |
* engine.render(compiled, hash) // => My name is Yemi | |
* | |
* engine.render(compiled, { name: 'Mike' }) // => My name is Mike |
<!DOCTYPE html> | |
<html> | |
<head> | |
<style> | |
/* How to select a range of children | |
* (Here, 3rd-7th children, inclusive): | |
*/ | |
ul li:nth-child(n+3):nth-child(-n+7) { | |
outline: 1px solid #0f0; | |
} |
2.0.0-p481 :001 > OpenSSL::SSL::SSLContext::DEFAULT_PARAMS
=> {:ssl_version=>"SSLv23", :verify_mode=>1, :ciphers=>"ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW", :options=>-2147482625}
2.0.0-p481 :002 > rating = JSON.parse(RestClient::Resource.new("https://www.howsmyssl.com/a/check" ).get)['rating']
=> "Bad"
/* | |
Automate SVG Sprite Background Image Variations with a SCSS Mixin | |
- see egghead.io video: https://egghead.io/lessons/css-automate-svg-sprite-background-image-variations-with-a-scss-mixin | |
• This utilises a sass mixing to generate the necessary code for the icons within the sprite | |
*/ | |
$ico-width-default: 3em; | |
$ico-width-small: 2em; | |
$icons: plug, star, umbrella; |