「 コンピュータ 」一覧

ハードウェアからソフトウェア、プログラミングなどを、幅広く

WordPressのカテゴリ表示順を変更する

先日WordPressのカテゴリを色々と増やしたのですが、数が増えると表示順が気になってきます。特に設定しないと、五十音順に並ぶみたいですね。WordPressの標準機能で順序変更できるものだと思っていたら、出来ないようです。そこでプラグインを新規に導入することになりました。

導入したプラグインは「Category Order and Taxonomy Terms Order」です。管理画面のプラグインメニューから新規追加を選び、検索フォームで前述のプラグイン名を検索します。そして、先頭に出てきた該当プラグインで「今すぐインストール」をクリックすれば、インストール完了です。

もしインストール失敗のメッセージが出たら、一旦プラグインを削除してやり直します。エラーメッセージが示しているディレクトリやファイルのパーミッションについて、Webサーバが更新可能な設定になっているか再確認します。雑ですが、とりあえずディレクトリは0777、ファイルは0666にしておけば良いでしょう。

インストール後は、プラグインを有効化して、投稿メニューのTaxonomy Orderからカテゴリ順序の変更が可能です。


モバイルバッテリーを新調(5000mAh)

2018年2月24日、これまで使っていたモバイルバッテリーが明らかにヘタってきたので、新しく購入しました。どれが良いのかあまり分からないこともあり、ヨドバシの店頭でお薦めされていたものを選びました。商品名がよく分かりませんが、NICE Mobile Battery PowerBank DC221てな感じです。定番商品なのかな、と思っていましたが、ネットを検索しても出てきませんね。

以前使っていたバッテリーは容量が3600mAhでしたので、それより少し多い5000mAhにしてみました。以前のバッテリーは、現在使っているXperiaの購入前に買っているので、もともとフル充電が出来なかったと思います。出力は1.0Aと2.4Aの2ポートがあり、2.4Aを使うと充電速度が速くて快適でした。

で、容量だけに注目していたら、ACアダプタが付いていないことを見落としていました。確かにバッテリー本体はスマートになるけど、泊まりの旅行先に持って行く時、荷物が増えてしまうのが残念ですね。

ちなみに、先日台湾へ旅行した際に、DoCoMoのACアダプタ05を持っていったので、そちらで充電しようとしたら、ACアダプタ側でガードが掛かるみたいで、まったく充電できませんでした。結局自宅のSurfaceのUSBポート経由で充電できましたが、めちゃくちゃ時間が掛かるので、ACアダプタ買ってこなくては。

しかし、電源周りはあまり知識がないため、何に気をつければバッテリーや機器に優しくて安全なのか、いまいち判断がつかないです。


マイクロSDカード(64GB)を購入

スマホ(Xperia Z5 SO-01H)の内部ストレージ使用率が95%近くになり、SDカードの空きもないので、新しいマイクロSDカードを買うことにしました。これまでのカードは、以前のスマホ(F-05D)から引き続き利用していたものであり、容量が2GBという有様。ほとんど役に立ちません。

と言うわけで、近所のヨドバシに出かけて、物色。32GBが7,000円弱で、64GBが12,000円程度。Z5の内部ストレージは32GBなので、それより一回り多い64GBが良さそうだけど、12,000円はちょっと高いなあ、と棚の前で悩んでいました。そしたら店員さんがやってきて、64GBを9,000円くらいまで負けてくれたので、64GBを買っちゃいました。

さっそくマイクロSDカードを換装しようと試みますが、自分でやるのは初めてなので、四苦八苦。SDカードみたいに直挿しになっていると勘違いしていたので、無駄に押し込んだりしちゃいました。SIMカードと一緒に平たいボードの上に乗っているので、それを引っ掛けて外へ引き出します。滅多に出し入れしない前提なので、色々やりづらい作りになっています。

換装を終えたら、電源投入。無事カードが認識されて、ひと安心。まずは写真をSDカードに移動して、内部ストレージの使用率が75%程度まで下がりました。続いては、アプリ類も追い出したいところですが、基本的には出来ません。色々技を使えば出来るようですが、ひとまずこのままで。

空いているSDカードの領域には音楽でも入れられたらいいかなあ、なんて思っています。今の職場はスマホ以外の電子機器が概ね持ち込めないので、音楽プレーヤー代わりにしたいです。ただPCでの音楽管理にiTunesを使っており、スマホはAndroidという状況なので、どうしたものか悩みどころ。


マルコフ連鎖モデルで台詞生成するプログラム

昔から、会話できる人工知能プログラムを作ってみたいと思っていました。しかし、当然ながらそれはとてもハードルが高く、実現可能なレベルへのダウンサイジングを続けた結果、学習させた情報からマルコフ連鎖モデルに基いて文章を生成する、という内容でした。

