iTunes cloud + Dropbox = ファイル破壊
iTunesに最近追加された自動ダウンロードとDropboxのコンボではまったお話.
最近iTunesに機能が追加されて,あるマシンで買った音楽ファイルを他のマシンにもダウンロードできるようになりました.しかも自動的にダウンロードして,ライブラリに追加してくれます.便利ですね.
私は,今までその機能をdropboxで実現していました.やり方はiTunesライブラリのフォルダをdropbox内に配置して共有するだけです.簡単ですね.
しかし,これと自動ダウンロード機能が組合わさるとひどいことになります.私はdropboxによるダウンロード中にiTunesを起動してしまいました.この結果2重にダウンロードが起き,ファイルは破壊され,まともに聞けなくなりました \(^o^)/
Dropbox等によるiTunesのファイルの共有をされている方は必ず自動ダウンロードのオプションをoffにしましょう! offにするには,環境設定→ Store環境設定で「自動的にダウンロードする」以下の音楽だのAppだののチェックボックスを全て選択解除すればいいです.
もし,破壊されてしまった方は,破壊が起きたマシン以外のマシンでiTunesのダウンロード機能を使って落とすといいと思います.私はこれでファイルを回復しました.
自動なのも考えものですね.
氷菓のもやもや感をぶちまけてみる(#01--#04 ネタバレあり)
この記事は,ミステリ!という見出しに興奮し第1話を見て絶望した俺が4話までのもやもや感というか不満をぶちまけて憂さ晴らしするという内容です.
基本的に氷菓つまらないんですよね… Anotherに続いてミステリ系か!と期待していたのですが…
一つの理由はデータベース君が主人公を褒めまくることです.この作者もメアリースー症候群発祥していたのかかなり気持ち悪いです.原作から改変あったそうなのですが,何故カットしなかった.
もう一つの理由はミステリ部分が本当につまらないことです.謎が解けた瞬間のカタルシス,というミステリの醍醐味がありません.
その理由について,本稿では#01〜#04までのミステリ部分についてそれぞれ振り返ってみます.
#01 : 鍵
何故用務員さんは,「鍵を開ける→蛍光灯を交換する→鍵を閉める」というサイクルを一部屋ずつ繰り返すのでは無く,「全部屋の鍵を開ける(あるいはもともと開いていた)→全部屋の蛍光灯を交換する→全部屋の鍵を閉める」という方法をとったのでしょうか? 実際後者の方法取った所為でえるたそを閉じ込めています.これに関する合理的な理由は示されていません.
#02 : 図書館
図書の謎解きは納得できる解です.が,いちいち授業が終わるたびに返す必要があったのかという疑問が残ります.貸し出し期間が1週間でも授業開始前に1回借りて1週間後の授業終了後に返せば2週に1回の返却で済みます.また,期間限界まで借りて借りる人が殆どいないのなら,授業期間中特別に借り続けることもできた可能性があります.他の方法もあるはずなのに,その方法を選択した理由が示されてないため,なんかもやもやしたまま推理パートが終わります.
#03 : 煙草
あの謎解きでは全く納得できません.本当に煙草を吸っていたなら窓開けようが何をしようが臭いが残ります.部屋に残ってなくても口臭でわかります.煙草を吸って臭いが残っていない合理的な説明が必要です.
#04 : 退学
5日間もある文化祭を縮めようとした校長に抗議した,という所までは凄く納得のいく推理です.ついにミステリが始まったかと思いました.んが,退学の時期と文化祭の時期のずれが,「批判回避のため」ってなんですかそりゃ.確かにありえる結論ではありますが,QEDなら「でもこれはおかしい」となるところです.
総括
以上,#01--#04まで振り返ってみました.とにかく以下の2点が目立ちます.
- 1. ロジックの穴(#01, #03)
- 2. 推理から導かれる行動が最善の方法であったと考えづらい (#01, #02, #04)
OPと音楽と映像と女の子は京アニ作品らしく素晴らしいものです.できるなら,主人公を燈馬くんに変えて再構成して欲しい.そして,「いやです」とえるたそに言い放って欲しい.
F#でファイル読み込み
F#でReadLines()を使ってファイルの読み込みに成功したので、その記録。
(ただし、コードは汚い。というかF#のコードじゃない)
open System.IO; let readTextFile(path: string) = use reader = File.OpenText(path) let mutable flag = true let mutable lines = [] while flag do match reader.ReadLine() with | null -> flag <- false | str -> lines <- str :: lines lines;;
明らかにもっと関数型らしく書けそうだが、とりあえず気にしない。
まどか☆マギカ最終回予想
ほむら「おのれQB!このまどかもまた壊されてしまった!」→ TIME VENT → 続きはWEBで
Unixコマンドによるデータ処理
一時期研究で,データの集計処理をよくやったので,その時学んだこと,使用したUnixコマンドのまとめ.
WindowsでUnixコマンドを使いたいなら是非ともCygwinを入れてminttyを使いましょう.
私の環境はCygwinだったので,Unixコマンドとか言っておきながら,以下の内容はどちらかといえばCygwin向け.
データの表現形式
Unixコマンドに適したデータ形式はTSV(Tab Separated Values)だ.XMLやCSVはUnixコマンドに向いていない場面が多くて使いづらい.
さらにWindowsでは,改行文字をLFに統一した方がいい.後で触れるが,perlを使用することを考えると,改行文字はLFで統一されるべき.
入出力コマンド
cat,more,teeの3つはデータ処理をする際の最重要コマンドである.以下それぞれの役割.
- catはデータの入力に使用.ファイルを引数に取れるコマンドもあるが,統一性があるとは言いがたく使いづらいので,catで統一したほうが楽
- moreはコマンドが望みどおりに動いているか確認するために使用.とにかくまずはmoreで確認してから実行しなきゃ危険.
- teeはデータの処理結果を出力するのに使用.出力するだけならリダイレクトでもいい.しかし,処理が止まっていないか確認するためには,出力が見られる状態にしておく必要がある.teeはコンソールへの出力とファイルリダイレクトを素直にやってくれる.
データの抽出コマンド
TSVファイルを使っていると,2カラム目のデータだけを取りたい,ということがよくある.そういうときにはcutをfオプションつきで使おう.2カラム目を取り出したければ,
- cut -f2
と実行すればよい.2から5カラム目を取り出したいのなら,
- cut -f2-5
2カラム目を取り出したいのなら
- cut -f2-
とする.
データの表現形式としてTSVを進める理由は,このようにUnixコマンドとの相性が良いからなのだ.
ソート
要素のソートにはその名もずばりsortを使う.詳細は,http://linuxjm.sourceforge.jp/html/gnumaniak/man1/sort.1.html
で確認して欲しい.
数値のソートには-nオプションを使用し,降順でソートしたい場合は-rをオプションを併用する.
その他便利なオプションには-kオプションが挙げられる.これはソートする際に使用するフィールドのカラムを指定するオプションで,2カラム目の値だけでソートしたければ,
- sort -k2
と書く.
重複排除とカウント
重複した要素を削除したい状況はよくある.このときはuniqコマンドを使用する.-cオプションを併用することで,入力対象のデータ中にある要素を数えることができる.これが非常に便利.
なお,uniqは必ず事前にデータをソートしておかなければならない.要注意
ヨドバシ行った.GALAPAGOSとHTC Aria触った感想
ヨドバシ行ってGALAPAGOS3種とHTC Aria触ってみました.
以下それぞれの感想.
GALAPAGOS
まず,携帯のGALAPAGOSですが,3Dがいらない子と化してますね.
何せアプリケーションの大半が3D対応していないわけですから当然ですが.
だからホーム画面が無駄に3Dエフェクトついていて,アプリを起動した瞬間2Dモードで起動されるという悲しい現象が…
しかも3Dだと妙に汚かったフォントが2Dになると綺麗になるというおまけ付です.ないわー.
そしてタブレットのGALAPAGOS.一目みて思いました.10.8型でかっ!
というか縦長です.高さ286mmですってよ奥さん.でかすぎだろうと.これを持ちながら読書をするのは無理でしょう.
5.5型の方はサイズ・重さについては可もなく不可もなくといったところです.しかし,何故5.5型なのでしょう.
5型になるとポケットに突っ込むのは,まあ無茶です.片手操作をするにもちょっと大きすぎるでしょう.
どうせならもっと大きくして7型ぐらい,つまりGalaxy Tabと同じぐらいのサイズで良いと思うのですが…
そして気になったのがアプリの面.
どうも,10.8型は全体的にもっさりしてます.5.5型は許容範囲であります.
ただ,気に入らなかったのがデフォルトの書籍リーダーアプリです.ページ送りにいちいちめくるアニメーションを付けないでください.(これON/OFFできますよね?)
横か縦にスライドしてくれれば十分です.そんなことよりさっさと次のページに遷移してください.
タブレット系も色々なものが出てますが,結局iPadより優れていると断言できるものが見つからんぞヽ(`Д´)ノ
候補がGalaxy Tabぐらいしかないとは…
EmacsclientとGvimをコンテキストメニューに登録
サクラエディタではインストール時にコンテキストメニューに「SAKURAで開く」というオプションを付けることができます.
それと同じことをEmacsclientとGvimでもやろうというわけです.実はちょこちょこレジストリ弄るだけでできてしまいます.
注意
レジストリを弄るのは割と危険を伴いますので,「システムの復元」を使って復元ポイントの作成を行っておいてください.
動作がおかしいと感じたらさっさと復元しましょう.
Emacsclientを登録
まずはregedit.exeを開きまして,HKEY_CLASSES_ROOT\*\shellにキーを作成します.
名前は何でもかまいませんが,ここではemacsとしておきます.
このキーの既定値に「Emacsclientで開く」とでも書きましょう.
既定値がコンテキストメニューに表示する文字列となります.(もちろん「」は値の中には書かなくていいですよ.)
次に先程作成したキーの直下にさらにcommandという名前のキーを作成します.
つまり,HKEY_CLASSES_ROOT\*\shell\emacs\commandを作成します.(このcommandという名前は何でもいいわけではありませんのでご注意を)
そして,commandの既定値として以下を登録します.
- "
\emacsclientw.exe" "%1"
下のスクリーンショットは私のHKEY_CLASSES_ROOT\*\shell\emacs\commandの既定値です.
EmacsをC:\installに配置しているためこうなってます.
Gvimを登録
Emacsclientを登録する時とほとんどかわりません.
HKEY_CLASSES_ROOT\*\shell\
そして,HKEY_CLASSES_ROOT\*\shell\
%1って何?
ここに選択されたファイルのパスが入るのです.Windowsですので当然ダブルクオーテーションで囲っておきましょう.