2015-06-01
_ 先輩後輩文化は消えてしまえ
いろいろあったんですけどね。
体育会系の先輩後輩文化って、なんであんなにクソなんですかね。
先輩ならば後輩を守るのが役目だと思うけれど、パワハラで後輩に押しつけるってどういうことなんだよ。
2015-06-09
_ 忙しすぎてどうしたらいいのかわからない
もう、スケジュールをどうしたらいいのかわからない。
_ Buffalo DTV-H500Rが壊れたので調べてみた
彼女の使ってたHDDレコーダーが壊れたというので、だいぶ前に預かっていたのだけれど、やっと動作チェックをした。
症状は電源ランプが赤ランプで点滅して起動しないということで、電源を入れてみたけど緑ランプが点滅した後、赤ランプ点滅になり、なんにも画面に表示されず。 ググると同じ症状の人はたくさんいるけど、原因は特定されておらず、さてどうしたもんかと思って、まずはホコリが多かったので掃除も兼ねてバラしてみた。
開けてみるとBroadcomのBCM7540がドンと乗ったボードとハードディスクがあるというシンプルな構成。
基板を見ていくとSoCまかせなので特に何かあるというわけでもなく、いじれる部分はないけれど、わかりやすくUARTと書いてあって、そこにGND, VCC3.3, RX, TXと書いてあるのでピンを立ててUSBシリアルケーブル(これとかこれとか)をつなげば何か見られるかも。持ってないのでわからないけど。
続いてHDDはどうなってるのだろうと思い、接続されてたHDDをDebianマシンにつないでみたところ、あっさり認識。
HDDはext3のワンパーテーションでフォーマットされてて暗号化などはされていない様子。 マウントして中を見ると「rec」というディレクトリがあって、その中には録画データらしきものがあるけどデータ形式は不明。それと「.rec_db」というドットファイルがあったけど、これも何かわからず。
とりあえず中のデータは大丈夫そうだけど、基板、HDDの外観はなんともなく、いじれる部分もなかったので掃除して戻して電源を入れなおしたけれど何も反応せず。 HDDを外して起動しても画面には何も表示されず。
ひとまずHDDは生きている事はわかったので中のデータだけでもどこかに移したいけれど、コピーガードのせいで再生もままならず、デジタル放送はクソだなと思った一日でした。
2015-06-23
_ uMapとOverpass API(overpass turbo)を使ってOpenStreetMatsuyaマップを作る
uMapとOverpass APIを使うと、なにができますか?
OpenStreetMap(OSM)内のデータを読み込んでAEDマップや消火栓マップ、レコード屋マップ、トイレマップ、そのほか○○マップが簡単に作れます。 OSMと連動するので、OSMデータを更新すると自動的に最新情報の地図になります。
まずはサンプルを見てもらうとわかりやすいと思います。
OpenStreetMatsuya
ということで
OpenStreetMapの地図に表示される物は、入力されたデータの中でも一部だけです。 地図上に表示されない物を見るには、データを直接見たり、プログラムを書いて検索APIからOSMデータにアクセスする必要があります。
これを簡単にアクセスして視覚化できないかと思っていたら、uMapの外部データ連携機能からOSMを検索するoverpass APIが利用できることを知り、使ってみました。
- ネタ元: Creating an always up to date map | Mappa Mercia: http://www.mappa-mercia.org/2014/09/creating-an-always-up-to-date-map.html
全国の松屋を表示する「OpenStreetMatsuya」を作る
OpenStreetMap界隈で有名な非公式プロジェクトとして、@okano_tさんが全国の牛丼チェーン店「松屋」を詳細なデータとともにOSM上にマッピングしていく「OpenStreetMatsuya」プロジェクトがあります。
- OpenStreetMatsuya: http://openstreetmatsuya.org/
- User:Okano t/OpenStreetMatsuya - OpenStreetMap Wiki: http://wiki.openstreetmap.org/wiki/User:Okano_t/OpenStreetMatsuya
- - OpenStreetMatsuya 関連: http://jnug.net/osm/
OpenStreetMatsuyaの松屋情報は詳細な情報が入力されているにもかかわらず、OSMの地図上では名前しか表示されません。これは非常にもったいないので、このデータを利用して「OpenStreetMatsuya」マップを作ります。
overpass turboを使って松屋の検索クエリを作成
まず、Overpass APIから松屋を検索するための検索クエリを作成します。overpass turboを使うとOSMのタグを検索するだけでOverpass API検索クエリが作成できるので、これを利用します。
- overpass turbo: http://overpass-turbo.eu/
検索をするタグですが、OpenStreetMatsuyaで使われる松屋店舗のタグは「松屋標準タグセット」にまとめられています。その中から
- ファストフード(amenity=fast_food)店で
- 牛丼(cuisine=beef_bowl)を提供していて
- 名前が「松屋」(name=松屋)
なら、ほぼ牛丼チェーン店の松屋であろう、という仮定のもとに「amenity=fast_food and cuisine=beef_bowl and name=松屋 」を検索して、検索クエリを作成します。
overpass turboにアクセスして、右上メニューの「ウィザード」をクリック。
松屋を検索するための検索タグを「and」でつないで入力し(下参照)「クエリを作成して実行」ボタンを押します。
amenity=fast_food and cuisine=beef_bowl and name=松屋
ブラウザ画面右側のエディタに検索クエリが生成されました。 OpenStreetMapデータはnode(点)、way(つながった点)、relation(要素間の関連性などを表す)で構成されますが、松屋はnodeかwayでしか表現されないので不要なrelation行を削除します。
検索クエリができました。uMapの表示エリアに合わせた動的な検索をするには、URLにパーマネントIDとして渡す必要があるので、これを元に加工します。
ブラウザ画面右上にあるメニュー。「エクスポート」をクリック。 「クエリ」をクリックして、OverpassQLの「コンパクト」をクリック。
ブラウザのタブが開くので、「[out:json]」から続く文字列をコピーしてエディタに貼り付けます。
座標を「{south},{west},{north},{east}」に置き換える。
検索範囲の座標をuMapの変数「{south},{west},{north},{east}」に置き換えます。
[out:json][timeout:25];(node["amenity"="fast_food"]["cuisine"="beef_bowl"]["name"="松屋"](34.78053570934868,134.6377944946289,34.881565636911084,134.73426818847656);way["amenity"="fast_food"]["cuisine"="beef_bowl"]["name"="松屋"](34.78053570934868,134.6377944946289,34.881565636911084,134.73426818847656););out body;>;out skel qt;
34.7から始まる部分がnodeとway二つありますが、この部分を以下のように変更します。
[out:json][timeout:25];(node["amenity"="fast_food"]["cuisine"="beef_bowl"]["name"="松屋"]({south},{west},{north},{east});way["amenity"="fast_food"]["cuisine"="beef_bowl"]["name"="松屋"]({south},{west},{north},{east}););out body;>;out skel qt;
OverpassQL文字列の先頭に「https://overpass-api.de/api/interpreter?data=」を追加する。
資料ではhttpとなっていますが、httpsでのアクセスに変わったようです。
https://overpass-api.de/api/interpreter?data=[out:json][timeout:25];(node["amenity"="fast_food"]["cuisine"="beef_bowl"]["name"="松屋"]({south},{west},{north},{east});way["amenity"="fast_food"]["cuisine"="beef_bowl"]["name"="松屋"]({south},{west},{north},{east}););out body;>;out skel qt;
これで、uMapレイヤーに指定できる検索クエリができました。
uMapの地図にoverpass APIのレイヤーを作る
uMapに移動して地図を作成します。
まずは地図のタイルレイヤーと位置を設定します。
uMapにログインして「マップを作成」ボタンをクリック。 地図を適当な場所まで移動し「タイルレイヤーの変更」アイコン(画面右側、下から3番目)をクリックして適当な地図レイヤーに変更します。 「ズームレベルを保存」アイコン(画面右側、下から2番目)をクリックして位置を保存します。
続いてuMap地図に重ねるレイヤープロパティを表示します。
画面左上「+/-」ボタンの下にデータレイヤー・ボタン(上の図(3))をクリック。
データレイヤー一覧の「レイヤー1」の行にある「鉛筆」アイコンをクリックすると、右側サイドバーにデータレイヤーのプロパティが表示されます。
データレイヤには「名称」や「概要」を設定しておきます。 表示件数が多くなる事が予想されるときは、レイヤータイプを「クラスタ化」にしておくと密集部分がまとめて表示されるので変更しておくとよいでしょう。
uMapレイヤーに検索クエリを含むOverpassパーマネントリンクを設定するため、「サイト外のデータ」をクリックします。
外部データの設定ですが、「URL」には、上で作成した「https://overpass-api.de/api/interpreter?data=」から始まるoverpassパーマネントリンクのURLを設定します。 「フォーマット」は「osm」を設定します。 uMapの移動と連動して検索するために「ダイナミック」にチェックを入れます。
これで登録できました。右上の「編集を終了」をクリックして編集を終了すると、地図上にある松屋の上にピンが立ちます。uMapの地図を移動すると、表示範囲に合わせてその範囲にある松屋が表示されるはずです。
さらによく見せる
uMapレイヤープロパティの「拡張プロパティ」からは、アイコンやエリアの色や形の設定。「Popup options」からは検索された情報のポップアップ方法の変更ができます。
中でも「Popup options」の「ポップアップコンテンツのテンプレート」は、「{タグ}」の形でOSMタグの情報を呼び出すことができます。それを利用して、OpenStreetMatsuyaマップのポップアップ内で使っている車いす情報は、@okano_tさんが調べた情報をそのまま利用しています。
あと、未検証ですが写真をどこかにアップロードしておいて、OSMに地物のソースとして「source:ref=」と書いておくと、「{source:ref}」で写真も埋め込めるかも。誰か調べてくれるとうれしいです。(画像は「image=*」タグを使うと良さそうです。追記参照)
- JA:Key:source - OpenStreetMap Wiki: http://wiki.openstreetmap.org/wiki/JA:Key:source
- 第378回 旅の思い出をOpenStreetMapで視覚化する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社: http://gihyo.jp/admin/serial/01/ubuntu-recipe/0378?page=4
画像埋め込みについて追記
@nogajun 素晴らし! 画像ファイルへのタグは、いろいろ議論あるけど image=* タグがよいかな、と思っています https://t.co/YmDuMg4OJi あと、ピンのアイコン変えるのができた気がするので、もしかして松屋ぽいアイコンにできるかも。商標問題あるけど。
— nyampire (@nyampire) June 23, 2015
@nyampireさんから「image=*」タグのほうがいいんじゃね?との事。 ソースを示す以外の画像を埋め込むなら、こっちのほうがよさげ。
- Key:image - OpenStreetMap Wiki: https://wiki.openstreetmap.org/wiki/Key:image
まとめ
マッピングパーティをしても地図にはレンダリングされず一般の方にはピンとこない事も、uMapとOverpass APIを使うと手軽に視覚化できるので、みなさんドンドン使っていきましょう。 そして、みんなでOpenStreetMapの情報を充実させましょう。
_ Windows版のKobito(Markdownエディタ)を動かしてみた(失敗)
- Windows版のKobitoがMacでも全然動いてすごい - Qiita: http://qiita.com/daron/items/04e3d7936215568a704e
Electronで動くんだったら、Linuxでも使えるんじゃない?と思って試したら、見事な文字化け。
とりあえずDebianで動かす手順を書いておきます。
$ sudo apt install node node-legacy npm $ sudo npm install -g electron-prebuilt $ unzip kobito-v1.2.0.zip $ electron kobito/resources/app/
フォント設定を変更できれば使えそうだから、Linux版も出してくれてもいいのにね。
2015-06-27
_ RAZR M 201Mのバッテリーが膨らむ
以前使ってたMotorola RAZR M 201Mですが再起のため、いじろうと思ったら、なんかヘン。 背面のぽっこり出たこの違和感は、もしかしてバッテリーが危ない状態?
バッテリー内蔵型で交換はバラすしか無いので、これ以上使うのは止めたほうがいいな。
_ ファイナルファンタジーXIVオンラインMac版についての考察とLinux版も出して!という希望
はてブ経由で「Mac版クライアントはなぜこの状態で売ったのか? 」というファイナルファンタジーXIV掲示板の投稿を見ました。
内容は、ファイナルファンタジーXIVオンラインMac版のパフォーマンスが悪い事を訴える投稿で、その文章に「クライアントの中身見てみるとtransgamingというフォルダの中に」という一文が…。
TransGaming!! Linux界隈で名前を聞くことはなくなったけど、まだやってたのか!
その昔、TransGaming社は、フォークしたWineに独自のDirectX実装を載せて「Codega」(その前は「WineX」)という名前で販売していました。しかし「収益が出ないので企業向けに注力する」と声明を出してコンシューマから撤退。と、ここまでの記憶はあったけれど、まさか、こんなところで名前を見かけるとは。
最近の主力事業はゲーム配信システムだったようだけど、企業向けにWineベースのゲーム移植も続けてて最近、nVidiaに買収されたとのこと。
- NVIDIA、TransGamingのクロスプラットフォーム技術を買収へ - CNET Japan: http://japan.cnet.com/news/business/35065909/
FF XIVについてはTransGaming側からプレスリリースが出ていて、地道に続けてここまで来たという事のようです。
- TRANSGAMING AND SQUARE ENIX TO DEBUT FINAL FANTASY® XIV: A REALM REBORN™ ON MAC | TransGaming Inc.: https://www.transgaming.com/news/transgaming-and-square-enix-debut-final-fantasy-xiv-realm-reborn-mac
事業がちゃんと続いてて良かったなー。うれしいよー。
オッサンの昔話はさておき、元投稿とはてブのコメントのコメントに違和感がありました。
Wineは仮想マシンではなくWindows API互換レイヤーでWindowsバイナリがそのまま動いています。API変換で多少のオーバーヘッドはありますが基本的な実行速度は同じです。 日記には書いてませんでしたが、カスタムメイド3D2の体験版とかグリグリ動いてます。
どうでもいい話:カスタムメイド3D2体験版がWineで動いた。MONO使ってんのかー pic.twitter.com/tSmBOGd83Z
— nogajun (@nogajun) May 22, 2015
Debian上のWineを使っていて「動くアプリ」と「動かないアプリ」はあっても、動くアプリの場合、体感できるほど遅いアプリに遭遇したことはなかったですし、「遅い」と書いている人はWineを使ったことがないと思われるので、なぜFF XIVが遅いのか状況を考察してみました。
なぜFF XIVは遅いのか
元の投稿者のマシンスペックを見ると
MacBook Pro retina 2012 OS:10.10.3 CPU:Corei7 2.3GHz メモリ:16GB SSD256GB ビデオカード:Geforce GT 650M 1024MB
とのこと。これを見ると、ノートの中では昔はハイエンドだったけれど今ではミドルエンドあたりのスペックでしょうか。 スクエニの推奨動作環境を確認すると、2014年以降のMacでYosemiteとのことなので、ゲームマシンとしてはスペック的に厳しい気がします。
Wineについてですが、YouTubeにあったArch LinuxのWine Staging 1.7.45を使ってFF XIVを動かしている動画がありました。これを見る限りは、設定がもっとも低い設定だったとしても特にパフォーマンスが悪いようには見えません。
現在のWineはDirectXの実装も進み描画パフォーマンスもかなり上がっていますが、TransGamingのWine(Codega/WineX)はライセンス変更以前(BSDライセンス)の古いWineをフォークしています。 もし、その古いWineを使っているなら、現在のライセンス(LGPL)のWineからコードは取り込めないので一概に「Wine」といっても中身は大幅に違っていると思われます。
上のような状況から考えると、スクエニ/TransGamingのチューニング不足とマシンスペック不足が重なって、「遅い」という状況が生まれたような気がします。
まとめ
はてブのコメントは自転車置き場の議論と同じなのでさておき、 Wineを使った移植は悪くない選択だと思います。 ただ、スクエニさんにとっては、こういう使い方は初めてで微妙な出来になってしまったと思うので、これに懲りずWineを活用してノウハウを貯めればいいと思います。
そして、ゆくゆくはスクエニのソフト全部Linux版を出してくれればいいなぁ。(SteamOSもあるし!)
2015-06-30
_ ばたばた
ばたばたばたばた。
_ tDiary ContribのInstagramプラグイン(instagr.rb)が使い物にならん
tDiary contribのInstagramプラグインは二つあるけど、そのうちのinstagr.rbが使い物にならん。 iframeの「instagram.rb」のほうはOK。
_ DLNAで動画を配信するにはRygelかminidlnaを使うといい感じ
PCにある動画をスマホで見たいけれど、DLNAサーバーのMediatombをセットアップは面倒だよな。と思って放置していましたが、改めて調べるとインストールするだけで使えるDLNAサーバーがあったのでメモ。
デスクトップユーザーはRygelを使うとよいです。GNOMEを使っているとすでに入っていると思いますが、起動をコントロールするrygel-prefernceやプラグインが無いので探してインストールしてください。
$ sudo apt-get install rygel rygel-gst-launch rygel-mediathek rygel-playbin rygel-preferences rygel-ruih rygel-tracker
メニューの[設定]→[UPnP/DLNA設定]からrygel-prefernceを起動して「DLNAでメディアを共有」を有効にすれば終わりです。
サーバーにインストールする場合は、minidlnaを使います。こちらのインストールは、apt-get install minidlna だけで終わります。あとは /etc/minidlna.conf 内にあるメディアの場所を指定して再起動して終わりです。 設定を詳しく知りたい場合は、Arch LinuxのWikiに解説があるので、それを参考にしてください。
再生するAndroid側はBubbleUPnPを使いましたが、昔、iPhoneで使ってたAir Videoのようにカクつくこともなくスムーズに再生できて便利です。