Home > Archives > June 2017

June 2017

テンポが悪い

不正防止教育の e-learning 教材のテンポが悪すぎてイライラ.文章読み終わってるのに一定時間表示してないと先に進めない仕様で.時間が無駄.サクサク動くものを用意しろ.

チョーク折れまくり

どうも講義室のチョークがぽきぽき折れまくって困る.力のかけ過ぎな気もするのだけど,こんなに折れやすかったっけ? と悩むくらいに折れまくる.

湿気てる?

BrainFuck で golf る

30バイトの BrainFuck プログラムで意味のある単語を出力したいけれど難しいねという問題.大学の略称3文字でも 40バイトくらい必要なので悩ましい.

とりあえず,Unicode 対応の BrainFuck とかあれば漢字一文字で意味のある出力ができるかもなぁと思った今日このごろ.

そして自分でインタプリタを書き始めるも putwchar の使い方がよくわからず失敗する.つーか,locale 周りが全く分かってない.

年齢++;

めでたし?

LDAP で ssh の公開鍵管理

ホームディレクトリを共有しないマシン達で ssh の公開鍵だけでも共有したいなと.何やら LDAP に置けるらしいのでやってみた.

とりあえず,LDAP サーバでスキーマ追加.sshPublicKey を持ち得る ldapPublicKey というオブジェクトクラスを定義する.

cat > openssh-lpk.ldif <<'EOF'
dn: cn=openssh-lpk,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: openssh-lpk
olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
  DESC 'MANDATORY: OpenSSH Public key'
  EQUALITY octetStringMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
  DESC 'MANDATORY: OpenSSH LPK objectclass'
  MAY ( sshPublicKey $ uid )
  )
EOF
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif

次に,ssh サーバにスクリプトを置いて LDAP から鍵を取れるようにする(ドメインとかはテキトウな値を書いている).

cat > get_pubkey_LDAP <<'EOF'
#!/bin/bash
if test ${EUID:-${UID}} != 0; then
    echo "run as root"
    exit 0
fi
if test "x$1" = "x"
then
  echo "usage: $0 UID"
  exit
fi
uid=$1
dcs="dc=fuga,dc=hoge,dc=jp"
ldapsearch -x -H ldapi:/// -b $dcs -LLL -D cn=admin,$dcs -w admin_pass_here "(& (objectClass=posixAccount) (uid=${uid}))" "sshPublicKey" | sed -e '1d;s/^ //' | sed -e 'H;$!d;g;s/\n//g' | sed -e 's/sshPublicKey: /\n/g' | sed -e '1d'
EOF
chmod 700 get_pubkey_LDAP
sudo cp get_pubkey_LDAP /etc/ssh/get_pubkey_LDAP

そして /etc/ssh/sshd_config にこのスクリプトを使うように追記:

AuthorizedKeysCommand /etc/ssh/get_pubkey_LDAP
AuthorizedKeysCommandUser root

もともと ~/.ssh/authorized_keys が有効なら,これで authorized_keys と LDAP と両方見に行ってくれる.

あとはユーザアカウント毎に鍵を LDAP に入れる.そのためにまずアカウントを ldapPublicKey クラスに入れる:

username="your_account_name"
dcs="dc=fuga,dc=hoge,dc=jp"
cat << << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here
dn: uid=$username,ou=people,$dcs
changetype: modify
add: objectClass
objectClass: ldapPublicKey
EOF

そしてユーザの鍵を追加する:

username="your_account_name"
dcs="dc=fuga,dc=hoge,dc=jp"
pubkey=$( cat $YOUR_PUBLIC_KEY )
cat << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here
dn: uid=$username,ou=people,$dcs
changetype: modify
add: sshPublicKey
sshPublicKey: $pubkey
EOF

なお,LDAP に鍵は複数個登録可能.あとは ssh サーバに置くスクリプトが複数の鍵に対応してればいい(と思う).

作業が捗る

日曜の大学は静かでいいなと.平日休んで土日に出勤しても良いような気もするのだけど,実際問題としてどうなんだろう?

就業規則で休日がどう定義されているかと裁量労働制の適用時にどういう扱いなのかか.でも振替の処理があるから特定の期間で日数だけあってれば問題ないような.そのうち給与まわりの部署にでも問い合わせて見ようかね.

まあ,毎日講義があったら無理だけど.

Facebook テロ

Facebook が「知り合いかも」とかいうデスクトップ通知が出てくるのだけど,夜に来た通知に乗ってる顔写真が怖いとビビる.写真は適切に設定しなければならないなと思う今日このごろ.

駐車場で

「車空空空空空車」という状態でなぜ「車空空車空空車」と止めるのかわからない.次の車が来たら必ず隣り合うので事故の確率が上がるのに…… 「車空車空空空車」としておいてくれればもう一台は両隣が空きとなってぶつかりにくい.

というか広い空間のまん中にとめるという考えなだけかもしれない.

500円玉651枚を預入

