The guy with rigs named BAREKET is also a SCAM rig owner as well. I had only one rig and 2 tickets about this rig, so you can imagine how it is hard for support to find out the provider name and the rig name. The good thing is: I lost only about 20$ on this shit. So, don't buy anything at leaserig.net because you will be SCAMMED by SCAMMERS.

Постоянно отваливается - если не указать stateful encryption в настройках.
Нет пинга при сплите (использовать это соединение только для ресурсов в этой сети) потому, что в Network Manager баг, и надо маршруты прописывать ручками
https://bugs.launchpad.net/ubuntu/+source/network-manager-pptp/+bug/953861
Прикрепляю картиночки, чтоб не забыть этот ужас грёбаный.
Сначала сделай, чтобы было. Затем — чтобы было красиво. Затем — чтобы было быстро.
Особенно в юности следует остерегаться приписывания себе избытка сил, которого на самом деле нет.
Данное сообщение то появлялось, то исчезало, без видимых причин. Проблема появилась из-за использования VGA-удлиннителя на мониторе и с заменой пары VGA-кабель->VGA удлиннитель на простой длинный VGA провод, проблема исчезла.
Лучше задать глупый вопрос, чем сделать глупость.
Весной 2012 года разразился скандал, когда отец двенадцатилетней школьницы пожаловался, что его дочери присылают буклеты с предложениями для беременных. Когда сеть Target уже приготовилась признавать ошибку и извиняться перед обиженными покупателями, выяснилось, что девочка действительно была беременна, хотя ни она, ни ее отец на момент жалобы не знали об этом. Алгоритм отловил изменения в поведении покупательницы, характерные для беременных женщин.
I got an F and a C, and I got a K too
And the only thing that's missing is you
Наиболее перспективен, на мой взгляд, JSONSelect поскольку всё остальное мало понятная неудобная хрень. Но json:select() ешё не доделан до конца, там не так много фич, поэтому мы будем страдать.
json:select() http://jsonselect.org/#tryit
".author .drinkPref :first-child"
{
"author": {
"name": {
"first": "Lloyd",
"last": "Hilaiel"
},
"drinkPref": [
"whiskey",
"beer",
"wine"
],
},
"thing": "JSONSelect site",
"license": "(cc) BY-SA"
}
Result: "whiskey"
JSONSelect = require("JSONSelect")
JSONSelect.forEach(".points_to_delete .id",args,function(){
result.push(arguments)
})
jsel https://github.com/dragonworx/jsel
dom.select('count(//*)') === 5;
dom.select('@title') === 'abc';
dom.select('//children/*[1]/@foo') === 'bar';
dom.select('count(//@foo)') === 2;
dom.select('//@foo[2]') === 555;
dom.select('count(//children//*)') === 2;
dom.select('//children/*[2]') === 'val';
dom.select('name(//children/*[2])') === 'string';
dom.select('name(*/*[2])') === 'subData';
dom.select('*/children/*[2]/text()') === 'val';
dom.selectAll('//@foo') === ['bar', 555];
JSPath https://github.com/dfilatov/jspath
Quick example
JSPath.apply(
'.automobiles{.maker === "Honda" && .year > 2009}.model',
{
"automobiles" : [
{ "maker" : "Nissan", "model" : "Teana", "year" : 2011 },
{ "maker" : "Honda", "model" : "Jazz", "year" : 2010 },
{ "maker" : "Honda", "model" : "Civic", "year" : 2007 },
{ "maker" : "Toyota", "model" : "Yaris", "year" : 2008 },
{ "maker" : "Honda", "model" : "Accord", "year" : 2011 }
],
"motorcycles" : [{ "maker" : "Honda", "model" : "ST1300", "year" : 2012 }]
});
Result will be:
['Jazz', 'Accord']
JsonPath http://goessner.net/articles/JsonPath/
$['store']['book'][0]['title'] $.store.book[*].author $..author $.store.* $.store..price $..book[2] $..book[(@.length-1)] $..book[-1:] $..book[0,1] $..book[:2] $..book[?(@.isbn)] $..book[?(@.price<10)] $..*
jLinq http://hugoware.net/Projects/jLinq
//select records
jlinq.from(data.source)
.starts('first', 'a')
.select();
//complex queries - no need to repeat names
//when querying the same field
jlinq.from(data.source)
.starts('first', 'a')
.or('b')
.or('c')
.sort('last')
.select();
//sorting - multiple field
jlinq.from(data.source)
.greater('age', 40)
.sort('age', 'name');
.select();
http://espadrine.github.io/New-In-A-Spec/es6/
EcmaScript Sixth Edition
let, const (define block-local vars), function in block scope
destructuring: let {x, y} = pt; let [s, v, o] = triple(); (assuming let pt = {x:2, y:-5}, for instance).
parameter default values: function f(x, y=1, z=0) {⋯}
rest: function g(i, j, ...r) { return r.slice(i, j); } (instead of using arguments like a madman).
spread: let a = [0,1,2,3], o = new Something(...a);
proxies: let obj = Proxy.create(handler, proto). Long story short: ~ operator overloading with object-like elements.
weak map: let map = new WeakMap. Use it if you have circular references in it.
generators: function* gen() { yield 1; yield 2; } Actually, gen() returns ~ an object with a next() function property.
iterators: for (var [key, val] of items(x)) { alert(key + ',' + val); }. Iterators can be generators or proxies.
array and generator comprehension: [a+b for (a in A) for (b in B)] (array comprehension), (x for (x of generateValues()) if (x.color === 'blue')) (generator expression).
binary data: const Pixel = new StructType({x:uint32, y:uint32, color:Color}) (if Color is itself a StructType), new ArrayType(Pixel, 3).
class syntax, with extends, prototype, and super:
class Point extends Base {
constructor(x,y) {
super();
this[px] = x, this[py] = y;
this.r = function() { return Math.sqrt(x*x + y*y); }
}
get x() { return this[px]; }
get y() { return this[py]; }
proto_r() { return Math.sqrt(this[px] * this[px] +
this[py] * this[py]); }
equals(p) { return this[px] === p[px] &&
this[py] === p[py]; }
}modules:
module math {
export function sum(x, y) {
return x + y;
}
export var pi = 3.141593;
}import {sum, pi} from math;
alert(sum(pi,pi));quasis: multiline, substitution-ready strings with extensibility. `You are ${age} years old.`.
// The following regexp spans multiple lines.
re`line1: (words )*
line2: \w+`// It desugars to:
re({raw:'line1: (words )*\nline2: \w+',
cooked:'line1: (words )*\nline2: \w+'})

