Skip to content

Instantly share code, notes, and snippets.

K. kaja47

Block or report user

Report or block kaja47

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@kaja47
kaja47 / gist:bddc1403d6a182264029
Created Jan 2, 2015
little matcher css selector example
View gist:bddc1403d6a182264029
<?php
Matcher::multi('div.article', [
'title' => 'h2'
'date' => 'span.date'
])->fromHtml(new CssMatcherContext)
View runize.scala
val runes = "ᚨᛒᚳᛞᛖᚠᚷᚺᛁᛃᚲᛚᛗᚾᛟᛈᛩᚱᛋᛏᚣᚢᚹᛤᛣᛉ"
def runize(str: String) = str.toLowerCase map (l => if (runes.isDefinedAt(l-'a')) runes(l-'a') else ' ')
@kaja47
kaja47 / csfdsim.scala
Created Dec 30, 2014
How to compute similar movies from CSFD data in 10 minutes and find love of your life
View csfdsim.scala
import breeze.linalg._
import breeze.stats
import breeze.numerics._
val dataFile = new File(???)
val userItems: Array[SparseVector[Double]] = loaderUserItemsWithRatings(dataFile, """[ ,:]""".r)
val itemUsers: Array[SparseVector[Double]] = transpose(userItems) map { vec => normalize(vec, 2) }
// weights
val N = DenseVector.fill[Double](itemIndex.size)(userIndex.size) // vector where total numbers of users is repeated
View gist:31e741552085437dc367
<?php
// really really fast loop (0.008s)
$arr = range(1, pow(2, 24)+1);
for ($i = 1; $i < 200000; $i++) {
unset($arr[$i]);
$arr[] = 1;
}
View gist:be5cfe0f261146de3960
./ext/date/lib/parse_date.c:10272
./Zend/zend_language_scanner.c:1533
./Zend/zend_ini_scanner.c:1350
./ext/sqlite3/libsqlite/sqlite3.c:636
./sapi/phpdbg/phpdbg_lexer.c:373
./ext/date/lib/parse_iso_intervals.c:250
./ext/standard/var_unserializer.c:189
./ext/mbstring/oniguruma/regexec.c:157
./ext/pcre/pcrelib/pcre_compile.c:119
./ext/standard/url_scanner_ex.c:100
@kaja47
kaja47 / phash.go
Last active Nov 6, 2016
Perceptual hashing + locality-sensitive hashing example
View phash.go
package main
import (
"fmt"
"image"
"image/color"
"os"
"math"
"path/filepath"
_ "image/gif"
@kaja47
kaja47 / branch-test.c
Last active Aug 29, 2015
branch prediction test
View branch-test.c
#include <stdio.h>
#include <stdlib.h>
#include <immintrin.h>
// gcc -std=c99 -D IS_RAND=0 branch-test.c ; for i in -1 -2 1 3 2 4 8 16; do echo '### ' $i; perf stat -r5 -o _stats_pred_base --append ./a.out $i; echo; done
// gcc -O3 -std=c99 -D IS_RAND=0 branch-test.c ; for i in -1 -2 1 3 2 4 8 16; do echo '### ' $i; perf stat -r5 -o _stats_pred_o3 --append ./a.out $i; echo; done
// gcc -std=c99 -D IS_RAND=1 branch-test.c ; for i in 8 16 32 64 128 256; do echo '### ' $i; perf stat -r5 -o _stats_rand_base --append ./a.out $i; echo; done
// gcc -O3 -std=c99 -D IS_RAND=1 branch-test.c ; for i in 8 16 32 64 128 256; do echo '### ' $i; perf stat -r5 -o _stats_rand_o3 --append ./a.out $i; echo; done
@kaja47
kaja47 / matcher-obvious.php
Last active Aug 29, 2015
Matcher examples
View matcher-obvious.php
<?php
$m = Matcher::multi('//table[@id="egmFixtureList"]/tr[@class]', [
'datum' => 'td[@colspan]',
'spielnr' => 'td[1]',
'anpfiff' => 'td[2]',
'team1' => 'td[3]/a/text()',
'team2' => 'td[5]/a/text()',
'spielbericht' => 'td[7]/a/@href',
])->fromHtml()->map(function ($rows) {
@kaja47
kaja47 / gist:482a80a4054bb4572cc5
Last active Aug 29, 2015
scala vs. swift (round 1)
View gist:482a80a4054bb4572cc5
let yetAnotherPoint = (1, -1)
switch yetAnotherPoint {
case let (x, y) where x == y:
println("(\(x), \(y)) is on the line x == y")
case let (x, y) where x == -y:
println("(\(x), \(y)) is on the line x == -y")
case let (x, y):
println("(\(x), \(y)) is just some arbitrary point")
}
@kaja47
kaja47 / svd-img.scala
Created May 13, 2014
Visualization of truncated SVD
View svd-img.scala
import breeze._
import breeze.linalg._
import breeze.numerics._
import java.awt.image.BufferedImage
import javax.imageio.ImageIO
val f = ???
val img = javax.imageio.ImageIO.read(new File(f))
val gray = new BufferedImage(img.getWidth, img.getHeight, BufferedImage.TYPE_BYTE_GRAY)
val g = gray.createGraphics()
You can’t perform that action at this time.