タグ

ブックマーク / zariganitosh.hatenablog.jp (92)

  • 顔面神経麻痺という病気 - ザリガニが見ていた...。

    6/10(予兆) この2、3日、首元周辺の肩こりが酷い。肩が凝り過ぎて、ぐっすり眠れない気がする。普段、肩こりとは無縁な体質なはずなのに、なぜだろう? 6/12(発症) 夜中にトイレに行った時に、顔に妙な違和感を感じる。でも、その時は単に寝ぼけているだけだろうと思って、そのまま寝た。 朝起きて、口をゆすごうとした時に、口元から水が漏れて「ブクブク、ペッ」がうまくできないことに気付く。あれ? そして朝べようとした時に、この違和感は気のせいではなく、決定的な異変だと気付き始める。 口をうまく開けない。 汁物を飲もうとすると、口元から溢れる。 歯医者で麻酔された時のように、唇周辺にしびれを感じる。 笑おうとすると、顔面が引きつる、こわばる。 目が霞むと思って鏡を見ると、片方の目が瞬きできていない気がする。 見てもらうと、両目を閉じようとしても、片側はうす目状態になって完全に閉じていないらし

    顔面神経麻痺という病気 - ザリガニが見ていた...。
  • なるべく覚えないbashのキー操作 - ザリガニが見ていた...。

    ターミナル&bashでコマンドラインを編集する時、実にいろいろなキー操作がある。便利そうだからと、あれもこれも覚えようと欲張るのだけど、すぐに忘れてしまう...。もっと厳選して覚えておかなくては。自分にとって必要最小限のキー操作を探ってみた。 勝手な方針 OSX環境のキーバインドが使える場合は、そちらを優先する。 ホームポジションの維持にこだわらない。 よって、矢印キー・deleteキーなども遠慮なく使う。 カーソル移動 行頭・行末・単語区切りの移動で、カーソルを素早く動かす。 マウスカーソルで指定すれば、クリックした位置にジャンプする。 control-A・E 行頭・行末へ移動 option-←・→ 1単語ずつ移動 option-クリック クリックした位置へ移動 削除 行頭・行末・スペース・単語区切りの削除によって、修正を楽にする。 control-U・K 行頭・行末まで削除 contr

    なるべく覚えないbashのキー操作 - ザリガニが見ていた...。
    yuiseki
    yuiseki 2014/05/23
  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

    awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基動作 awkの基動作は、とってもシンプルである。

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
  • コマンド履歴の達人を目指してみる - ザリガニが見ていた...。

    ターミナルのコマンド履歴をインクリメンタルに検索して実行するにはControl + R - Macの手書き説明書 自分も知らなかった...。まだまだ知らないことって、いっぱいある。 それにしてもコマンド履歴というのは、自分はよく使う。直接入力するより、過去の履歴を探し出して、必要な修正してからコマンド実行するパターンが多い。長〜いファイルパスやオプション指定のあるコマンドなんて、ほとんどがコマンド履歴の修正と実行である。コマンド履歴が使えるからこそ、快適なコマンド操作ができると思っている(自分の場合)。 コマンド履歴は質実剛健なコマンドの世界に、選択して実行するというGUI的なゆるい操作感を与えてくれる。コマンドを忘れる心配や、スペルを間違う心配から、救ってくれる。それほどまでにコマンド履歴に頼りきっている状況なのに、今日も上下の矢印キーを激しく連打するしかない自分は、一体どうしたら良いも

    コマンド履歴の達人を目指してみる - ザリガニが見ていた...。
    yuiseki
    yuiseki 2013/10/28
  • プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。

    プロセス置き換えとか、名前付きパイプとか、とても便利な機能なのだけど、その仕組みはどうなっているのだろう?断片的な知識ばかりでは、その核心にはなかなか辿り着けない。サンプルコードの真似はできるけど、それ以上の発想はできない...。もっと根的なところからちゃんと理解しておかないと、いつまでたってもコマンドの使い方の質が理解できないと感じた。プロセスとは何か?パイプとは何か?リダイレクションとは何か?ファイルディスクリプタとは何か?可能な限りその質を探ってみようと思う。 UNIXのプロセス UNIXでは、複数のユーザーがログインした状態で、同時に複数の処理を依頼される状況が多々ある。 ところが、どんなに高性能なCPUであっても、ある瞬間に処理できるのはたった1つの処理だけである。 そんな時OSは、それぞれの処理に必要なメモリ領域を割り当てて、CPUをタイミングよく切り替えながら同時並行的

    プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。
    yuiseki
    yuiseki 2013/07/23
  • ファイルの属性情報を探る 権限編 - ザリガニが見ていた...。

    前回からの続き。 ファイルの属性情報を探る 時刻編 - ザリガニが見ていた...。 伝統的なUNIXのアクセス権限 伝統的なUNIXでは、すべてのファイルやディレクトリにアクセス権限が設定されている。 ここで言うアクセス権限とは、読み・書き・実行を許可するか、しないかの選択である。 但し、ディレクトリの場合はちょっと意味合いが違ってくる。 読み = ls可能かどうか(許可されていなくても、その中のファイルやディレクトリをパス指定したcatやlsならできる) 書き = 新規追加・削除可能かどうか(許可されていなくても、修正はできる。子以下のディレクトリに対する新規追加・削除はできる) 実行 = そのディレクトリ以下にアクセス可能かどうか(許可されていないと、すべての操作が禁止される) 以上のアクセス権限を、所有者・グループ・その他のユーザーに区分して、それぞれ設定するのである。 アクセス権限

    ファイルの属性情報を探る 権限編 - ザリガニが見ていた...。
    yuiseki
    yuiseki 2013/04/15
  • ファイルの属性情報を探る 時刻編 - ザリガニが見ていた...。

    ファイルの属性情報とは、そのファイルの内容以外に、そのファイルに関連付けられた情報すべてである。例えば、「hello」と書いて保存すると(ファイル名は「sample.txt」で保存)、「hello」以外の関連付けられたすべての情報は、属性情報である。 $ echo -n hello > sample.txt アイコン ファイル名「sample.txt」 コメント 種類:標準テキスト書類 サイズ:5 バイト(ディスク上の 4 KB) 場所 作成日:今日 10:26 変更日:今日 10:26 ラベル ひな形の状態 ロックの状態 アクセス権限 以上、Finderの情報を見る(command-I)から確認しただけでも、少なくとも上記の情報は見える。たった5文字の「hello」にも、上記の情報が付加されるのだ。 さらに、属性情報はこれだけではない。Finderからは見えない、さらに多くの情報が付加さ

    ファイルの属性情報を探る 時刻編 - ザリガニが見ていた...。
    yuiseki
    yuiseki 2013/04/15
  • ショートカットから日本語文章校正ツールを利用する - ザリガニが見ていた...。

    Yahoo! JAPANのWebAPIには、日語の校正支援APIがあるらしい。そして、そのAPIを利用して、日語文章校正ツールというサービスが公開されている。文章を入力して、チェックボタンを押すと、このような校正チェックが行われるのだ!(素晴らしいサービスに感謝です!) さらに、ブログ校正用のブックマークレットも公開されており、これをブックマークに登録しておけば、1クリックで編集モードのブログ内容をチェックしてくれるはず!...だったのだが、ブックマークレットが登録できない...。よく見ると、注記で「Safariではブックマークに登録できない」と書いてあった。(ガックリ) ならば、Safariを常用する自分自身がやってみる。 Safariに登録できない理由 javascriptのリンクを右クリックしても、ブックマークへの登録はできないのだけど、 リンクをコピーして、自分でブックマーク編

    ショートカットから日本語文章校正ツールを利用する - ザリガニが見ていた...。
    yuiseki
    yuiseki 2012/12/06
  • デスクトップを連続撮影してタイムラプス動画にしてみる - ザリガニが見ていた...。

    きっかけはこちらのページ。最近スクリーンショットのことばかり追跡していたら、コメントで面白い使い道を教えてもらったのだ。(u3さん、ありがとう!) デスクトップのタイムラプス動画を生成するスクリプト.txt - Dropbox 実験 まず、command-shift-3で適当な間隔をあけて10枚くらいデスクトップのスクリーンショットを撮影しておく。 変化のないデスクトップを動画にしても「動かない動画」=「写真」と同等で面白みがないので、 いつもの操作をしながら、そのついでに撮影しておく方が、あとで見て面白いはず。 10枚撮影したら、ファイル名を連番に変更しておく。 10枚くらいなら頑張って手作業でOK。 例:001.png 002.png ... 010.png 撮影時間順に古い方が001、新しい方が010。 ところで自分のRetina環境では、デスクトップのスクリーンショットは3840×

    デスクトップを連続撮影してタイムラプス動画にしてみる - ザリガニが見ていた...。
    yuiseki
    yuiseki 2012/11/29
  • そうだ!Dropboxのdiff(差分)をとろう! - ザリガニが見ていた...。

    そもそも前回なぜ、Dropboxへcurlコマンドでアクセスしたかったのか?というと、Dropboxの過去のバージョンとの差分を見たかったのだ。Dropboxの素晴らしすぎる機能の一つに、過去一ヶ月間くらいのファイルの変更履歴を保持する仕組みがある。過去のバージョンを見たいときは... FinderでDropbox内のファイルを右クリックして「以前のバージョンを表示」を選択する。 すると、WebブラウザのDropboxページが開いて、バージョン履歴がリスト表示されるのだ。 そのリンクをクリックすれば、その内容が表示される。 そのリンクをoption-クリックすれば、ファイルとしてダウンロードされる。 素晴らしい!AppleOSXでバージョンという仕組みを作る以前からバージョン管理されていた。ファイルの同期も信頼性が高く、使い勝手もすこぶる快適。常にiDiskの一歩先を進んでいた。そんなD

    そうだ!Dropboxのdiff(差分)をとろう! - ザリガニが見ていた...。
    yuiseki
    yuiseki 2012/10/08
  • シンプルなモデルで具体的に考えて理解する方法 - ザリガニが見ていた...。

    新入社員として初めて配属された先は、とある巨大店舗の経理部だった。経理部はいくつかの課に分かれており、さらに課はいくつかの係に分かれている。自分が担当するのは、その中の一つの係である。 新入社員というのは、良くも悪くも前提知識がまったくない。自分が担当する係の仕事内容も分からないし、その係が経理全体の中でどのような役割を担っているのかさえ分かっていないのだ。 それにしても、巨大店舗の売り場では色々なことが起こる。伝票を処理するルールというのは決まっているのだけど、そのルールから外れてしまうのが常である。こちらの想像を超えた予想外のミスをどのように修正すれば良いのか、新入社員であっても電話をでたら、容赦なく問い合わせてくる。(電話の向こうでは、こちらが新入社員かどうかなんて、分からないのだから) 新入社員がそのような問い合わせを受けても答えられるはずもなく、必死で問い合わせの内容をメモして、

    シンプルなモデルで具体的に考えて理解する方法 - ザリガニが見ていた...。
  • 全部覚えたいviの使い方 - ザリガニが見ていた...。

    前回、なるべく覚えないで使えるようになろう!と模索していたが、やっているうちに全部覚えたくなってしまった...。viおよびvimは、とてつもないポテンシャルを備えていることを、調べるほどにひしひしと感じる。viの魔力にハマった感じ。しかし、とてもじゃないが全部網羅できない...。 ダウンロード(UTF-8なviで開く用) #### この表の用例 esc = escキー ⏎ = enterキー space = スペースキー tab = tabキー delete = deleteキー ctrl-x = controlキーを押しながら x を押す option-x = optionキーを押しながら x を押す command-x = commandキーを押しながら x を押す fn-x = fnキーを押しながら x を押す A・B = 「AあるいはB」の意味。似た機能を1行で併記する時に使う #

    全部覚えたいviの使い方 - ザリガニが見ていた...。
  • なるべく覚えないviエディタの使い方 - ザリガニが見ていた...。

    viというエディタがある。長い歴史のあるエディタである。ユーザー視点で見ると、コマンドモード・入力モードという二つのモードがあって、モードを切り替えながらテキスト編集するスタイルである。GUI全盛のモードレスなエディタに慣れきってしまった自分には、かなり面らったエディタであった。初めて起動した時、文字も入力できず、終了の仕方も分からない...。何じゃこれは? そう思って調べてみると、viには非常に多くのショートカット的コマンドがある。その多さにまず面らう。とても覚えきれないと。以下は、自分で調べて理解できた使い方である。軽く100以上の操作がある。(これでもなるべく行を節約して書いたのに)しかも、以下の表でもすべてを網羅できている訳ではない。 どうにか、これらのコマンドをなるべく覚えないで、そこそこ使えるようになりたい。何を覚えて、何を覚えなくていいのか、探ってみた。 viエディタの使

    なるべく覚えないviエディタの使い方 - ザリガニが見ていた...。
  • あらゆる操作を実行可能マウスカーソルを動かす方法いろいろ - ザリガニが見ていた...。

    GUIなOS環境では、マウスを操作してカーソルを移動することで、操作対象を選択して、命令を実行する。通常マウスは人の手で操作するのだけど、もしコードで自由に制御できれば、面倒な一連のマウス操作を自動化できるのだ。 但し、人がマウスを操作する時は画面の状況を確認しながら操作できるけど、マウスカーソルを自動制御する時には、そうはいかない。今時のOSXでは、ウィンドウがしまわれていたり、アプリが隠れていたり、Spacesでスペースがいくつもあったりと、考慮しておくことが多くて大変なのだ。 一方、マウスを操作して実行する命令には、大抵ショートカットが用意されていたり、同等のコマンドがあったりする。AppleScriptでも操作可能かもしれない。可能な限りマウスカーソルの自動制御以外の方法で操作した方が、GUIの状況に左右されず、素早く、確実に、命令が完了するはずである。 そうは言っても、マウス以外

    あらゆる操作を実行可能マウスカーソルを動かす方法いろいろ - ザリガニが見ていた...。
    yuiseki
    yuiseki 2012/01/11
  • プロセスの源流を見に行く - ザリガニが見ていた...。

    MacBookが起動している間、実に様々なアプリケーションが稼働して、快適な作業環境を提供してくれる。Dockやメニューバーには、自分の意志で明示的に起動されたアプリケーションが並ぶ。しかし、そこに見えているのはほんの一部で、その裏ではさらに多くのアプリケーションが稼働している。それらは常にバックグラウンドで稼働し、UI*1を持たない。だから、厳密にはアプリケーションとは言えないかもしれない。 普段はその存在をほとんど感じることはないが、アクティビティモニタ*2を起動すると簡単に確認できる。ツールバーで「すべてのプロセス」にしてみると、自分の環境ではその数およそ100プロセス*3。結構な数だ。 それらの暗黙的に稼働している(はるかに多い)プロセスは、一体いつ起動されたのだろう?それを調べるには、やはりアクティビティモニタのツールバーで「すべてのプロセス(階層表示)」にしてみると、ある程度想

    プロセスの源流を見に行く - ザリガニが見ていた...。
    yuiseki
    yuiseki 2011/10/03
  • MacBookが起動するまで何が起こっているのか? - ザリガニが見ていた...。

    すべてはMacBookの電源ボタンを押した瞬間に、始まる。フラッシュ ストレージ搭載のAirにおいては、その僅か15秒後には起動が完了して、美しいGUIがユーザーの操作を待ち構える。その15秒間に一体何が起こっているのか? 前回は、プロセスID 0 まで遡ってみた。しかし、それより前の世界がまだ全然見えていない。今回は、電源オンから時系列に辿ってみようと思う。 概要・基礎知識 CPUCPUは複雑怪奇なスイッチの集合体だけど、できることは非常にシンプル。メモリの内容を読み込んで、読み込んだ命令に従って演算して、結果をまたメモリへ出力するだけ。 つまり、メモリにプログラムとして実行可能な意味のある数列が展開されていないと、CPUは無意味な動作を永遠と続けるだけなのだ。 だから、電源オンでCPUが稼働した瞬間から、何らかの意味のあるプログラムが用意されていて、それが忠実に実行され、美しい

    MacBookが起動するまで何が起こっているのか? - ザリガニが見ていた...。
    yuiseki
    yuiseki 2011/10/03
  • はてなカウンターがカウントしないもの - ザリガニが見ていた...。

    これは前々から薄々感じていたことだが、はてなカウンターは、決してすべてのアクセスをカウントしている訳ではない。但し、感覚的にはそう感じていたが、実際に厳密に試してみたことはこれまでなかった。どのようなアクセスをカウントし、あるいはカウントしないのか、そろそろちゃんと調べておこうと思った。 環境 はてなカウンターのみ契約(月額60ポイント) カウントする仕組み まずはどのようにカウントしているのか、その仕組みを調べてみた。 カウンターを設置するコード はてなダイアリーにおいては、管理 >> デザイン >> 詳細 >> ページのヘッダ内に以下のhatenaタグを設置する。 <hatena name="counter" cid="カウンターID(例:11)"> 上記hatenaタグは、はてなダイアリーアクセス時に以下のHTMLJavaScript含む)に変換される。 <script type=

    はてなカウンターがカウントしないもの - ザリガニが見ていた...。
    yuiseki
    yuiseki 2011/09/13
  • コンピュータはどのように計算しているのか? - ザリガニが見ていた...。

    コンピュータ(CPU)は単なるスイッチの集合体である。 スイッチのオン・オフを数値の1・0と考えて2進数で計算している。 以上のことは真理かもしれないけど、今イチ現実味がない。そのままでは、CPUの姿は想像できない。単なるスイッチが、その内部でどうやって計算しているのか?もう少し具体的な姿を見るために、調べてみた。 10進数ではない数値 人間が計算すると言ったら、それは当然10進数で計算することになる。 10進数とは、1桁が10の数字によって区別される数値の表現方法である。 0から9まで数えたら、桁上がりして10になる。 ところで、普段はあまり意識しないが、時計は12進数と60進数が組み合わさった数値の表現方法である。 ストップウォッチが付属していると、10進数も関係している。 あるいは、曜日は7進数的な表現方法と言える。(桁上がりは、ないけど) 1年は12ヵ月あり、12進数的である。 さ

    コンピュータはどのように計算しているのか? - ザリガニが見ていた...。
  • 電源を確保する - ザリガニが見ていた...。

    かつて、でんこちゃんがいつも言っていた。「電気を大切にね!」 全くそのとおりだった。電気は大切だった。停電を経験して、しみじみ実感する。にもかかわらず現状、自力ではほとんど確保できていない。電力会社からの供給に頼るだけ。どうにかしなければ、と思い始めた。 電気が必要な状況 いざという時は、夏の冷房は諦める。 冬の暖房は、石油ストーブでもいい。 明かりはロウソクでも、サラダオイルランプでも良い。 しかし、電気がないとどうしても動かないものもある。 テレビやラジオ。それからiPhoneiPadMacBook等の情報端末などである。 手回し発電機付きのラジオは持っている。テレビの音声も入る。 でも、テレビ・ラジオの報道は、一次情報としては良いが、自分の行動を決める長期的な情報源としては不十分だ。 東日大震災の報道を見て、明らかにそう感じた。 一方、WEBにはデマや煽りもあるが、テレビや新聞

    電源を確保する - ザリガニが見ていた...。
  • 無線LAN経由で眠っているMacBookを起こす方法 - ザリガニが見ていた...。

    今まで、有線LAN接続のマシンをスリープ状態から起動する方法は知っていた。*1ところが、一旦無線LANを導入してその快適さを知ったら、ネットワークは無線接続がメインになってしまう。すると、スリープ中のマシンに接続して共有サービスを利用したいのだけど、無線接続のため、ネットワーク経由でスリープから復帰させることが出来きない、という問題に悩んでいた。しょうがなく、マシンのある部屋まで行ってキーボードを触ってスリープを解除したり、特定の時間帯だけは決してスリープしない設定にしたりと、不便を強いられていた。 Snow Leopardで、とうとう、この不便は解消された!無線LAN経由で、スリープから復帰させることができるようになったのだ。(画期的!)アップルはこの機能を「Wake on Demand」と呼んでいる。 Mac OS X v10.6:Wake on Demand について Wake on

    無線LAN経由で眠っているMacBookを起こす方法 - ザリガニが見ていた...。
    yuiseki
    yuiseki 2011/04/06