Skip to content

Instantly share code, notes, and snippets.

View c01nd01r's full-sized avatar

Stanislav c01nd01r

View GitHub Profile
#!/usr/bin/env ruby
require 'open-uri'
require 'pathname'
require 'json'
def strip_hash(f)
ext = f.extname
if ext.include?("?")
@andymatuschak
andymatuschak / States-v3.md
Last active May 1, 2024 12:32
A composable pattern for pure state machines with effects (draft v3)

A composable pattern for pure state machines with effects

State machines are everywhere in interactive systems, but they're rarely defined clearly and explicitly. Given some big blob of code including implicit state machines, which transitions are possible and under what conditions? What effects take place on what transitions?

There are existing design patterns for state machines, but all the patterns I've seen complect side effects with the structure of the state machine itself. Instances of these patterns are difficult to test without mocking, and they end up with more dependencies. Worse, the classic patterns compose poorly: hierarchical state machines are typically not straightforward extensions. The functional programming world has solutions, but they don't transpose neatly enough to be broadly usable in mainstream languages.

Here I present a composable pattern for pure state machiness with effects,

anonymous
anonymous / index.html
Created July 2, 2016 21:19
JS Bin // source http://jsbin.com/yurisunimi
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css">
ol { counter-reset: wow }
li {
width:350px;
@sokcuri
sokcuri / key.md
Last active July 9, 2022 10:39
Twitter (un)official Consumer Key

Twitter Official Consumer Key

Twitter for Android

type:            PIN
Consumer key:    3nVuSoBZnx6U4vzUxf5w
Consumer secret: Bcs59EFbbsdF6Sl9Ng71smgStWEGwXXKSjYvPVt7qys

Twitter for iPhone

type:            PIN

Consumer key: IQKbtAYlXLripLGPWd0HUA

#!/bin/sh
DB_USER="name"
DB_PASS="password"
DB_BASE="databese"
CLOUD_USER="webdav_user"
CLOUD_PASS="webdav_password"
MOUNTH=$(date +"%Y-%m")
CLOUD_SERVER="https://webdav.yandex.ru/"
NUM_WEEK=$(date +"%V")
NUM_DAY=$(date +"%u")
@iAdramelk
iAdramelk / .md
Last active April 22, 2024 10:15
Длинная телега про Бутстрап

Английская версия: https://evilmartians.com/chronicles/bootstrap-an-intervention

Вводная часть

У CSS есть несколько базовых проблем, которые позволяют очень быстро отстрелить себе ногу при неправильном использовании:

  1. Глобальный неймспейс – в серверном программировании все что написано в файле, в файле и остается. Все же что написано в css и js засирает глобальное пространство имен со всеми вытекающими. В JS эту проблему сейчас побороли всякими модульными системами, а вот с css сложнее. В идеальном мире это должен починить Shadow DOM и настоящие Web Components, но пока их нет единственный способ с этим бороться – следовать какой-то системе именований селекторов, которая по возможности уменьшает и исключает возможные конфликты.

  2. Каскадность – если на один элемент может сработать несколько правил, то они все и сработают последовательно. Если есть элемент h1.title, на него сработают все правила для тегов h1 и все правила для класса .title. Так как весь html состоит из тегов, то правил которые п

Если бы я строил полную учебную программу по computer science, то мат основа там была бы примерно такая:

  1. Логика и дискретная математика. Тут же основы теории множеств и теории чисел. Эти штуки можно изучать в изоляции от всего остального, многим даже далеким от математики эти темы нравятся (особенно теория чисел), и эта среда хорошо подходит для привыкания к мат. доказательствам, индукции и пр.

  2. Мат анализ. Не критично, но как минимум для тренировки мозга очень важный курс, можно экспрессом.

  3. Линейная алгебра. Сильно зависит от будущих целей. Если интересна графика, игры, виртуальная реальность — то линейная алгебра обязательна. Но если нет — то как минимум экспрессом один курс желателен. Отлично вправляет мозги, развивает абстрактное мышление, очень важное в программировании в целом. Представлять себе многомерные структуры и их взаимосвязь — это очень круто. Главное в линейке не попасться в ту же ловушку, в которую попадаются при изучении мат. анализа: в этих штуках можно запомнить механически прав

@paulirish
paulirish / what-forces-layout.md
Last active May 11, 2024 00:41
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
/**
* Реализация API, не изменяйте ее
* @param {string} url
* @param {function} callback
*/
function getData(url, callback) {
var RESPONSES = {
'/countries': [
{name: 'Cameroon', continent: 'Africa'},
{name :'Fiji Islands', continent: 'Oceania'},