Skip to content

Instantly share code, notes, and snippets.

View escaroda's full-sized avatar

Escaroda escaroda

View GitHub Profile
@escaroda
escaroda / GLSL-Noise.md
Created October 31, 2021 08:18 — forked from patriciogonzalezvivo/GLSL-Noise.md
GLSL Noise Algorithms

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);
	return mix(rand(fl), rand(fl + 1.0), fc);
}
@escaroda
escaroda / binary.js
Created August 15, 2019 18:02 — forked from mathewmariani/binary.js
A quick look at signed and unsigned integers in JavaScript.
var UInt4 = function (value) {
return (value & 0xF);
};
var Int4 = function (value) {
var ref = UInt4(value);
return (ref > 0x7) ? ref - 0x10 : ref;
};
var UInt8 = function (value) {
@escaroda
escaroda / drawing-board.component.ts
Created March 1, 2019 06:48 — forked from anupkrbid/drawing-board.component.ts
A example canvas component for drawing in an angular 6 app using rxjs 6.
import {
AfterViewInit,
Component,
ElementRef,
Input,
OnDestroy,
ViewChild
} from '@angular/core';
import { fromEvent } from 'rxjs';
import { pairwise, switchMap, takeUntil } from 'rxjs/operators';
@escaroda
escaroda / letsencrypt_2018.md
Created September 8, 2018 19:06 — forked from cecilemuller/letsencrypt_2020.md
How to setup Let's Encrypt for Nginx on Ubuntu 18.04 (including IPv6, HTTP/2 and A+ SSL rating)

How to setup Let's Encrypt for Nginx on Ubuntu 18.04 (including IPv6, HTTP/2 and A+ SLL rating)


Virtual hosts

Let's say you want to host domains first.com and second.com.

Create folders for their files:

@escaroda
escaroda / penrose.html
Created September 2, 2018 18:44
Penrose Tile Visualiser
<!--
This is a quick ui that wraps yurixi's code from https://habr.com/post/359244/
It can save PNG and SVG.
All credit goes to him for doing pretty much all the work here.
-->
<!DOCTYPE html>
<html lang="en">
<html>
<head>
( 3|0 ) === 3; // целые числа не изменяет
( 3.3|0 ) === 3; // у дробных чисел отбрасывает дробную часть
( 3.8|0 ) === 3; // не округляет, а именно отбрасывает дробную часть
( -3.3|0 ) === -3; // в том числе и у отрицательных дробных чисел
( -3.8|0 ) === -3; // у которых Math.floor(-3.3) == Math.floor(-3.8) == -4
( "3"|0 ) === 3; // строки с числами преобразуются к целым числам
( "3.8"|0 ) === 3; // при этом опять же отбрасывается дробная часть
( "-3.8"|0 ) === -3; // в том числе и у отрицательных дробных чисел
( NaN|0 ) === 0; // NaN приводится к нулю
( Infinity|0 ) === 0; // приведение к нулю происходит и с бесконечностью,
const getSpecifiedDay = {
oncePerMonth: (fromDate, dayOfWeek, numberOfTimes, startHours, endHours) => {
// Get first day of the month by given fromDate
const currentMonth = moment(fromDate).startOf('month');
// Get desired dayOfWeek of currentMonth's first week
const firstDayInMonth = currentMonth.clone().weekday(dayOfWeek);
// Check if firstDayInMonth is in the given month
@escaroda
escaroda / promises.js
Created April 6, 2018 07:34
js promise - good practice
// bad
async function someAsyncFunc() {
const user = await asyncGetUser();
const categories = await asyncGetCategories();
const mapping = await asyncMapUserWithCategory(user, categories);
}
// good
async function someAsyncFunc() {
const [user, categories] = await Promise.all([
@escaroda
escaroda / angular2why.md
Created October 6, 2017 09:16 — forked from YuliaTsareva/angular2why.md
Почему стоит переходить на Angular 2.0. Отличия и особенности - материалы к докладу
@escaroda
escaroda / angular-router.md
Created October 6, 2017 09:16 — forked from YuliaTsareva/angular-router.md
Angular Router вдоль и поперек - материалы к докладу

Материалы к докладу «Angular Router вдоль и поперек»