Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env bash
export MYPERL=$HOME/perl5/mymojo
echo "# Install CPANM"
curl -L http://cpanmin.us | perl -I $MYPERL - -f -l $MYPERL App::cpanminus
echo "# Install Loca::Lib"
$MYPERL/bin/cpanm -l $MYPERL local::lib
echo "# add 'myperl' to ~/.bash_profile"
echo 'export MYPERL=$HOME/perl5; myperl () { :;S=${1-mydev};eval `perl -I $MYPERL/$S/lib/perl5 -Mlocal::lib=$MYPERL/$S`; }' >> ~/.bash_profile
0.000874996185302734 1
0.00116109848022461 2
0.00148200988769531 3
0.0019071102142334 4
1.00795602798462 5
1.0085711479187 6
1.00913310050964 7
1.0098090171814 8
2.01733994483948 9
2.01780605316162 10
#!/usr/bin/env perl
use v5.18;
use Time::HiRes 'time';
use Parallel::ForkManager;
my $pm = new Parallel::ForkManager(4);
my @links = 1..60;
my $btime = time;
foreach my $link (@links) {
@qgp9
qgp9 / MustBeZeroInCompileTime.cxx
Last active November 2, 2016 11:36
How to check and limit C++ Template Parameters in a compile time.
#include <stdint.h>
#include <iostream>
template<int N> struct MustBeZeroInCompileTime {};
template<> struct MustBeZeroInCompileTime<0> {enum{check};};
template<int N> struct UnitType{};
template<> struct UnitType<1>{ typedef uint8_t type; };
template<> struct UnitType<2>{ typedef uint16_t type; };
template<> struct UnitType<4>{ typedef uint32_t type; };
#!/usr/bin/env python3
def load_on_default( obj, pargs ):
for k, v in pargs.items():
if( hasattr( obj, k ) ):
setattr(obj, k, v )
else:
print( "WARNING: the key \"{}\" is wrong.".format(k) )
class MyClass:
def __init__(self,**pargs):
@qgp9
qgp9 / brew_cask_upgrade_print.sh
Last active September 29, 2016 10:29
bash brew_cask_upgrade_print.sh | bash
#!/bin/bash
brew cask info $(brew cask list) | perl -nlE'/^(\S+):\s+(\S+)/ and chdir"/usr/local/Caskroom/$1/" and !-d$2 and say "brew cask uninstall $1 && brew cask install $1"'
@qgp9
qgp9 / SafeFormatter.h
Last active September 29, 2016 16:30
#include <string>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <stdlib.h>
class SafeFormatter{
public:
SafeFormatter( const char * s ):fForm(s),fIterator(fForm.begin()){}
void compile(){return ;}
template< typename T, typename ... A >
@qgp9
qgp9 / pythonic_range.cxx
Created September 19, 2016 23:06
pythonic range in C++11x
#include <iostream>
#include <vector>
#include <algorithm>
class Ranger {
public:
typedef int value_type;
struct iterator {
iterator(size_t counter) : counter(counter) {}
iterator operator++(){ return iterator(++counter); }
bool operator!=(iterator o) { return counter != o.counter; }
@qgp9
qgp9 / README.md
Last active September 18, 2016 00:14
run_tmux_remote.sh

USAGE:

./run_tmux_remote [-boh] command

OPTIONS :

  • w/o option : run (default) command on new tmux window and get in
  • -b : run command on new tmux in batch mode
  • -o : open last tmux window or new window
  • -r : run without default command
  • -w : generate example file for setup
  • -ws : generate run_on_tmux script ( this may be slightly faster than default )
  • -h : display this help