Skip to content

Instantly share code, notes, and snippets.

View sdwvit's full-sized avatar
🏠
Working from home

Victor Musienko sdwvit

🏠
Working from home
  • noibu.com
  • Toronto, ON, Canada
View GitHub Profile
/**/_xdc_._tumftg && _xdc_._tumftg( {
"results" : [
{
"address_components" : [
{
"long_name" : "New York",
"short_name" : "New York",
"types" : [ "locality", "political" ]
},
{
/**/_xdc_._3c1ih2 && _xdc_._3c1ih2( {
"predictions" : [
{
"description" : "New York, NY, USA",
"id" : "7eae6a016a9c6f58e2044573fb8f14227b6e1f96",
"matched_substrings" : [
{
"length" : 8,
"offset" : 0
}
[
[88.5, 4.16, 1.54],
[-6.2, 12.75, 3.09],
[50.08, 17.69, 3.11],
[8.81, 4.93, 3.13],
[37.71, 6.87, 3.18],
[88.5, 4.16, 3.21],
[50.08, 17.69, 3.79],
[8.81, 4.93, 4.29],
[8.81, 4.93, 4.85],
@sdwvit
sdwvit / gmaps_static_signing_url_with_fastly.vcl
Created April 10, 2018 00:59
Signing google static maps URL with fastly
sub vcl_recv {
# Creates google static maps API signature and adds it as one of the query params on the fly. Basically signs URL.
# Key is here: https://consers.google.com/apis/api/static-maps-backend.googleapis.com/ole.developstaticmap/ your_project
set req.http.signature = digest.hmac_sha1_base64(digest.base64_decode("YOUR_KEY"), req.url);
# Create safe-for-web version of the key by replacing '+' -> '-', and '\' -> '_'.
set req.http.signature_url_safe = regsuball(regsuball(req.http.signature, "\+", "-"), "\\", "_");
# Add signature query param to the request url
@sdwvit
sdwvit / sentenseCasePOC
Created March 19, 2018 19:44
Convert text to sentence case
<html><body><input id="in"></input>
<br />
<button id="convert" onclick="convert()">Convert to sentence case</button>
<div id="out"></div>
<script>
function toSentenceCase(t) {
t = t.toLowerCase();
for (var e = !0, n = "", o = 0; o < t.length; o++) {
var r = t.charAt(o);
/\.|\!|\?|\n|\r/.test(r) ? e = !0 : "" != r.trim() && 1 == e && (r = r.toUpperCase(), e = !1), n += r
@sdwvit
sdwvit / cc.ts
Last active November 23, 2017 10:44
Holy clean code
static checkComment(comment: Comment): void {
function resetCompactMode() { // TODO: props mutation is bad
comment.compactMode = false;
}
const parent = comment.compactMode && comment.parent;
if (!parent) { return; }
if (parent.level === 1 || parent.children.length > 1) {
@sdwvit
sdwvit / worker.example.js
Created April 1, 2017 11:21
Spawn worker abstraction
function spawnWorker(func) {
const response = `self.onmessage = () => postMessage(
(${func.toString()})()
)`;
const blob = new Blob([response], {type: 'application/javascript'});
const worker = new Worker(URL.createObjectURL(blob));
worker.onmessage = function (e) {
const data = e.data;
@sdwvit
sdwvit / gist:9ae1ce2cd463dc175e4fcdef05c28d84
Last active February 25, 2017 09:41
Linkedin: delete connections one by one with confirmation
const keywords = ['recru', 'apply', 'looking for', 'hr', 'talent'];
const names = $('.mn-person-info__name');
const positions = $('.mn-person-info__occupation');
const dropdowns = $('.mn-connections__dropdown-trigger');
const deleteButtonSelector = () => $('.mn-connections__dropdown-option-btn');
const confirmButtonSelector = () => $('.remove-btn');
let connections = {};
for (let i = 0; i < names.length; i++) {
@sdwvit
sdwvit / gist:493b61d6367cae8d0b12d52f19092652
Last active May 16, 2016 20:25
Delete all branches on page github
$.map($('.branch-delete'), (val, i) => {return [val]}).forEach((el) => {el.click()})