Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Konstantin Tarkus koistya

🏠
Working from home
View GitHub Profile
@koistya
koistya / README.md
Created Jun 28, 2021 — forked from zhiguangwang/README.md
Installing and running shadowsocks on Ubuntu Server
View README.md

Installing and running shadowsocks on Ubuntu Server

16.10 yakkety and above

  1. Install the the shadowsocks-libev package from apt repository.

     sudo apt update
     sudo apt install shadowsocks-libev
    
  2. Save ss.json as /etc/shadowsocks-libev/config.json.

View tsserver.log
Failed to load module '@vsintellicode/typescript-intellicode-plugin' from /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/typescript-language-features/node_modules: Error: Could not resolve JS module '@vsintellicode/typescript-intellicode-plugin' starting at '/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/typescript-language-features/node_modules'. Looked in:
at Object.resolveJSModule (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:38253:19)
at Object.sys.require (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:157662:45)
at Function.Project.resolveModule (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:147790:35)
at ./.yarn/cache/typescript-patch-edef266e49-b8b689ef99.zip/node_modules/typescript/lib/tsserver.js:148867:36
at Object.firstDefined (./.yarn/cache/typescript-patch-edef266e49-b8b689ef99
View db.ts
import fs from "fs";
import knex from "knex";
import env from "./env";
export default knex({
client: "pg",
connection: {
ssl: env.PGSSLMODE === "verify-ca" && {
cert: fs.readFileSync(env.PGSSLCERT, "ascii"),
@koistya
koistya / remove-vk-content.md
Last active Dec 19, 2019
Как удалить все сообщения, фотки и видео ВКонтакте https://www.youtube.com/watch?v=sDYIn30ojFk
View remove-vk-content.md

Как удалить все фотографии ВКонтакте

Заходим в "Фотографии", открываем первую фотографию в списке и запускаем скрипт в консоли браузера:

while (true) {
  // Удалить открытую фотографию
  Photoview.deletePhoto();
@koistya
koistya / example.js
Last active Jul 15, 2019
useScrollY() and useInnerWidth(nodeRef) React hooks
View example.js
import React from 'react';
import { useScrollY, useInnerWidth } from './hooks';
function Example(props) {
const nodeRef = React.useRef();
const scrollY = useScrollY();
const innerWidth = useInnerWidth(nodeRef);
return (
<pre ref={nodeRef} {...props}>
@koistya
koistya / CustomerChat.js
Created Mar 18, 2019
Facebook Customer Chat React.js component https://medium.com/p/5b7c21343048
View CustomerChat.js
import React from 'react';
import { fb } from '../utils';
import { ConfigContext } from '../hooks';
class CustomerChat extends React.PureComponent {
componentDidMount() {
this.timeout = setTimeout(() => {
fb(FB => this.timeout && FB.XFBML.parse());
}, 2000);
}
@koistya
koistya / fb.js
Created Mar 18, 2019
Lazy loader for Facebook JavaScript SDK / Customer Chat SDK https://medium.com/p/5b7c21343048/
View fb.js
import loadScript from 'load-script';
let initialized = false;
let queue = [];
export function fb(callback) {
if if (initialized) {
callback(window.FB);
} else {
queue.push(callback);
@koistya
koistya / docker-compose.yml
Last active Feb 28, 2019
Shadowsocks Proxy Server on DigitalOcean https://m.do.co/c/eef302dbae9f
View docker-compose.yml
version: "3"
services:
shadowsocks:
image: shadowsocks/shadowsocks-libev:edge
ports:
- "8388:8388"
environment:
- METHOD=aes-256-cfb
- PASSWORD=XXX
@koistya
koistya / show-popup-on-selection.md
Last active Aug 27, 2018
Show Material UI menu on text selection
View show-popup-on-selection.md
import React from 'react';
import Menu from '@material-ui/core/Menu';
import RootRef from '@material-ui/core/RootRef';
import Typography from '@material-ui/core/Typography';

class MyComponent extends React.Component {
  componentDidMount() {
    document.addEventListener('selectionchange', this.handleSelect);
  }
@koistya
koistya / 0x4AC7C6CF.asc
Last active Aug 16, 2018
My GPG Key (hello@tarkus.me)
View 0x4AC7C6CF.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFt1MBkBEADHMdrirvRavPbX74YwnYLDKBYF+TKG+2S2Yzrqe7reAXbwU4+l
Rf2CWWfaNuyNg5sInjWs9jdzgrwOx3faJZBl/2TnabY7xMutgKTkh3hXF6Oy2OEu
C+stYR4vzQHLrXGMH0iCjhxICh29On7Swk1OsY7R+4B1gmcSZ2FqyBBK4feM0Yb1
LJJ/K+xCJQ3KkoUnogA/n7utHDWRjTIdZsObeVxBln0D4fagPMPmDg0Jlup/THfk
SLKqG0FBCVS6dW8GS+GwIib3OzXeOpD3va99qvSg77gZTtf9LVtlwbYmgT0AUh3Z
a9ewxdup3yf/sIsBtg2K1FpKqp0gOtnafHy46zbQ8jkzNA58sVPyXsMIdPx3THV5
M4ttIv0ateoJ9NWedk68eM6Ysg5lPaJ9Oxs5A7s1ojN5Y15vNNEnu0biF/67w59x
97iSvuywQv1qoZWeN8KzsIOr5kCs48qUMauknuijMBph4nPIGbSapKs50B3HTaZZ