月別アーカイブ: 2019年1月

プリンタが壊れた

長年使ってきたプリンタがついに壊れたようです。メーカー保証はもうとっくに切れていて、修理は有償修理になるようです。

残念ですが、仕方ありませんね。 2012 年に発売されたモデルですので、6年間持ってくれたことになります。十分元は取れたと思います。思いますが、壊れると困ります。なんだかんだでプリントするものはありますので、どうしても直近必要なプリントに関してはセブンのネットプリントを使うとして、今後どうするか決めねばなりません。

  1. 修理して使い続ける。
  2. あきらめて新品を購入する。

1. に関しては、1万円近くかかることから除外。 2. はどんな製品を購入するかによって予算が変わってきます。プリントだけを行う機種でいいのですが、安い機種を選択するとインク代が高くなると言うシステム。インク代で利益を出そうというビジネスモデルだけに、使う側からすると悩ましいですね。

実は使っていたプリンタは。キヤノン:インクジェットプリンター PIXUS iP7230 | 概要という機種なのですが、いまだにキヤノンの純正ショップでも取り扱いがあるロングセラーです。この間、新製品はだいたい半年に1度ぐらいのペースで発売されてきて、ほとんどの機種が消えて言っている中で、この機種は純正ショップでの取り扱いがいまだにある。ならば、この機種をもう一度購入しようかな。今、その方向で考えています。

実は壊れるとは思ってなかったので、インクの買い置きも少しですがあります。プリンタの機能としては全く不満がなかったので、リピート購入する。これもありだろうと思っています。


イギリスはすべての戦いに敗れるであろう。最後の戦いを除いては。

ウィンストン・チャーチル

ラーメン・メモ: Aishin

毎週土曜日の昼はラーメンです。今まで記録を取っていなかったのでその記録です。今回は、新潟市の河渡にある Aishin さんの海老寿久担々麺です。

濃厚ですね。近くには何度も言っていたのに、存在に気がついていなかったお店です。私が気がついてなかっただけで、人気店ですよ。伺ったときは新潟市も雪が降っておりまして、開店 10 分前についたのですが、もう車が数台止まって待機していました。入店した後すぐに座席が埋まってしまいました。こんな人気店があったなんて気がついておりませんでした ( 私だけ ) 。

さて、スープは濃厚。ラー油の辛味もほどよく、スープのおいしさが際立ちます。商品名になっている海老の風味は、私あまり感じなかったのですが、うまみはたっぷりでした。海老のうまみを抽出してあるんですかね。麺の方は細麺で多少ウェーブがあるのかな。スープが濃厚なので、よく絡んで美味しかったです。前回も書いたかもしれませんが、私は猫舌なので、すぐ伸びてしまう細麺は苦手です。ですが、担々麺にはやっぱり合うのかな。火傷しないように注意しながら、伸びないように素早くいただきました。美味しかった。


何とかなる。それは、やることをちゃんとやっている人のセリフ。

リトルミイ

日本語と半角英数の間にスペースを挿入する

最初に言っておきますが、コピペです。作者の方にはまだ許可を取っていません連絡しました。。私が書いたコードではありませんです。

私も困っていたんです。半角英数が日本語の中に突然挿入されると、見にくいと思いませんか。私は改行位置云々よりも見にくくって仕方がありませんでした。で、半角英数が間に挟まる場合に自分で半角スペースを挿入していました。これめんどくさいんですよね。つい忘れるし。

ということで、つらつらと Web を徘徊していたら見つけてしまいました。まさにこれです。これ! ということで、早速コピペしましたよ。

WordPress  にて日本語文中で半角英数字の使用するとき前後に狭いスペース   を自動で挿入し文字間隔(字送り)を調節する関数をつくりました。変な位置での改行がなくなるし、半角英数字の前後に少し間が開くので文章も読みやすくなります。 

WordPress にて日本語と半角英数字の間に狭いスペースを自動で挿入する : トイレのうず/ブログ

