OpenCVは、画像処理・画像解析ライブラリ。
カメラから取得した画像を使って、なにかしてみようと思い使ってみる。
光沢のある丸いボタンの描き方
フラットなデザインが主流にもかかわらず、GIMP での光沢のある丸いボタン(アクア風のボタン)の描き方を書いてみます。ちなみに Windows ソフトでは TAKABO SOFT の AQUA MAKER2 という便利なソフトがあるので、それを使えば良い…と記事を書く段階になって知りました…正月から時間を使ってしまい泣きそう。
x11keymacs を Arch Linux で使ってみる
Yashiro Takeshi氏のプログラムで、キー入力を変換してくれるソフトウェアである x11keymacs を Arch Linux で使えるようにしてみた。Libre Office のキーバインドがどうしても我慢できなかったから。
続きを読む覆面算WWWDOT - GOOGLE = DOTCOMを解く
C言語でやってみた。やっつけのひどいコードだけども。
#include <stdio.h> #include <stdlib.h> #include <string.h> /* WWWDOT - GOOGLE = DOTCOM: EとMは互換 */ /* W > G */ /* WDOTGLECM */ /* 012345678 */ typedef enum { false, true } bool; enum { W, D, O, T, G, L, E, C, M }; long word(a1, a2, a3, a4, a5, a6) { return a1 * 100000L + a2 * 10000L + a3 * 1000L + a4 * 100L + a5 * 10L + a6; } bool calculate(int a[]) { long WWWDOT, GOOGLE, DOTCOM; if (a[W] <= a[G]) { return false; } WWWDOT = word(a[W], a[W], a[W], a[D], a[O], a[T]); GOOGLE = word(a[G], a[O], a[O], a[G], a[L], a[E]); DOTCOM = word(a[D], a[O], a[T], a[C], a[O], a[M]); if ((WWWDOT - GOOGLE) == DOTCOM) { printf("%ld - %ld = %ld\n", WWWDOT, GOOGLE, DOTCOM); return true; } return false; } bool candidate(int c[]) { int b[] = {0,1,2,3,4,5,6,7,8,9, 0}; static int index = 9; if (index < 0) { return false; } if (1 <= index) { memcpy(c, b, index * sizeof(b[0])); } if (index <= 8) { memcpy(&c[index], &b[index + 1], (9 - index) * sizeof(b[0])); } index --; return true; } void concatinate(int a[], int c[], int index) { static bool used[9] = {0}; int i; for (i = 0; i < 9; i ++) { if (false == used[i]) { a[index] = c[i]; if (8 == index) { calculate(a); return; } else { used[i] = true; concatinate(a, c, index + 1); used[i] = false; } } } } int main() { int a[9], c[9]; while (candidate(c)) { /* 9個の数字を取り出す */ concatinate(a, c, 0); /* 並び替えて検証する */ } return EXIT_SUCCESS; }
Sambaでファイルサーバ
HDDの容量が余っていたので、パーティションを分けて妻の写真フォルダ用にSambaでファイルサーバにしてみた。
HDDはバックアップ用と2つあるので、1つ目をパーティションを区切ってファイルをコピー、2つ目も同様にパーティションを区切ってコピーした。備忘録に手順を記しておく。
- パーティションを分ける
gparted を使った。ずっとfdiskとか使っていたけど、やっぱりGUIの方が視覚的にイメージできて楽だね。
[2015/11/28 追記] ファイルシステムに btrfs を選択するには、core/btrfs-progs のインストールが必要。
- Sambaの設定
ArchLinuxでごく簡単にsambaサーバーを立ち上げる - opamp_sando's blog
を参考にさせていただき、自身の環境に合わせて読み替えた。とくに /etc/samba/smb.conf での設定は、sample の最後に書いてあるグループフォルダの設定にした。
- バックアップ
もともと fcron で rsync を毎朝4時に実行してバックアップをとっていたので、新しいパーティションについても追記した。あと、日曜日まではファイルを残しつつバックアップをとって、日曜日に完全同期するようにしている。
$ fcrontab -e
#min hour days month dayOfWeek command
0 4 * * * /usr/bin/rsync --times --update --archive --verbose /mnt/hoge/ /mnt/hoge2/ >> ~/log/rsync
0 5 * * 7 /usr/bin/rsync --times --update --archive --verbose --delete /mnt/hoge/ /mnt/hoge2/ >> ~/log/rsync
こんな感じで。