〜2015年8月上旬〜
bashで。
while [ "$a" = "${a%$w}" ]; do
というのも思いついたが、正規表現のほうが速いようだ。
#!/bin/bash w=進捗どうですか a= until [[ $a =~ $w$ ]]; do a+=${w:RANDOM%4*2:2} done echo "$a???" echo "$((${#a}+3))文字で煽られました"
2,093.4 MBとやけに少ないダウンロードサイズだったが、
それ自体は有線LANを用意してたので10分ほどで終了。
その後アップグレードに1時間ほど。
「通常よりも少し時間がかかっていますが、間もなく準備が完了します」
と表示していきなり電源が切れた。
しかも下部に「PCの電源を落とさないでください」と表示されていたわけで、
絶対にまずい状況だ。
すぐに電源ONしてみたがロゴが出た時点で切れた。
完全に熱暴走っぽい。扇風機で数分冷したら立ち上がった。
なんか特に問題なくログオン画面に移行した。
だが、なんか変だ。
エクスプローラーの起動がやたらと遅い。15秒以上かかる。
致命的なのはスタートメニューが出てこない。
右クリックは効くのでシャットダウンとかは可能だが、
設定が開けないのが痛い。
ぐぐってみるとPCをリフレッシュせよとあるが、
それにはまず設定を開かないといけない。
ということでコマンド名をぐぐってみるとWin-Rでms-settings:と入力すればいけるとあった。
これは動いた。「更新とセキュリティ」の「回復」を選んで、
「このPCを初期状態に戻す」を試すことにした。
初期化なのでインストールしたアプリはC:\Windows.oldへ全部移動となり、
もうWindows7へは戻せなくなる。
元々半年前にWindows7はインストールしたばかりなのとScanSnap専用マシンとしてたので、
初期化しちゃって構わない。
これが正解だったわけだが、続きは「さあ始めましょう」だけだった。
すべて解消した。スタートメニューも出てきたし、
エクスプローラーも瞬時に起動するようになった。
C:\Windows.oldは10GBほど食っているが、消しちゃって構わないだろう。
なんかすっきりした。
販売終了しているがドライバーはまだちゃんと置いてるのでインストール可能。
スキャナ ScanSnap : ドライバダウンロード : 富士通
まったく問題なく動作する。
結局買い替えた。1年振り。前回のM185よりはちょい高目で。って倍か。
今日は判子の日なのでより判子らしくするためにかすれさせてみた。
いろいろ方法はあるけど、-sketchがいい感じ?
% convert tyd2014-20.png -sketch 10x10 tyd2015-20.png
完全にネタ切れである。
そろそろYahoo Pipes!+IFTTTで動かしてbotをどうするか考えないといけない。
どこかfreeのPaaSと思って探しても今やOpenShift一択のようで。
とりあえずアカウント作った。
やっと見れた。一気に12話。最近はまとめて後で一気に見ることが多い。
一週ずつだと最初の話とか忘れてるし。
AWK で画像のテンプレートマッチングでnetpbmのP3形式を使っているけど、ちょっと納得がいかない。
Code 2.3-2 ppm2array.awkを見ると2行目は読み捨てているので、
1行がwidth分の画素で構成されていることが前提になっているような。
% convert org.png -type grayscale -compress none org_gray.ppm % head org_gray.ppm P3 90 120 255 219 219 219 220 220 220 219 219 219 218 218 218 220 220 220 221 221 221 219 219 219 219 219 219 220 220 220 220 220 220 220 220 220 220 220 220 220 220 220 219 219 219 219 219 219 220 220 220 220 220 220 221 221 221 220 220 220 219 219 219 219 219 219 220 220 220 220 220 220 218 218 218 219 219 219 218 218 218 218 218 218 219 219 219 219 219 219 217 217 217 219 219 219 218 218 218 220 220 220 218 218 218 218 218 218 218 218 218 218 218 218 218 218 218 219 219 219 217 217 217 219 219 219 222 222 222
でも実際は80バイトを超えないように改行されている。どうでしょう?
あとPPMじゃなくて最初からPGMに変換すれば%3しなくても済みます。
% convert org.png -compress none org_gray.pgm % head org_gray.pgm P2 90 120 255 219 220 219 218 220 221 219 219 220 220 220 220 220 219 219 220 220 221 220 219 219 220 220 218 219 218 218 219 219 217 219 218 220 218 218 218 218 218 219 217 219 222 211 204 197 214 213 214 215 215 215 215 213 212 211 210 208 204 200 188 166 135 96 70 68 66 65 65 65 65 66 66 68 70 77 178 246 247 248 247 247 248 248 248 248 248 248 248 248 248 218 219 220 220 220 221 220 220 221 220 220 220 220 220 220 220 220 220 220 220 220 219 220 220 219 220 219 219 219 219 219 218 219 218 218 219 219 218 217 217 217 221 209 205 195 212 214
というわけで、pgm2array.awkを考えてみた。
#! /bin/awk -f NR == 2 { width = $1 } NR == 3 { RS = "[\n ]+" } NR >= 4 { printf("%d%s", $0, (NR-3) % width == 0 ? "\n" : " ") }
calを使う例が惜しい。dateの%dは1桁の日付のときは01-09のように0がつくのでgrepで見つからなくなる。
ということは%eか%-dを使えばいいわけだ。grepには-wを忘れずに。
% cal -h | sed '1,2d' | grep -nw $(date '+%-d' -d8/1) | cut -d: -f1 1 % cal -h | sed '1,2d' | grep -nw $(date '+%-d' -d8/2) | cut -d: -f1 2 % cal -h | sed '1,2d' | grep -nw $(date '+%-d' -d8/8) | cut -d: -f1 2 % cal -h | sed '1,2d' | grep -nw $(date '+%-d' -d8/9) | cut -d: -f1 3
こんな感じ。まあ、sed,grep,cutはawkでもいい。
% cal -h | awk "/\<$(date +%-d)\>/{print NR-2}" 3