11時頃に郵便局に行って 500円玉達を預入.窓口でメッシュポーチ入りの500円玉達 4.5kg と通帳を渡し,そこから金額のチェックで20分弱かかった.迷惑な客だな(と思って空いてる時間帯に行ったら空いてたので問題なかろう).窓口のお姉さんも暇そうだったので500円玉貯金を流し込みに来る人がどの程度いるのか聞いておけばよかったかも.

そしてこの口座は水道代の支払いにしか使ってないのだけどお金を移すのも面倒なのでそのまま放置.25年分の水道代.

閑話休題.

どうも 5限目が 18:00 終了だと思ってしまうのだけど何故だかわからない.17:50 終了というのがキリが悪くて覚えられないのかもしれない.

コンビニのポイントカードの有効利用

端数を払いきれない時にポイント消費でお釣り減らす,という使いみちをコンビニのレジの人から教わる.なるほど.

もはや電子マネーで支払えよということかもしれないけれど 500円玉を生成するためにも現金支払いはやめられない.

今日のブツクサ

目的があやふやな状態で複数の手段の良し悪しを議論しろとか言われても困るんだけど.目的はっきりさせろよ.まともな議論ができない状態で議論するとか時間の無駄.マネージメントの部分の専門家を置くべき.

閑話休題.

雨だ.梅雨だ.涼しくて良いね.

Fault Tolerance

日本語にした時に「耐故障性」なのか「耐障害性」なのかという話がでた.JIS X 0014:1999 の定義に従えば Fault は「障害」なので「耐障害性」が正しい?

そもそも JIS の用語としてはカタカナで「フォールトトレランス」なので漢字で書くのが間違いなのかもしれないけれど.

梅雨はどこ行った……

暑い.夕方に帰る時に見た車の外気温計は 33℃.暫く出かけないので常に雨降って涼しくなってて欲しい気分.

というか梅雨の定義ってなんだっけ?

500円玉貯金

2015年11月23日に最初の500円玉を投入した貯金箱に 500円玉が入らなくなったので開封.


約19ヶ月で 32万5500円也(20枚のタワーが32本+端数11枚でトータル651枚).平均1日1枚ちょっとの投入.というか1年半で30万か.なるべく 500円玉をゲットできるように努力したけれどもこれ以上のペースは無理な気がする.

なお,トータルの重さは体重計で測って 4.70 kg だった.500円玉1枚が 7g なので 651枚で 4557g.貯金箱の重さがググった値で 132g とのことなので,何故か入っていた10円玉1枚4.5gと合わせればトータル 4693.5g で OK でしょう.

さて,郵便局に用のある時についでに入金してくるか.持ち運びと受け渡しが悩ましいけれど.

閑話休題.

貯金箱の中の500円玉の並びというか配置ってのはどうなるもんなんだろう? 上の写真を見ると縦方向に積み重なる傾向が強いけれど横方向に重なっているのもいるし.何となく多結晶体な気分.きれいに揃えさせるためにはどうしたら良いのだろうか.

少々ブチ切れる

秋に外で高校生相手に30分の講義をするという話があって,その講義のタイトルと概要を書いて提出てくれと依頼があった.事務側の不手際で制限時間が半日程度になってしまった状態で.

今は毎日講義する状態に突入してて余裕が無いのにそんなものを半日で用意できるかボケということで,まともな講義を考えるために時間をよこせと返事をしたら,「こっちでたたき台を作るので赤入れるだけでいいから土日でやって下さい」とか返ってきて…… 内容の分からん事務の考えた講義概要のたたき台とか意味不明.結局全部コッチで考え直さないといけないので何の手間も省けない.事務的には情報さえ揃っていれば良いと思っているのだろうけど下手なこと書いといて後で文句言われたり不利益を被るのはコッチなわけだし.無責任というか非常識というか頭使ってない感にブチ切れモード突入.つーか元々土日も潰れとるわボケ.そもそもこの時期に時間の余裕がないとは前もって伝えていたのに何なんだか.

ということで,その後に掛かってきた電話に少々ブチ切れ状態で対応.結局対応を上流と相談するとのことだったけどその後に連絡ないのでどうなったのか不明.動きようがないので土日は予定通りに来週の講義の準備をする.

ビットコインが安くなった

bitFlyer の取引所の価格を見てみたら,1BTC が 25万程度に落ちていた.昨日は30万をキープしていた気がするのだけど.

やっぱ他の通貨とかより変動が大きいのかね.運が良ければ大きく儲かりやすいのかもしれない.

閑話休題.

資料修正が終わらない.

郵便局で振込する

コンビニで処理できないタイプのゆうちょ銀行用振込用紙での振込は,用紙が届いてから定期的に振込に行かなきゃと思い出しつつも郵便局に行くのが面倒でなかなか実行されない.金を支払うためだけに物理的に大きく移動する労力を伴わなければならないのが気に入らない.

けど,最近2枚目が届いてしまったのでいい加減にコミットしてきた.ぶっちゃけクレジットカードでオンライン決済したい.物理的に移動するのは面倒.実は可能かもしれないけれど.

カンカン、カンカン朝っぱらからウルサイ

