Skip to content

Instantly share code, notes, and snippets.

View petitviolet's full-sized avatar
🕶️
😃

petitviolet petitviolet

🕶️
😃
View GitHub Profile
@petitviolet
petitviolet / hatenaBookmarkSearch.js
Created June 24, 2014 08:26
hatena bookmark search command at vimperator
(function() {
// change to your hatena user name!!!
var HATENA_USERNAME = 'petitviolet';
liberator.modules.commands.addUserCommand(
["hatena[bookmark]", "hb"],
"search from my hatena bookmarks",
function(args){
if (args.length === 0) {
liberator.echo('input a query!');
return false;
@petitviolet
petitviolet / vim_help.coffee
Created June 24, 2014 16:06
show vim help from hubot!
# Description:
# Show vim help anywhere!
#
# Commands:
# :help <keyword> - Show <keyword> vim help
require 'util'
module.exports = (robot) ->
robot.hear /:help\s*(.*)$/i, (msg) ->
@petitviolet
petitviolet / hatenaBookmarkTagSearch.js
Created June 25, 2014 03:15
hatena bookmark search by tags from vimperator
(function() {
liberator.modules.commands.addUserCommand(
["hatenaTag[bookmark]", "ht"],
"search from hatena bookmarks by tags",
function(args){
if (args.length === 0) {
liberator.echo('input a query!');
return false;
}
@petitviolet
petitviolet / fizzbuzz.scala
Created September 10, 2014 10:31
scala_fizzbuzz
object fizzbuzz {
def fizzbuzz(n: Int): Unit = {
}
def main(args: Array[String]) = {
val n: Int = args(0).toInt
for (i <- 1 to n){
i match {
case i if i % 15 == 0 => println("fizzbuzz")
case i if i % 3 == 0 => println("fizz")
case i if i % 5 == 0 => println("buzz")
@petitviolet
petitviolet / android_screen_shot.sh
Last active August 29, 2015 14:08
adb経由でscreenshotを撮る
#!/bin/sh
DATE_TIME=`date +"%Y%m%d-%H%M%S"`
FILE_NAME=${DATE_TIME}.png
TARGET_PATH="./"
SIZE="x480"
USAGE="
Usage: "`basename $0`" -t [target_path] -s [size]\n
@petitviolet
petitviolet / loading.sh
Last active August 29, 2015 14:11
loading indicator like `npm install`
#!/usr/bin/env zsh
loading() {
local count=30
if [ $# -eq 1 ]; then
count=$1
fi
for i in `seq 1 1 $count`
do
@petitviolet
petitviolet / addOnScrollListener.java
Last active August 29, 2015 14:21
ListViewにonScrollListenerをaddする
// リフレクション使ってもともとsetしてあるonScrollのlistenerを取ってくる
AbsListView listView = (AbsListView) mParentScrollableView;
AbsListView.OnScrollListener onScrollListener = null;
Class<?> listViewClass = mParentScrollableView.getClass();
try {
while (listViewClass != AbsListView.class) {
listViewClass = listViewClass.getSuperclass();
}
// field名は決め打ち
Field field = listViewClass.getDeclaredField("mOnScrollListener");
@petitviolet
petitviolet / ReflectionUtil.java
Last active August 29, 2015 14:26
Java reflection utility
public class ReflectionUtil {
private Field extractField(Object target, String name) {
for (Field field : target.getClass().getDeclaredFields()) {
field.setAccessible(true);
if (name.equals(field.getName())) {
return field;
}
}
return null;
@petitviolet
petitviolet / RegexStringMatcher.java
Created August 5, 2015 08:45
Regex Matcher for JUnit4 assertThat
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class RegexStringMatcher extends BaseMatcher {
private final Pattern mExpectedPattern;
public RegexStringMatcher(String expected) {
@petitviolet
petitviolet / primes.hs
Created September 5, 2015 05:01
素数判定
isPrime :: Integer -> Bool
isPrime n
| n <= 1 = False
isPrime n = not $ elem 0 [n `mod` x | x <- [2..floor $ fromIntegral n ** 0.5]]
primes :: [Integer]
primes = f[2..] where
f(p : ns) = p : f(filter isPrime ns)
-- f(p : ns) = p : f(filter ((/=0) . (`mod` p)) ns)