これです。丁寧な説明がリンク先にありますので、それを参照していただければ OK です。しかし、同じような悩みがある場合、あちこちリンクをたどるのも何ですので、コードはこっちにも書いておきますね。

function add_space_full_width_half_width( $content ){
	//<pre>タグで分割
	$content_arr = preg_split('/(<pre\s*(?:"[^"]*"|\'[^\']*\'|[^\'">])*>.*?<\/pre>)/is', $content, -1, PREG_SPLIT_DELIM_CAPTURE);
	
	$content = '';
		
	foreach($content_arr as &amp;$value){
		if(strpos($value,'<pre') === false){
		  //<>[]"'改行を除く半角英数字と隣り合ってるとき狭いスペースを挿入、タグの接するときはタグを覗いたパターンで判断
		  $content .= preg_replace( array( '/(?<![!-~\s]|^)((?:<("[^"]*"|\'[^\']*\'|[^\'">])*>)*)(?=[!#-&amp;(-;=-Z\\\-~])/', '/(?<=[!#-&amp;(-=?-\\\^-~])((?:<\/[a-zA-Z0-9]+>)*)(?![!-~\s]|$)/', '/(?<![!-~\s]) +(?=[!-~])/', '/(?<=[!-~]) +(?![!-~\s])/' ) , array( ' $1', '$1 ', ' ', ' ' ) , $value );
			} else {
			$content .= $value;
		}
	}
	
	return $content;
}
add_filter( 'the_content', 'add_space_full_width_half_width', 5);
add_filter( 'comment_text' , 'add_space_full_width_half_width', 5 );
add_filter( 'the_title' , 'add_space_full_width_half_width', 5 );

