Skip to content

Instantly share code, notes, and snippets.

View iwiwi's full-sized avatar
🏠
Working from home

Takuya Akiba iwiwi

🏠
Working from home
View GitHub Profile
@iwiwi
iwiwi / dblp.rb
Created April 8, 2013 12:37
DBLP dump parser for generating multiple networks
#!/usr/bin/env ruby
#
# dblp.rb --- Parse dblp.xml to generate graphs
#
# Usage:
# dblp.rb author <dblp.xml --> co-author network
# dblp.rb key cite <dblp.xml --> citation network
# dblp.rb key author <dblp.xml --> paper-author network
# dblp.rb key venue <dblp.xml --> paper-venue network
@iwiwi
iwiwi / qsub.rb
Last active April 27, 2016 06:13
Torque job machine-gun
#!/usr/bin/env ruby
#
# qsub.rb --- Torque job machine-gun
#
# Usage:
# 1. Rewrite the shell script template & parameters
# 2. Execute
# $ qsub.rb (cat) --> Output generated shell scripts
# $ qsub.rb sh --> Execute locally
@iwiwi
iwiwi / WebGraphDecoder.java
Last active September 17, 2021 09:32
Download and decode WebGraph format graphs
import it.unimi.dsi.fastutil.ints.IntArrayFIFOQueue;
import it.unimi.dsi.fastutil.ints.IntArrays;
import it.unimi.dsi.logging.ProgressLogger;
import it.unimi.dsi.webgraph.GraphClassParser;
import it.unimi.dsi.webgraph.ImmutableGraph;
import it.unimi.dsi.webgraph.LazyIntIterator;
import java.io.*;
import java.util.*;
@iwiwi
iwiwi / crawler.rb
Last active September 20, 2023 10:58
Lightweight parallel web graph crawler
#!/usr/bin/env ruby
#
# crawler.rb --- Lightweight parallel web graph crawler
#
# Usage:
# ./crawler.rb START_URL TARGET_REGEXP
#
# Output:
# stdout --- edge list (tab separated URLs)
@iwiwi
iwiwi / sockets.rb
Last active December 17, 2015 16:39
#!/usr/bin/env ruby
#
# sockets.rb --- by Takuya Akiba (@iwiwi)
#
# Usage:
# sockets.rb PID
#
`ls -l /proc/#{ARGV[0]}/fd | grep [s]ocket`.scan(/\[([0-9]+)\]/).each_with_index do |m, i|
@iwiwi
iwiwi / shrink_ids.cc
Created June 10, 2013 12:32
Convert edge lists described by names to those described by 0-indexed vertex IDs
/*
* Basic usage:
* $ CXXFLAGS=-O3 make shrink_ids
* $ ./shrink_ids < EDGES > SHRINKED_EDGES
*
* Example:
* $ echo "hoge piyo\nfuga hoge" | ./shrink_ids
* 0 1
* 2 0
*
@iwiwi
iwiwi / xorshift.h
Last active September 17, 2015 07:46
/*
* An xorshift random generator implementation, which is compatible to std::random.
*
* References:
* - http://cpplover.blogspot.jp/2013/03/blog-post_22.html
* - http://xorshift.di.unimi.it/xorshift64star.c
* - http://xorshift.di.unimi.it/xorshift1024star.c
*/
#include <random>
@iwiwi
iwiwi / jlog.py
Created June 5, 2016 02:25
Python implementation of JLOG (cpp-json-logger)
# Copyright 2016, Takuya Akiba
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
import numpy as np
import sklearn.datasets
import sklearn.ensemble
import xgboost
N_TRAIN = 60000
NS_ITERATIONS = [2 ** k for k in range(8)]
MODELS = [
('RandomForestClassifier', sklearn.ensemble.RandomForestClassifier, {'n_jobs': -1}),
# 普通の場合
>>> class A:
... def hello(self):
... print('hellooooo')
... def __len__(self):
... print('lennnnnn')
... return 10
... def __call__(self):
... print('calllllled')
...