実際に作ったものは下記です。自分が作って楽しいもの、ということで、アイカツ!を題材にしました。

学習させる際の形態素解析の機能は、さすがに自前で用意できないので、mecabを使います。その他に必要となるスクリプトは、勉強を兼ねてPythonを選びました。Perl、PHP、Rubyはこれまで趣味プロで使ったことがあったので、新しいものを触ってみたかったのです。Pythonは2.0系と3.0系がかなり別物ですが、今から始めるならと思い、3.0系にしています。データベースは、データをファイル単位で管理できる方が規模的にも都合が良かったので、Sqlite3にしました。

  • mecab
  • Python3.0
  • sqlite3

いざ作ってみると、最初は慣れないPythonなので、言語仕様上のミスに悩まされます。それが落ち着いてくると、今度は設計上の問題点が見えてきたりしました。基本的な思想はマルコフ連鎖モデルですが、実装レベルに落とすと細かい問題も出てくるので、色々細かい調整を入れています。

そしてコンソールスクリプトとしては、ほぼ完成したので、Webサーバ経由で公開できるように、cgiとして動かしてみました。すると新たな問題が発生。文字コード絡みで特に悩まされました。コンソール環境では自動的に上手く解決されていた部分が、Webサーバ経由だと問題として顕在化するようです。Python内ではUnicode型で扱ったり、外部との入出力時にはエンコード及びデコード指定が必要だったり。特にmecabを起動する際に外部プロセスにforkして、そこでマルチバイト文字列を渡すのですが、これがWebサーバ経由だと上手くいきません。UnicodeEncodeErrorになってしまいます。未だに原因が分かっていません。この機能はコンソール限定することで、回避しました。

他にも細かいバグ修正をして、プログラムとしては、想定通りに出来上がりました。この後に出てくるのは、運用上の問題。まずmecabで形態素解析する際に、固有名詞の辞書登録が不十分であったため、期待外の単位で分割されることがあります。他には、単純マルコフ連鎖であるため、生成した文章のつながりが明らかに不自然なケースが目立つことです。N階マルコフ連鎖にする必要があったかもしれません。本来は設計を改善すべきですが、そこまでの気力はないので、運用カバーしています。

何だかんだでちまちまと、1年くらい掛けて、ようやく形になったので、少し感慨深いですね。仕事のようなペースでやれば、1周間も掛からない内容ですけど。


スマホを衝撃から保護することにした

少し前にスマホを液晶面から床に落とし、割ってしまいました。大した高さでもなかったのですが、変な線が数本入り、日を追うごとにひどくなっていきました。仕方なくスマホホスピタルに持込み修理依頼。約20,000円を掛けて無事液晶画面が元に戻りました。

これを機にスマホの保護の重要性を意識するようになりました。これまでは、本体に傷がつくことが使い込みの証となると思って、一切保護していなかったのですが、壊れてしまうとなると話は別です。冷静に考えれば、ノートPC並のことが出来る精密機器ですし、同じくらい慎重に扱うべきなのです。

さっそく保護用のアクセサリを買おうとしたのですが、スマホが1年以上前のモデルなので、なかなか種類がありません。そんな中で、保護ケースはLEPLUS LP-XPZ5TTCLを、液晶保護ガラスシートはray-out RT-RXPH1F/HGを選びました。

保護ケースは少し柔らかめの感触なので、手に持ったときのフィット感が良いですね。ただ、スイッチのために穴が空いていて細くなっている部分は、1ヶ月ほど使っていると、若干緩さを感じるようになりました。

液晶保護ガラスシートは、ガラスゆえの高級感が気に入っていたのですが、1ヶ月ほどで割れてしまいました。割れた原因がいまいち分かっていないので、製品の強度については何とも言いがたいのですが、ガラス製は質感に高級感があって良いけど一旦ヒビが入るとすぐに全体に広がってしまう点が弱点かと思います。ガラスが厚いことによる重さや反応速度については、大して気になりませんでした。ただ、厚さゆえに隙間に埃が溜まりがちな点は気になります。割れた件については、液晶本体に傷はついていなかったので、保護ガラスとしての仕事は果たしてくれました。

また同じように保護ガラスを買おうと思ったのですが、たまたま寄った店には合うものが置いておらず、結局保護フィルム(ELECOM PM-SOZ3FLST)を買いました。ただ少しミスをして、正しい機種向けではなかったので、若干型が合わなかったのですが。しかし保護ガラスは高いですねえ。保護フィルムの3倍くらいのお値段です。保護ガラスは確かに高級感ありますが、いざ貼ってしまえば、保護フィルムでも大して気になりません。

今後、スマホは慎重に扱おうと思います。こういうのって、一度失敗しないとなかなか身に染みませんね。