Skip to content

Instantly share code, notes, and snippets.

View tmshv's full-sized avatar

Roman Timashev tmshv

View GitHub Profile
@tmshv
tmshv / tor_python.py
Last active December 8, 2015 13:30
Stem usage example
import socks
import socket
from stem import Signal
from stem.control import Controller
control_port = 9051
proxy_port = 9050
proxy_host = 'localhost'
tor = Controller.from_port(port=control_port)
@tmshv
tmshv / sketch_151208a_sound_toggle.pde
Created December 8, 2015 17:57
Processing Sound Toggle
import processing.sound.*;
class Sound {
SoundFile file;
boolean playing;
Sound(PApplet app, String path){
file = new SoundFile(app, path);
playing = true;
}
@tmshv
tmshv / gh_state.py
Last active December 8, 2015 18:33
Grasshopper Last State
# x is input value with list type
import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino
sc.doc = Rhino.RhinoDoc.ActiveDoc
lastValue = rs.GetDocumentData('hello', 'lastState')
currentValue = ','.join(map(str, x))
@tmshv
tmshv / createSpriteWithCentredContent.as
Created January 28, 2013 15:09
Создает спрайт, помещает переданный объект внутрь этого спрайта, сам объект центрует
package ru.gotoandstop.display {
import flash.display.DisplayObject;
import flash.display.Sprite;
public function createSpriteWithCentredContent(content:DisplayObject):Sprite {
var s:Sprite = new Sprite();
content.x = -int(content.width / 2);
content.y = -int(content.height / 2);
s.addChild(content);
return s;
@tmshv
tmshv / cellIndex.as
Last active December 14, 2015 02:29
/**
* Возвращает индекс ячейки
* @param index порядковый индекс
* @param length длина строки
* @return
*
*/
public function cellIndex(index:uint, length:uint):Object {
var r:uint = Math.floor(index / length);
var c:uint = index - (r * length);
@tmshv
tmshv / merge.as
Created March 31, 2013 20:20
Action Script 3.0 Merging two objects;
package{
public function merge(object1:Object, object2:Object):Object {
var result:Object = {};
var i:String;
for (i in object1) {
result[i] = object1[i];
}
for (i in object2) {
if (result[i] == undefined) result[i] = object2[i];
}
@tmshv
tmshv / sketch_130423a_pointer_projection.pde
Created April 22, 2013 20:40
how to project vertex on line
PVector v1;
PVector v2;
void setup() {
size(500, 500);
ellipseMode(CENTER);
textSize(12);
v1 = new PVector(random(width), random(height));
v2 = new PVector(random(width), random(height));
}
@tmshv
tmshv / dropquest2012_1.js
Created April 27, 2013 15:38
dropquest 2012 step1 bruteforcer
var n1;
var n2;
var n3;
var n4;
var n5;
//The product of the first two digits is 24.
function rule1(){
return (n1 * n2) == 24;
}
@tmshv
tmshv / sketch_130911a_arch_calc.pde
Created September 19, 2013 21:13
How to launch sketch: 1. download Processing: (https://processing.org/download/); 2. download Control P5 library: (http://www.sojamo.de/libraries/controlP5/); 3. extract Control P5 library to Processing libraries folder (Documents/Processing/libraries); 4. paste & run sketch code; 5. profit; press "q" to render pdf file;
/*
* SPbGASU::Architecture::1a5::Roman Timashev (roman@tmshv.ru)
* The Sketch is licensed under the MIT license. (http://opensource.org/licenses/MIT)
*/
import controlP5.*;
import processing.pdf.*;
ControlP5 cp5;
int population;
//
// DNA.h
// Hexlet DNA
//
// Created by Roman Timashev on 12/11/13.
// Copyright (c) 2013 Roman Timashev's Company. All rights reserved.
//
#import <Foundation/Foundation.h>