Skip to content

Instantly share code, notes, and snippets.

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

ncaq

🏠
Working from home
View GitHub Profile
@ncaq
ncaq / Opera Standard for UNIX for Dvorak like Emacs.ini
Created December 6, 2012 11:31
Opera Standard for UNIX for Dvorak like Emacs.Hit-a-Hint startkey is 's'.Hintkeys is 'aouihtns'
Opera Preferences version 2.1
; Do not edit this file while Opera is running
; This file is stored in UTF-8 encoding
[Version]
File Version=1
[Info]
Description=Opera Standard Keyboard setup for UNIX
Author=Opera Software ASA
@ncaq
ncaq / git_pull.zsh
Created January 18, 2013 14:35
ホームディレクトリ以下のgit管理ディレクトリを検索し, 全てにgit pullしていくだけのスクリプト. 検索したけど無かったから書いた. コンフリクトとかローカルリポジトリとか知らない.
#!/bin/zsh -x
cd
dotgitdir=(`locate -r "\/\.git$" | xargs`)
for i in ${dotgitdir}
do
cd ${i}
cd ..
git pull
done
@ncaq
ncaq / abced_metaflac
Created January 18, 2013 14:36
metaflacの操作がめんどくさくなってきたから書いた. 利便性はゼロに等しい. 恐らくCDの管理自体もっと良い方法が有るはず. あと初シェルスクリプトだから非常に汚い. バグとか知らない.
#!/bin/bash -x
cd /tmp
mkdir ncaqautocd
cd ncaqautocd/
ls | grep -v -E '(.jpg|.jpeg|.png)$' | xargs trash
yes '' | abcde -1 -M -o flac
@ncaq
ncaq / not_var_swap.c
Created January 18, 2013 14:43
重要なのは一行目のみ. 昔暇な時に考えた. 後で検索したら苦しんで覚えるC言語とかに書いてあった. しかももっとよい方法だった.
#define swap(a,b) (a=a+b,b=a-b,a=a-b)
#include <stdio.h>
void printAB(int a,int b)
{
printf("a:%d,b:%d\n",a,b);
}
int main()
@ncaq
ncaq / etags-auto-update
Created March 23, 2013 15:11
ファイル更新した時に自動でTAGSファイルを更新
;;emacsで保存した時にetags更新
(defun etags-update ()
(if (file-exists-p "./TAGS")
(shell-command "etags *")))
(add-hook 'after-save-hook 'etags-update)
@ncaq
ncaq / gist:5325867
Last active December 15, 2015 21:29
vectorの中にあるshared_ptr全てをアップキャストする方法がググっても見つからないので自作してみました. 絶対なにかまともな方法が有るはず.誰か教えてください. 解決しました https://twitter.com/ncaq/status/320510856112771072
#include <vector>
#include <memory>
#include <type_traits>
using namespace std;
class Super
{
public:
virtual ~Super(){};
};
@ncaq
ncaq / gist:5353230
Created April 10, 2013 09:40
Dropbox形式の写真ファイルネームからCopy形式に
#!/bin/zsh
#photo_list=(`ls -d -b --color=never *.jpg`)
for old_photo in *.(jpg|png|mp4)
do
new_photo=`echo ${old_photo} | perl -pe "s/[-_.]//g"`
new_photo=`echo ${new_photo} | perl -pe "s/[ ]/_/g"`
new_photo=`echo ${new_photo} | perl -pe "s/^/IMG_/g"`
new_photo=`echo ${new_photo} | perl -pe "s/jpg/.jpg/g"`
@ncaq
ncaq / fontsymlink.sh
Created July 29, 2013 07:58
Androidをインストールするたびに手動でやるのがめんどくさくなったので
@ncaq
ncaq / gist:6753603
Created September 29, 2013 15:46
D言語で関数の部分適用する方法 カリー化することも多分出来る
import std.stdio;
pure int f(in int x,in int y)
{
return x + y;
}
pure auto g(in int x)
{
return (in int y) => f(x,y);
@ncaq
ncaq / gist:7262765
Created November 1, 2013 09:03
このコードはエラーとなる. ならば,コンストラクタは,mutable版とimmutable版の2つを定義するしか,mutableとimmutableに対応する方法はない? 対応できるのに,そういうことをするのはスマートじゃないと思うのですが
class A
{
this()const
{
a_ = 0;
}
private
{
int a_;