Skip to content

Instantly share code, notes, and snippets.

View ytnobody's full-sized avatar
♨️
Loves Sento

Satoshi Azuma a.k.a. ytnobody ytnobody

♨️
Loves Sento
View GitHub Profile
@ytnobody
ytnobody / crontab-with-env
Created October 26, 2012 23:38
crontab with env script
MYAPP_HOME=/home/ytnobody/work/myapp
SETLOCK=/usr/local/bin/setlock
LOGGER=/bin/logger
*/5 * * * * $SETLOCK /tmp/myapp.lock $MYAPP_HOME/bin/env $MYAPP/bin/getter | $LOGGER -t MYAPP
@ytnobody
ytnobody / env
Created October 26, 2012 23:36
env script for carton + perlbrew app on cron
#!/bin/sh
export HOME=/home/ytnobody
cd $HOME/work/myapp
. ~/perl5/perlbrew/etc/bashrc
perlbrew use perl-5.12.3
export PERL5OPT="-Ilib"
exec carton exec "$@"
@ytnobody
ytnobody / fizzbuzz.4th
Last active October 8, 2015 07:58
A practice for gforth (fizzbuzz question)
: SEQ ( nx ny -- nx ... ny )
SWAP OVER OVER
< IF
BEGIN
OVER 1 + SWAP
OVER OVER >=
UNTIL
DROP
ELSE
BEGIN
@ytnobody
ytnobody / mymap.pl
Created August 7, 2012 02:19
map function in pure-perl
sub mymap (&@) {
my ( $code, @list ) = @_;
my @res ;
for my $item ( @list ) {
$_ = $item;
push @res, $code->();
}
return @res;
}
@ytnobody
ytnobody / foo.pl
Created June 15, 2012 08:03
ハッシュに配列を入れておいてその配列からJOIN
use strict;
my %hash = (
hoge => [ 1, 2, 3, 4 ],
fuga => [ 3, 4, 6, 8, 2 ],
piyo => [ 4, 6, 9, 2 ],
);
print join ', ', map { join ': ', @{$hash{$_}} } keys %hash;
@ytnobody
ytnobody / lwp_basicauth_getparam.pl
Created May 16, 2012 05:58
LWP::UserAgentを使ってBasic認証+GETパラメータつきのリクエストを発行するサンプル
#
# LWP::UserAgentを使ってBasic認証+GETパラメータつきのリクエストを発行するサンプル
#
use strict;
use HTTP::Request::Common;
use LWP::UserAgent;
use URI;
# URIオブジェクト作成
use strict;
my @a = (1,2,3,4,5,6,7,8,9);
my @b = (5,2,9,3);
my @x = grep {
my $_1 = $_;
my $r = grep {$_ eq $_1} @b;
$r == 0;
} @a;
@ytnobody
ytnobody / langtags.pl
Created March 31, 2011 01:51
Example for using "I18N::LangTags"
#!/usr/bin/env perl
$| = 1;
use warnings;
use strict;
use Data::Dumper;
use I18N::LangTags qw/ :ALL /;
use I18N::LangTags::List;
@ytnobody
ytnobody / README.pod
Created February 18, 2011 09:29
jiku - javascript timer management object

NAME

jiku - javascript timer management object

SYNOPSIS

// slates setTimeout
var x = new jiku.timer( 'Timeout', 5000, [ 'mytag', 'test', 'link' ], function(){ ... } );

// slates setInterval
@ytnobody
ytnobody / README.pod
Created February 18, 2011 06:50
jcue - javascript job-queueing engine

NAME

jcue - javascript job-queueing engine

SYNOPSIS

// create a new jcue object with 
jcue.clock = 100;

// put job-queue to jcue