sttsのソースコードMemoブログ

色々やってみた結果のMemo

ConoHaの友達紹介URL

ConoHaの友達紹介URL

VPSをConoHaに移行しました。

ついでに友達に紹介されると1000円のクーポンが貰えるらしいので、紹介される友達のいない人のために紹介URLを張っておきます。↓ぜひここから登録してください。清楚かわいいですよ。

https://www.conoha.jp/referral/?token=WAu27ixWqbUnM_te06CNhK5WDpDf.Yathr.cSiTppwjVLRR8T7g-R92

 

(紹介する側は、紹介した友達が2000円使うとクーポンが貰えるらしい。。。)

紹介する友達がいない。。。

 

 DMM mobileの友達紹介URL

さらについでにDMM mobileは、紹介した、紹介された両方に通信量1GBプレゼントだそうです。↓

https://mvno.dmm.com/-/i/?i=MSz6gz8

CentOS6でGDMとGnomeの電源ボタンを無効化する

CentOSでGDMとGnomeの電源ボタンを無効化する方法

かなりググって見つけたCentOS6では上手くいったけどCentOS7では上手くいかない。。。

/var/lib/polkit-1/localauthority/10-vendor.d/20-shutdown-restart.pklaファイルを下記内容で作成

[Disable stop/restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.stop-multiple-users;org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.restart-multiple-users
ResultActive=no
ResultAny=no

/var/lib/polkit-1/localauthority/10-vendor.d/20-suspend-hibernate.pkla ファイルを下記内容で作成

[Disable suspend]
Identity=unix-group:*
Action=org.freedesktop.devicekit.power.suspend;org.freedesktop.devicekit.power.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

次を実行

# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory -t bool -s /apps/gdm/simple-greeter/disable_restart_buttons true
# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory -s /apps/gnome_settings_daemon/keybindings/power -t string ""

kml,kmz,gpxファイルからワット数を計算サイトを作った

自転車で走行中に記録したGPS情報(スマホGPSロガー)のKML/GPXファイルからワット数を計算するサイトを作りました。

[ロードバイク]GPSからワット数計算

仕組み

転がり抵抗、空気抵抗のワット数計算

GPSの緯度経度と経過時間から速度を求め、転がり抵抗と空気抵抗のワット数を計算します。
転がり抵抗と空気抵抗は、風速/路面状況等の情報が無いため適当な計算です。

登板抵抗のワット数計算

GPSの標高と経過時間から登坂抵抗のワット数を計算します。 登板抵抗はGPSと体重からで正確に計算できます。
登板抵抗が正確なため上り坂のGPSデータを推奨します。

加速、減速に費やしたワット数

計算していません。

TODO:いつか実装したい機能

さくらVPSが安かったから借りてみた

ひとまず初期設定ガイド↓を参考にiptables等の設定をした。

https://help.sakura.ad.jp/app/answers/detail/a_id/2429

あとは必要そうな物をインストール↓

# yum install httpd
# yum install php
# yum install php-pdo
# vi /etc/sysconfig/i18n
 LANG="ja_JP.UTF-8" ←書き換え

Solaris11でWindowsとファイル共有

Solaris11のインストール

以下を参考にしてインストールしました。

http://www.kkaneko.com/computer/solaris/sol11.html

SMB

以下を参考にファイル共有しました。

http://www24.atwiki.jp/pcmbeta/pages/39.html

パッケージのインストールやサービスの起動は以下の操作をした。

root@testsolaris:~# pkg install 'pkg://solaris/system/file-system/smb' 'pkg://solaris/service/file-system/smb'
root@testsolaris:~# svcadm enable -r smb/server
root@testsolaris:~# svcadm enable -r smb/client

/etc/pam.d/otherの最後に以下を記載

password required pam_smb_passwd.so.1 nowarm

passwdコマンドでパスワードを再設定

root@testsolaris:~# smbadm join -w workgroup

以下のように共有した。

root@testsolaris:~# zfs set share.smb=on rpool/export/home/testuser

終わり

C言語でバイナリサーチ

C言語でバイナリサーチをするサンプルです。

#include 
#include 
#include 

static int cmp(const void *p1, const void *p2) {
	char *c1;
	char *c2;

	c1 = *(char **)p1;
	c2 = *(char **)p2;
	//printf("cmp %s - %s\n", c1, c2);
	return strcmp(c1, c2);
}
int main (int argc, char *argv[]) {

	int number = 0;
	char *list[4096];
	char buf[4096];
	FILE *fp = NULL;
	char **ret;
	int i;

	fp = fopen(argv[1], "r");
	while ( fgets(buf, sizeof(buf), fp) != NULL) {
		list[number] = strdup(buf);
		number++;
	}
	fclose(fp);
	
	qsort(list, number, sizeof(char *), cmp);

	if (argc == 3) {
		ret = bsearch(&(argv[2]), list, number, sizeof(char *), cmp);
		if (ret != NULL) {
			printf("find! %s\n", *ret);
			exit(1);
		}
	}
		
	for (i=0; i<number; i++) {
		printf("%s", list[i]);
	}
}

以下のように実行します。

$ ./a.out ソート対象の入力ファイル 検索対象の文字列

もっと高級言語を使いたい。。。

zshrcのメモ

バックアップもかねてzshrc

# Enable compsys completion.
autoload -U compinit
compinit
zstyle ':completion:*:default' menu select=1 # Menu like emacs.
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}  # color completion.

bindkey -e # keybind is emacs.

# Prompt
setopt prompt_subst
PROMPT='%{%(?.$fg[green].$fg[red])%}[%n@%m]%# %{$reset_color%}' # left prompt
RPROMPT='[%~]'
autoload -U colors
colors

# History
HISTFILE=$HOME/.zsh-history
HISTSIZE=10000
SAVEHIST=10000
setopt extended_history # save command time.
setopt share_history    # share history in terms.
setopt append_history   # append
function history-all { history -E 1 }

# Beep
setopt no_beep

# cd
setopt auto_pushd
setopt pushd_ignore_dups

# PATH
# For homebrew
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
export MANPATH=/usr/local/man:$MANPATH

# for python
#export PYTHONSTARTUP=/home/sttshr/.pystartup