横の新築の家の足場の解体に朝8時からうるせぇ.昨日(今日)の夜は遅かったんじゃボケ.

そして9時には鳴り止む…… 昨日の夕方にでも解体してくれてれば問題無かったのになんで今朝やったん? 何となく前も土曜の朝っぱらに騒音出しておやつ時には静かになったりしてたので,実はうるさい作業は朝にやるとかいう決まりがあったりするのだろうか.夕方やるには気が滅入るとか?

寝室を反対側の部屋に変えて寝れば良い気もするけれど物置作業部屋なので難しい.

今更ながらに BrainF*ck

いろいろな言語で 1 から n までの足し算を書いてみようとかいう内容の演習で,ひとつくらいは変な言語を入れたほうが経験になるよねということで BrainF*ck をやってみることにした.少なくとも整数値が扱えるし文字の出力もあるし.

で,今日はその準備で…… 実は値をコピーするだけでも面倒だということに気づいた.ポインタひとつしかないし,ループも非ゼロ判定での繰り返ししかないし.とりあえず元の値がゼロになるまで他の2箇所をインクリメントしてコピー2つを作ってあげて,その後に元の値が壊れてしまったのをコピーひとつ壊して修復してあげる,というので良さげだけど.あとはゼロ判定で何かしたい時に if(i==0) を実現するのに変数の値のゼロ非ゼロをひっくり返さないとならないので手で書くのはめんどい.そもそも while を if の代わりに使うには述語の値をゼロに落とすことになるので値が破壊されてめんどいし.

あとは数を10進数で出力するってのも結構めんどい.割り算がないのでまずはそれを実装する必要があるし.とりあえず,除数を引けた回数をカウントするという実装にしてみたけれど,もっとスマートな方法があればいいなぁ.というか,割り算を「除算」って言うのは除数を除いていけばいいからなのか?

発掘作業 → 諦める

一昨年作った講義ノートが行方不明で.去年使った後にどこへ仕舞い込んだのやら.一週間各所で発掘作業を繰り返してみたけれど見つからないので諦めた.

ということで去年作ったスライドをベースに板書用に焼き直し.

そして発掘作業の副作用として HDD とかメモリとかCPUとかが発掘されたのでイントロの資料として持ってくか.

AZ スクリーン レコーダー

Android の画面を録画できるアプリがあったので試してみた.外部の音を拾うという仕様なのでスマホでプレゼンしたのを音声つきで録画可能.

だがしかし,長時間記録するには microSD の大きめのを買ってこないとダメかも.

ビットコイン

1 BTC が 30万とかになってるので,昔入手して放置してたビットコイン 0.2 を bitFlyer で売って6万ゲット.玄人志向の GeForce GTX750 を 1.5万で買ってモナコインを掘って遊んでみたときのなので,電気代を誤差だと思えば 4.5万プラス?

あとの端数は価格が10倍になるまで放置.

帰ってきたら日が変わってるし

日帰り出張キツイ.朝5時に出て深夜1時に帰ってくる.これでも「日帰りできるんだから宿泊は認められません」とかで…… (うちの大学ではなく外の予算だけど.まあ,地方のことなんか知らんところの事務なのでしょうがない.)

宿題

割り当てても結局まともにやってこない.割り当てるだけ無駄.真面目にやるだけ損.

どうにかならんのか.

梅雨入り

雨降って気温が低めになるのはよいけれど,湿度が高くなるのは悩ましい.

そして車のガラスのコーティングが死んできているのはどうしよう? 施工するのめんどいからワイパーでいいか.

クイックソートの計算量?

O(n log n) の計算量を達成するには常に半分半分にしていきたいので,ピボットは中央値にしたい.ところで中央値を探し出すのは選択アルゴリズムで O(n) で出来る.つまり,クイックソートは常に O(n log n) でできる ……とか言ったら怒られるのだろうか? ピボット選択を O(1) でやる the クイックソートは最悪 O(n^2) だろうけど,そこに O(n) の計算量を掛けてもクイックソートだよね?

ということで,クイックソートが何なのかわからない今日このごろ.

むしの日

「虫」以外にも「蒸し○○」の記念日でもあったのか.さすがに「無視」の日ではないらしいけど.

そして部屋にはアシダカグモがまた出没.

暑い

エアコン付けずに昼寝してたら室温30℃で暑くて起きた.ふらふら.

閑話休題.

アーモンドミルクを幾つか試した結果,最終的にグリコのアーモンド効果(砂糖不使用)に落ち着いた.香りがよろしい.

悩ましい

参考文献として挙げられているものに答えそのものが書いてあるのに何故間違ったことがレポートに書かれているのか.読んでないんだか読み違えているのか判断できないので悩ましい.

dポイントカード

ローソンでキャンペーンのポイントをカウントするのに使うのが正しいと気づいた.年末に機種変したときに貰って使い道ないなぁと思っていたのだけど.

あとは会計の端数をポイントから引いてあげると財布が軽くなる.

Home > Archives > June 2017

Search
Feeds

Page Top