内容については検証したり解析したりしていません。ホントコピペです(滝汗

テーマの関数ですね。 Function.php ファイルの末尾に貼り付けました。すごいですね。ちゃんと動作します。

さて、作者さんにお礼とブログ転載のお礼をしなければ …


私は木の立つ姿が好きです。なぜなら木々は自分たちの生きねばならぬ道に、ほかのものよりずっと素直に従っているからです。

ウィラ・キャザー

お手上げ

PeppermintOS をインストールしてある Mac mini2009 にはハードディスクが2台( SSD + HDD )組み込んである。ところが、 HDD 側にアクセスできない。

ファイルシステムをダンプしてやると、未フォーマットの状態であると出る。そこで、 fdisk でフォーマットしようとすると「 fdisk: /dev/sda を open できません : 入力 / 出力エラーです」というエラーが出て先に進めない。ちなみに、 SSD は /dev/sdb にちゃんとマウントされて読み書き可能な状態になっている。

fdisk -l で情報が出てくることを考えてもハードウェアの I/O エラーでは無いのではないかと思っている。ハードウェアのエラーならもう一度バラして組み直すんですが、そうでないなら …  う〜ん、困りました。あちこち Web を情報探し回ったのですが、的確な情報が出ません。正直お手上げ状態です。

追記:とりあえずハードディスクの ( 文字通り )I/O エラーを疑って Mac mini2009 をバラしてみようと思います。バラし方忘れたので、またネットを探し回ってみます。

追記2: Mac mini2009 をバラすのは少し延期。 HDD を新しいものに変えることにしました。それでつながらなかったら目も当てられないのですけど、新しいものにしてみます。パーツを取り寄せてからですね。


ある国の平和も、他国がまた平和でなければ保証されない。この狭い相互に結合した世界では、戦争も自由も平和も全て連帯している 

J. ネール「一つの世界を目指して」

Daapd を Peppermint で動かす

うまくいかないところもあるのですが、ちゃんと動いているので記事にしておきます。 iTunes サーバーを PeppermintOS 上で動かすの巻です。

PeppermintOS ってのは、 Linux のデストリビューションの1つです。 Ubuntu から分岐していますので、 Ubuntu の情報が役に立ちます。現在は Mac mini2009 上で動いています。 Core 2 Duo 2MHz という今となっては貧弱な CPU パワーですが、軽快に動いてくれています。

我が家には FreeNAS という NAS 専用サーバーで動いている NAS があります。以前は、このサーバー上に Daapd を置いて iTunes サーバーにしていました。しかし、バージョンアップにともなって、適当なプラグインがなくなってしまいました。しばらく、 iMac の iTunes 上でしのいでいたのですが、 iTunes さんがなかなか言うことを聞いてくれなくて、再生環境を変えたため iTunes サーバーが必要になってきたと言うことです。また前置きが長くなってしまいましたが、そういう形です。

さて、 PeppermintOS へのインストールですが、 ssh で接続して行います。たいしたことしてないので安心して読んでください。

まずはインストール。以前は Da-Daapd っていうのが動いていたんですが、パッケージがなくなっていました。 forked-daapd が代わりにあったので、こいつをインストールします。

$ sudo apt-get install forked-daapd

/etc/forked-daapd.conf にアクセスして Web Interference 用のパスワードを設定します。 admin-password がそれなのですが、後ほど述べる通りなぜかうまくいきません。

$ systemctl start forked-daapd

で、起動します。起動してしまえば、設定ファイルに書かれているフォルダ ( デフォの位置を使いました ) に音楽ファイルを転送してやれば、 iTunes で認識してくれます。

さて、 iTunes サーバーとしては使い始めたものの、問題点が 1 つ。 Web Interference が立ち上がりません (^0^;)

まぁ立ち上がらなくとも、 iTunes 上からサーバーが見えて再生できるので問題ないのですが、気持ち悪いですよね。 Web Interference からリフレッシュさせることで新規に登録した楽曲データを iTunes サーバーに乗せることができるようになっているのですが、いまいちこれがうまくいきません。というか Web Interference が見えない。エラーになる。 BASIC 認証は通るのですが、その後表示されないのです。何が起こっているのでしょう? まだログを見ていないのですが、何かうまくないことが起きているんでしょうね。リフレッシュは、デーモンの再起動でごまかしています。ただ、デーモンの再起動をかけると、 iTunes さんがデーモンを見失うらしく、再びサーバーを認識するために iTunes さん側の再起動も必要になったりならなかったり。安定しません。

安定したらまた書き込みますが、このまま使うかもしれません。横着者なもので …


言葉で何と言おうと、行動にはウソはつけない。

杉村太郎

ラーメン・メモ:麺屋清水ソルト

毎週土曜日の昼はラーメンです。今まで記録を取っていなかったのでその記録です。今回は、麺屋清水ソルトさんの塩ワンタン麺です。

先週、こちらに行くつもりでアピタ違いの間違いをしましたので、今回はそのリベンジです。ちゃんとアピタ新潟西店に行ってきました。

綺麗なラーメンですね。ほれぼれします。味はスッキリとしていて上品な味。なのですが、私一口目で舌を火傷してしまいました。思いのほか熱かったです。麺は細麺のストレート。スープには透明な油がけっこう浮いてました。カウンターに黒こしょうが置いてあったので、それで味を変えることができるのかもしれませんね。私は使いませんでした。

それと、大盛りがありません。私のような大食いはちょっとボリュームに難ありかもしれません。事実ちょっと足りなかったなぁ。となりにいた人が味玉トッピング ( 100円 ) をしていましたが、美味しそうでした。私もそうすれば良かったかな。

もともと濃い味が好きなので、正直ちょっと物足りませんでした。美味しかったんですけどね。あと、カウンターだけのお店のため、回転率はいいのですが少し待たされました。これは覚悟していった方がいいですね。


いまこそ、あなたが思い描いた人生を生きるときである

ヘンリー ジェームズ

OneDrive へのバックアップ

UpdraftPlus というプラグイン ( 有料 ) を使って WordPress をバックアップしているんですが、 OneDrive へのバックアップではまってしまいました。うまくいかなくなって約2ヶ月やっと原因がわかりました。

約2ヶ月前に OneDrive へのバックアップがうまくいかなくなって手動でバックアップ・ファイルをアップロードしていました。本来ならば、プラグインなどがアップデートされる際に OneDrive へのも追加でアップロードされるはずなのですが、なぜかアップロードされません。それ以外のバックアップ・ファイルの作成は問題ありません。で、プラグインの設定部分はこんな画面になっています。

( すでに認証されて表示されます )  なんか日本語としてしっくりきませんが、これを見て認証は正常に行われていると思っても別に悪くないですよね。いや、半分は当たっているんです。 OneDrive 側の認証は通っているんです。でも、うまくいきません。

実はログを見てもあんまり詳しく書いていないのです。 OneDrive とのハンドリングが悪くてエラーになっているのは事実なんですが、認証が悪いとは書いていません。

引っ張りましたが、答えは「認証の期限切れ」でした。ちょうど導入してから1年がたった頃からエラーになっていたのをもっとはっきり見ておけば良かったです。認証そのものはできていて、 UpdraftPlus 側ではエラーと認識していません。ただ、その認証が1年で期限切れになってしまうのは、考えていませんでした。いや、考えておかねばならない項目だったと思います。 Microsoft さんが無期限の認証を許すとは思えませんからね。1年ごとに OneDrive との間で認証の確認を行わなければならない。これが答えでした。 UpdraftPlus を使って OneDrive へのバックアップを行っている人は毎年やってたんでしょうね。

これで安心して運用できます。簡単なことなのにうっかりしていたと言うことですね。反省してます。


惜しんでわずかに種を蒔く者はわずかに刈り取ることしかできない

聖書

ラーメン・メモ:広東ヌードル

毎週土曜日の昼はラーメンです。今まで記録を取っていなかったのでその記録です。今回は、広東ヌードルさんの担々麺です。

アピタ新潟亀田店に入っているテナント、広東ヌードルさんで担々麺を食べてきました。実は、アピタ新潟西に入っている清水さんに行こうと思って、アピタ違いの間違いをしたのです。失敗しました。まぁ仕方ないので、アピタ新潟亀田のラーメン屋さんを探したら、こちらにたどり着きました。何でも、トムヤムクン・ラーメンが有名らしいのですが、それはちょっと遠慮して、担々麺をいただきました。

意外に、といったらお店に失礼ですが、美味しかったです。スープに関しては私の中でかなり上位にランクインするぐらいでした。麺が細麺でのびやすいのは猫舌の私にとってツラかったのですが、スープのおいしさにちょっと驚いてすいすい食べ進めることができました。担々麺というと、挽肉の肉味噌がインパクトありますが、こちらの担々麺はそれほどでもありません。肉味噌自体はもちろん入ってますし、美味しいのですが、量的には少ない部類に入っていると思います。

ここは美味しいと思います。リピートありですね。

この店名表示の吊り下げポップは安っぽいので、いかがなものかと思いますが … (笑


私にとって、詩は目的ではなく情熱である。

エドガー・アラン・ポー

UPS 新調しました

オークションで購入した UPS が2ヶ月でダメになった話は書きましたが、その後続 UPS を購入しました。以前の機種とは違って OMRON 社製のものにしました

なぜ、 OMRON 社製にしたかというと、シャットダウンのソフトが Mac 版も用意されていたという点ですね。前回の UPS は比較的大きめでしたが、今回のはそれと比べるとずいぶん小さいです。ただいま予充電中です。

普段 Mac は稼働していないとき、スリープ状態になっています。電源を落とすことはほとんどありません。この状態で停電などが発生すると、 Mac にダメージが及ぶ可能性があります。 UPS はこれを最小限にする機能を持っているわけですね。以前の機種はシャットダウン機能がありませんでした( Mac に対応していなかった)。今回のは正規に Mac に対応してますので、安心です。電源の他に通信用の USB ケーブルをつなぐ必要がありますが、それで安心が手に入るなら安いものです。

BY50S という機種なのですが、以前の機種の交換用バッテリーと同じぐらいの価格で売られています。以前の機種より容量が小さいのでその分安いんでしょうね。 iMac とハードディスクをバックアップしてもらいます。バックアップ時間は余り長くないと思いますが、それもテストしてみようと思ってます。前の UPS はバッテリーを回収してもらって、本体は燃えないゴミになります。

今度は最低でも3年(メーカー保証)は稼働してもらわなきゃ。ダメージを受けるような状態にならないように祈ってます。


今日まで生き延びたから色々の漱石を御目にかける事が出来た。これから十年後には、また十年後の漱石が出来る。

夏目漱石

出し惜しみではないのです

昨日の afplay と BitBar の連携に関する記事で、コードを全く書いていなかったのは、さすがに情報の出し惜しみと思われるかもしれないと、余計な心配をしておりまして、汚い・一貫性のないスクリプトではありますが、公開させていただきます。

さて、 afplay の再生アプリに関しては基本的に、「のらぬこの日常を描く」さんのところを参照していただければいいのですが、それだけでは今再生中の楽曲を明示できません。そこでのらぬこさんのスクリプトにちょこっとコードを足します。

#!/bin/sh

cd ~/Music

kill `pgrep -lf /play.sh | awk '{print $1}'`
IS_KILLED=$?
pkill afplay

if [ "$IS_KILLED" -ne 0 ]
then
  echo play start
  nohup cat playlist.txt | while read x; do echo -e "$RANDOM\t$x"; done | caffeinate -i sort -k1,1n | cut -f 2- | while read x ;echo "$x" > now.txt ; do afplay -q 1 "$x" ; done >/dev/null 2>&amp;1 &amp;
else
  echo play stoped
fi

一行がスクロールする形で表示されているので見にくいのですが、ハイライトした行の2つめの「 while read 」の後ろ、「 echo “$x” > now.txt 」が追加した部分です。これで、現在の楽曲情報を「ミュージック」フォルダにテキストファイルとして書き込みます。これは、 BitBar のスクリプトとは非同期に行われます。見ればわかりますが、 afplay の直前。再生の直前に書き込まれます。これが第一弾。

次に BitBar のスクリプト。これが出し惜しみするわけではないのですが、恥ずかしい。もっとシンプルに書けると思うのですが、書きながら「とりあえず」のレベルだなぁと思っていました。恥ずかしいのですが、以下にスクリプトを書き込みますね。

#!/bin/sh

cd ~/Music

OLDIFS=$IFS
IFS=

while read line
do
        fname=${line##*/}
        fname=${fname%.*}
        fname=`echo $fname | sed -e 's/^[0-9][^ ]*[ ]//'`

        artist=`echo $line | sed -e 's/^.*Music\///'`
        artist=`echo $artist | sed -e 's/\/.*$//'`

        echo $artist " - " $fname
done < now.txt

IFS=$OLDIFS

前段、 fname の部分が楽曲名を求めるところなのですが、 iTunes のライブラリ構造をそのまま利用しているため、次のようなファイルネームになります。

  • 先頭に数字でアルバム中の順番が追加されている。
  • 複数枚の CD アルバムの場合「アルバム番号 - 曲順」という数字を半角ハイフォンでつないだ番号が追加される

fname の sed 正規表現の部分がそれですね。次のアーティスト名の部分は、フォルダ構成の決め打ちです。 iTunes のライブラリの場合、おいている場所によって変わるのですが、変わらないのが Music というフォルダ(ローカライズされてミュージックと表示されていてもフォルダ名は Music )の次にアーティスト名が来ると言うこと。それを決め打ちで検索しています。

で、 echo で表示すると BitBar の方でメニューバーに表示してくれる。そういう形になっています。 BitBar はファイル名に時間を書き込んでおくとその時間間隔でスクリプトを実行する機能があります。私は、「 nowplay.10s.sh 」という名前にして10秒間隔で実行するように指定しています。5秒にしようか(タイムラグがそれだけ短くなる)悩みましたが、大した違いでは無いだろうと言うことで10秒にしています。

説明するのも赤面しますが、もっとシンプルなスクリプトになるはずです。そっと教えてくれると嬉しかったりします。


いかに弱き人といえども、その全力を単一の目的に集中すれば必ずその事を成し得べし。

春日潜庵