Skip to content

Instantly share code, notes, and snippets.

View dmalikov's full-sized avatar
🥞
!

Dmitry Malikov dmalikov

🥞
!
View GitHub Profile
@dmalikov
dmalikov / wut.ps1
Created February 27, 2014 10:30
powershell wut
PS > "m" -contains "m"
True
PS > "a b m" -contains "m"
False
@dmalikov
dmalikov / git-contributors.sh
Created January 28, 2014 20:52
analogue of github contributors stats
#!/bin/bash
# wow so bash such fast very O(n^2*log(n)^2)
for author in `git log --format='%ae' | sort -u`; do
changes=`git log --author=$author --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 } END { printf "%s ++ / %s --\n",add,subs }'`
commits=`git log --author=$author --oneline | wc -l`
echo "$author: $commits commits / $changes"
done | sort -rn -k2
@dmalikov
dmalikov / wut.fs
Created September 24, 2013 21:03
nice constructor syntax
open System
open System.Net
type Stock(symbol : string) = class
let url =
"http://download.finance.yahoo.com/d/quotes.csv?s=" + symbol + "&f=sl1d1t1c1ohgv&e=.csv"
let mutable _symbol = String.Empty
let mutable _current = 0.0
let mutable _open = 0.0
@dmalikov
dmalikov / blewotah.sh
Created August 12, 2013 20:17
unsorted stream intersection with grep, -xF magician
What is going on here is creating 2 streams with numbers from 1 to 100000 sorting randomly and finding with grep all lines that each of them contains. All of them, actually. -c flag is a shortcut for `| wc -l`, nothng more.
$> n=100000; time grep -f <(seq 1 $n | sort -R) <(seq 1 $n | sort -R) -c
100000
grep -f <(seq 1 $n | sort -R) <(seq 1 $n | sort -R) -c 148.65s user 0.28s system 98% cpu 2:31.89 total
$> n=100000; time grep -xF -f <(seq 1 $n | sort -R) <(seq 1 $n | sort -R) -c
100000
grep -xF -f <(seq 1 $n | sort -R) <(seq 1 $n | sort -R) -c 0.34s user 0.01s system 26% cpu 1.315 total
@dmalikov
dmalikov / after.hs
Created July 28, 2013 13:20
nice module-management package
import Control.Monad (($), forM, undefined)
main = forM [] $ undefined
@dmalikov
dmalikov / commutative.v
Created April 17, 2013 21:42
m * n = n * m
Lemma mult_0_r : forall n:nat,
n * 0 = 0.
Proof.
intros n. induction n as [| n'].
(* Case "n = 0". *)
simpl.
reflexivity.
(* Case "n = S n'". *)
simpl.
rewrite -> IHn'.
α(L,P,R) :- β(L,P,R,0).
β([H|T],P,R,A) :- pow(H,P,X), β(T,P,R,A + X).
β([H],P,R,A) :- pow(H,P,X), R is A + X.
γ(X, Y, P) :- α(X, P, A), α(Y, P, B), A == B, !.
main(A) :- findall(X, (between(0,100,X), γ([0,3,5,6,9,10,12,15], [1,2,4,7,8,11,13,14], X)), A).
@dmalikov
dmalikov / !.md
Last active December 15, 2015 02:59
!

How to make merge commit with same parent commits

git cat-file commit master | awk '/^parent.*/{print $0}; //{print $0}' | git hash-object --stdin -w -t commit | xargs git checkout -B master

Here it is:

$> git show --stat

commit 52eb56f6d5816f9e43015878e60a41cbbfb3e702

@dmalikov
dmalikov / map.java
Created March 17, 2013 09:04
Clean and short
// es = map exists tasks
List<Boolean> es = Lists.transform(tasks, new Function<File, Boolean>() {
@Override
public Boolean apply(File file) {
return file.exists();
}
});
@dmalikov
dmalikov / ssr.rb
Created March 8, 2013 22:30
RUBY FOONKTSHIANOL OPPLEEKATION SSYSTEM STACK ERROR
def get_hostid_by_itemid(itemid)
message = {
'method' => 'host.get',
'params' => {
'itemids' => [itemid.to_s]
}
}
return send_request(message).first["hostid"]
end