Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python
'''Crop an image to just the portions containing text.
Usage:
./crop_morphology.py path/to/image.jpg
This will place the cropped image in path/to/image.crop.png.
For details on the methodology, see
@ssttv
ssttv / main_opencl.cpp
Created February 27, 2019 11:13
Incomplete attempt at translation of CUDA code into OpenCL
#define _USE_MATH_DEFINES
#include <stdlib.h>
#include <math.h>
#include <GL/glew.h>
#include <GL/freeglut.h>
#include "particle.h"
#include <iostream>
#include <algorithm>
#include <vector>
@ssttv
ssttv / main.cu
Last active February 27, 2019 11:09
Source code for a particle fountain made with OpenGL & CUDA
#include <stdlib.h>
#include <math.h>
#include "particle.h"
#include <iostream>
#include <algorithm>
float g_cameraPhi = 0;
float g_cameraPsi = 0;
float g_cameraR = 10;
const float g_cameraRMin = 1;
@ssttv
ssttv / photomosaic.ipynb
Created December 15, 2018 17:42 — forked from kylemcdonald/photomosaic.ipynb
Photomosaic
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@ssttv
ssttv / run_luigi.py
Created December 4, 2017 04:24 — forked from bonzanini/run_luigi.py
Example of Luigi task pipeline
# run with a custom --n
# python run_luigi.py SquaredNumbers --local-scheduler --n 20
import luigi
class PrintNumbers(luigi.Task):
n = luigi.IntParameter(default=10)
def requires(self):
return []
@ssttv
ssttv / .md
Created June 26, 2016 13:32 — forked from iAdramelk/.md
Длинная телега про Бутстрап

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

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

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

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

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