2020年10月22日木曜日

ベッド横のスリムな照明+棚

ベッドの横にまぶしすぎない照明が欲しいと思い、東急ハンズで売っている木材で照明を組み込んだ小さな棚を作った。照明はセンサー付きのLEDで手をかざしてON/OFFできる。棚の部分には携帯電話、Kindleを置いて充電できるようにした。ほぼ直線だけで構成されているので簡単なはず。だがサイズ感を合わせたり、使い勝手を考慮するのはかなり手間がかかった。どこかに図面をおいとこうか思案中です。

2020年9月19日土曜日

SAS9のプロセスから環境変数の設定を生成

何かのスクリプトを使うときに億劫に感じるのが設定です。で考えたのが動いているプロセスから主要なプロダクトのディレクトリを探す方法です。
#!/bin/sh

function variable() {
    TEMPLSIT=`mktemp --tmpdir=/var/tmp XXX.sh`

    while read var cmd depth
    do
        ps --no-headers --format cmd -C $cmd | \
        awk -vcmd=$cmd '{ for(i = 1; i <= NF; i++) { if (index($i, cmd) > 0) { print $i; exit} } }' | \
        awk -vd=$depth '{ n = split($1, a, "/"); for (i = 2; i < (n + d); i++) { printf("/%s", a[i]) } print ""; }' | \
        awk -vvar=$var '{ printf("export %s=%s\n", var, $1 ) }'
    done << _EOF_
SAS_HOME   sasauth           -4
SAS_CONFIG MetadataServer.sh -3
LSF_HOME   mbatchd           -3
PM_HOME    jfd               -3
RTM_HOME   lsfpollerd        -2
GMS_HOME   gabd              -1
_EOF_

    rm -f $TEMPLSIT
}

variable
実行すると環境変数の定義を生成します。
[root@dwtcjp conf]# sh variable.sh
export SAS_HOME=/SAS/SAS_HOME
export SAS_CONFIG=/SAS/SAS_CONFIG
export LSF_HOME=/SAS/LSF_HOME
export PM_HOME=/SAS/PM_HOME
export RTM_HOME=/SAS/RTM_HOME
export GMS_HOME=/SAS/LSF_HOME/gms

2020年7月23日木曜日

英語キーボードでCapsLockに半角/全角を割り当てる

肩凝り対策でスプリットのキーボードBAROCCO MD770 RGBを使い始めました。英語配列なので半角と全角の切替が面倒です。デフォルトだとCapsLock+ShiftですがCapsLockだけで切り替えたいのでAutoHotKeyをインストールしました。デスクトップ上で右クリック、新規作成でAutoHotKeyの設定ファイルを新規作成して、6行目以降のの部分を追加します。
CapsLockで日本語/英語の切替、ESCキーを2回タイプで大文字/小文字を切り替えます。
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

CapsLock::
  Send, {vkF3sc029}
  return

Esc::
  Keywait, Esc, U
  Keywait, Esc, D T0.3
  If (ErrorLevel=1) {
    Send,{Esc}
  }
  else {
    SetCapsLockState % !GetKeyState("CapsLock", "T")
  }
  return

しばらくこれで使って身体を慣らします。

2020年7月6日月曜日

スクリプトに組み込むための1行コード(one-liner)

忘れやすいのでメモ
1. Unixの場合には-stdio オプションで、コードを標準入力から投入できる。

echo "proc options option=dms value; run;" |  sas -nodms -stdio

2.  Libnameを書かなくても任意のディレクトリにSASデータセットを出力できる。

 echo "data '/var/tmp/foo.sas7bdat'; set sashelp.class; run;" | sas -stdio

2020年6月9日火曜日

SAS Enterprise Guide 失効日

SAS Enterprise Guide 4.1-6.1を使っている人は要注意
2020年12月1日で失効するとアナウンスがあります。

Usage Note 33359: SAS® Enterprise Guide® expiration dates

https://support.sas.com/kb/33/359.html

2020年6月4日木曜日

RHEL7 で ntpの時間が合わない

解決に時間が掛かったのでメモしておきます。
/etc/ntp.conf にサーバ設定して、自動起動で enable にしても時間が合わない現象にぶつかりました。結果としてうまくいったのは、systemctl disable chronyd を無効化して止めるでした。デフォルトは、システムクロックに合わせるようになっていた。

訂正
/etc/chrony.conf にサーバ設定するのが正解でした。

2020年5月9日土曜日

SAS Enterprise Miner Web Clientの起動

パスを良く忘れて、検索で見つかりにくいのでメモしときます。
http://sample.hostname.com:7980/SASEnterpriseMinerJWS/Status