Skip to content

Instantly share code, notes, and snippets.

View abesmon's full-sized avatar
🎱
SHIT ==> GOLD

Alexey Lysenko abesmon

🎱
SHIT ==> GOLD
View GitHub Profile
@abesmon
abesmon / accordeonHierarchy.js
Last active August 23, 2018 14:48
Сохранение/Восстановка иерархии аккордеона
$(document).ready(function () {
// После загрузки страницы мы достаем откуда-то сохраненную
// информацию об иерархии (что активированно)
// эта функция должна вызываться первой после загрузки страницы
// == ПОГНАЛИ ==
// Достаем откуда-то данные о статусе, например из куки
let savedAccordeonHierarchy = $.cookie('ZHOPA'); // не имеет значение, как мы их назовем
// savedAccordeonHierarchy - это строка, поэтому если мы сохраняли массив,
// надо сериализовать данные, но пропустим
void setup() {
pinMode(0, INPUT); //RX
pinMode(1, INPUT); //TX
}
void loop() {}
// connect with
// $ screen /dev/ttyUSB0 115200
// screen [device] [baudrate]
// interrupt with ctrl+a, then press k, then yes
import Foundation
import PromiseKit
/**
Каждый раз, когда будет вызван nextUnused будет возвращаться
объект входного итератора, на котором применен модификатор, но модификатор применяется только единожды.
Все следующие вызховы будет просто отдаваться объект, который был изменен в первый вызов.
После того как будет вызван useCallback (второй элемент кортежа), курсор перейдет к следующему объекту.
Следующий запрошенный объект снова будет запрошен из оригинального итератора, пройдет через модификатор и до следующего вызова useCallback будет отдаваться без дополнительных модификаций
Копирование файлов
$ cp -a /source/. /dest/

-a - рекурсия, точка для того чтобы все выкачать

Удаление папки
$ rm -rf develop/
import Alamofire
import CoreTelephony
enum NetworkType {
case unknown
case noConnection
case wifi
case wwan2g
case wwan3g
case wwan4g
@abesmon
abesmon / some.md
Created November 25, 2019 14:07
about objc blocks

Also, there is some info on: http://fuckingblocksyntax.com

/// returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

void (^printXAndY)(int) = ^(int y) {
    printf("%d %d\n", x, y);
};

printXAndY(4);
@abesmon
abesmon / PluralForm.swift
Created January 16, 2020 14:20 — forked from youmee/PluralForm.swift
Swift Russian Plural Form Function
//
// Orig created by youmee https://gist.github.com/youmee/bc23dd6088e59609609f
// Modified by Лысенко Алексей Димитриевич on 09/09/2019.
// Copyright © 2019 SMG All rights reserved.
//
import Foundation
@objc class Pluralizer: NSObject {
@objc class PluralForms: NSObject {
func randomString(length: Int) -> String {
return (0..<length).map { _ in String(Int.random(in: 0...9)) }.joined()
}
func randomStringBuffer(length: Int) -> String {
var buffer = ""
(0..<length).forEach { _ in buffer += String(Int.random(in: 0...9)) }
return buffer
}
@abesmon
abesmon / parallax.frag
Last active May 21, 2021 20:16
Пример того, как с помощью шейдера можно создать ощущение объема. Шейдер написан для работы с TouchDesigner, но в нем нет ничего такого, что было-бы невозможно адаптировать под другое окружение :) пример: https://www.instagram.com/p/CLh7OsCiSPc/
uniform vec3 heights;
uniform sampler2D texLayerOne;
uniform sampler2D texLayerTwo;
uniform sampler2D texLayerThree;
uniform sampler2D frontTex;
in v2f {
flat int cameraIndex;
vec4 pos;
@abesmon
abesmon / virtualSDF.frag
Created February 21, 2021 21:37
SDF but that is calculated to the origin of mesh. It can be used to create virtual space with different sdf shaped inside of any mesh
uniform float uTime;
uniform sampler2D frontTex;
in v2f {
flat int cameraIndex;
vec4 pos;
vec3 originalP;
vec2 uv;
mat3 tbn;