Skip to content

Instantly share code, notes, and snippets.

View limitedeternity's full-sized avatar
🔭
Ищу смыслы

Vyacheslav Bespalov limitedeternity

🔭
Ищу смыслы
View GitHub Profile
@limitedeternity
limitedeternity / android_instructions.md
Last active June 26, 2021 21:50
Setup Android development environment on a Mac

Here is a high level overview for what you need to do to get most of an Android environment setup and maintained.

Prerequisites:

  • XCode command line tools are installed (xcode-select --install will prompt up a dialog)
  1. Install Homebrew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
@limitedeternity
limitedeternity / wget-site-mirror.sh
Created March 25, 2019 17:06
Bash-скрипт для создания офлайн-зеркала сайта
#!/usr/bin/env bash
link=$(zenity --entry --text 'Please enter link:') || exit 0
wget -m -np -E -k -p "$link"
@limitedeternity
limitedeternity / compile.py
Last active March 15, 2019 08:16
Dcoder CLI app
import sys
import argparse
from pathlib import Path
from requests import Session
extToLangCodeMap = {
".cs": 1, # C#
".java": 4, # Java
".c": 6, # C
".cpp": 7, # C++
@limitedeternity
limitedeternity / m.vk.audio.js
Last active October 31, 2023 20:17
Delete VK audio from profile
new Promise(resolve => {
var offset = -100;
let pageScroll = () => {
window.scrollBy(0, 50);
if (window.pageYOffset === offset) {
return resolve(true);
}
offset = window.pageYOffset;
setTimeout(pageScroll, 50);
@limitedeternity
limitedeternity / jsonPrettify.js
Last active January 16, 2019 19:57
Prettify JSON opened in Chrome
document.body.getElementsByTagName('pre')[0].innerText = JSON.stringify(JSON.parse(document.body.getElementsByTagName('pre')[0].innerText), null, 2);
@limitedeternity
limitedeternity / requirements.txt
Last active January 10, 2019 11:07
Tkinter time display widget
tkinter
@limitedeternity
limitedeternity / runOnSeriesPage.js
Created December 1, 2018 15:03
Code to enable download button on LostFilm.tv series page
(function() {
var data = document.getElementsByClassName("mark-rate-pane")[0].getAttribute("rel").split(",");
if (document.getElementsByClassName("external-btn2").length !== 0) {
window.copyrightedEpisode = undefined;
var episode = "";
for (var i = 0; i < data.length; i++) {
episode += ('00' + data[i]).slice(-3);
}
@limitedeternity
limitedeternity / chromeSaveFromCache.js
Created December 1, 2018 14:54
Utility to retrieve files from chrome://cache
(function() {
var preTags = document.getElementsByTagName('pre');
var preWithHeaderInfo = preTags[0];
var preWithContent = preTags[2];
var lines = preWithContent.textContent.split('\n');
// get data about the formatting (changes between different versions of chrome)
var rgx = /^(0{8}:\s+)([0-9a-f]{2}\s+)[0-9a-f]{2}/m;
var match = rgx.exec(lines[0]);
@limitedeternity
limitedeternity / diff_search.py
Created December 1, 2018 09:49
Automatic solution for "find 10 differences in two pictures" tasks
from skimage.measure import compare_ssim
import argparse
import imutils
import cv2
def are_equal(imageA, imageB):
if imageA.shape == imageB.shape:
difference = cv2.subtract(imageA, imageB)
(b, g, r) = cv2.split(difference)
// FileSaver.min.js
(function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){"use strict";function b(a,b){return"undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Depricated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open("GET",b),e.responseType="blob",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error("could not download file")},e.send()}function d(a){var b=new XMLHttpRequest;return b.open("HEAD",a,!1),b.send(),200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"))}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f="object"==typeof