Skip to content

Instantly share code, notes, and snippets.

@macrat
macrat / calc.cs
Last active November 27, 2015 15:36
C#勉強会で出たお題の回答。二つ目は計算とスタックの管理を分離するってのを試してみたやつ。
using System;
using System.Collections.Generic;
class Calc{
static double Run(string[] ops, int idx){
Dictionary<string, Func<double, double, double>> funcs = new Dictionary<string, Func<double, double, double>>(){
{"+", (l, r) => l + r},
{"-", (l, r) => l - r},
{"*", (l, r) => l * r},
@macrat
macrat / triz.html
Last active December 14, 2015 03:48
TRIZをちゃちゃっと使える的なやつ。
<!doctype html>
<html>
<head>
<title>TRIZ的なやつ</title>
<style>
html {
background-color: #ddd;
height: 100%;
}
@macrat
macrat / space.html
Last active February 23, 2016 13:08
作品の展示会やるって言われて作ったやつ。結局参加しなかったので、gistで供養。 このアドレスから見れる。https://cdn.rawgit.com/macrat/c9f575de1227d04ed808/raw/space.html
<!DOCTYPE html>
<html>
<head>
<style>
* {
overflow: hidden;
margin: 0;
padding: 0;
}
html {
@macrat
macrat / LC.html
Created February 27, 2016 15:13
LinuxClubの新しいWebサイトのデザイン案。という名のお遊び。モダンなHTMLを感じたかった。
<!doctype html>
<html>
<head>
<title>LinuxClub</title>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1.0">
<style>
body {
padding: 0;
@macrat
macrat / .tmux.conf
Created March 2, 2016 15:09
おれのてぃーまくす。
set -g prefix C-q
bind C-q send-prefix
bind C-k select-pane -U
bind C-j select-pane -D
bind C-l select-pane -R
bind C-h select-pane -L
unbind l
bind k resize-pane -U 3
@macrat
macrat / som.py
Created March 16, 2016 11:14
pythonでSOM的なもの。一応sklearn互換っぽい。
from sklearn.base import BaseEstimator, TransformerMixin
import numpy
class SOM(BaseEstimator, TransformerMixin):
def __init__(self, mapsize, input_dim, ini=None, fin=1, coefficient=0.005, verbose=False):
self.input_dim = input_dim
self.mapsize = numpy.array(list(mapsize))
self.mapdim = len(self.mapsize)
self.idx = numpy.mgrid[[slice(x) for x in self.mapsize]].swapaxes(0, self.mapdim).swapaxes(0, 1)
@macrat
macrat / moving.py
Created March 19, 2016 12:16
微妙性能な動体検知。
import cv2
import numpy
cam = cv2.VideoCapture(0)
cam.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
mog = cv2.createBackgroundSubtractorMOG2()
@macrat
macrat / fizzbuzz.c
Last active April 22, 2016 10:03
不適切なFizzBuzz
#define func(name, expression, ...) int name(__VA_ARGS__){ return expression; }
int PutC(char c){ char*t=&c; asm("mov $1,%%rax\nmov $1,%%rdi\nmov %0,%%rsi\nmov $1,%%rdx\nsyscall" :: "m"(t)); return 0; }
func(PutS, *string && PutC(*string) & PutS(string + 1), char* string);
func(EndL, PutC(0x0a));
func(Fizz, PutS((char*)__func__));
@macrat
macrat / fizzbuzz.cpp
Last active May 23, 2016 12:40
FQDNで安全なFizzBuzzライフ。
#include <iostream>
#include <iterator>
#include <memory>
namespace funnycounter {
namespace item {
namespace interface {
#include <iostream>
#include <set>
class Position {
const int x, y;
public:
Position(int x, int y) : x(x), y(y) { }