Studencheskie Programmisty

Page 3 of 6: « 1 2 3 4 5 6 »

Mail.appからThunderbirdに乗り換えた

Sep 26, 2010

今までずっとMacに付属のMail.appを使い続けてきたのだけれど、egbridgeとの相性が良くないのかメールを書いている時に頻繁にフリーズするようになったので、Latest topics > POPからThunderbird + Gmail + IMAPに乗り換えたい - outsider reflexを参考にしつつ、一念発起してThunderbirdに乗り換えてみた。

以前にPOPだったのをIMAPにこれまた重い腰を上げて移行していたので、データの移行にはたいして手間はかからなかった。IMAP最強。なので、以下、ThunderbirdをMail.appっぽい使用感にするために四苦八苦した記録を書くことにする。

まず、アカウントの設定について。

  • Thunderbird 3になってMail.appからの移行がデフォルトでできるようになったと聞いていたので期待して、ツール > 設定とデータを読み込む... を実行したのだけれど、メールのデータが読み込まれただけで、設定その他はスルーされてしまった。なので、結局手動で「アカウント設定」から全部登録した。ただ、Mail 2.x(未だにTigerを使っているのでこれを使い続けてる)と違って、メールアドレスを入力すると自動で適切な送受信用サーバーを設定してくれるので、かなり楽。
  • 新着メールの更新間隔を1分に設定。なぜ1分かというと、Mail.appで設定できる最短時間だったから。Thunderbirdは間隔を手入力できるので、Mail.appよりも細かく設定できてよさそう。
  • 「HTML形式でメッセージを編集する」のチェックを外す。こうしないと相手にHTML形式のメールを送信してしまうことになる。
  • 「キャレットの初期状態」を「引用部の上」に、「署名を挿入する位置」を「返信部の下(引用部の上)」に設定する。
  • Gmailを使う場合、迷惑メールと判断されたメッセージを[Gmail]/迷惑メールに移動するよう設定しておかないと、統合フォルダモードで表示した時に迷惑メールボックスが2つ表示されてしまう。

次に、外観を設定する。

  • about:configで、mailnews.default_sort_order2にする。こうすると、いちいち新しいフォルダを作った時なんかに、メールの並び順をデフォルトの日付が古い順なのを新しい順に直さなくて済む。
  • 左ペイン右上の矢印をクリックして、フォルダの表示を「統合フォルダ」にする。こうすると、送信済メッセージフォルダが統合されない以外は、ほぼMail.appと変わらない表示となる。
  • 「差出人」「件名」などを、ドラッグして並び順を変える。ドラッグ中に何も表示されない(半透明で描画されたりしない)から、ちゃんとドラッグできてるのか不安になるけど大丈夫。
  • 環境設定で、フォントの大きさを13に変更。また、プレーンテキストを等幅フォントで表示しないようにする。こうすることで、Mail.app並のフォントの大きさで、きれいなヒラギノフォントを味わうことができるようになる。

最後に、アドオンをインストールする。

  • Firefoxと違って、アドオンのインストールの仕方にちょっと癖がある。アドオンマネージャを開いて、そこにxpiファイルまたはxpiファイルへのリンクをD&DすればOK。メールが表示されているウィンドウにD&Dしても何も起きない。
  • なぜかextensions.checkCompatibilityを設定してもうまく動かないので、とりあえずNightly Tester Toolsをインストール。
  • Mail.appと違ってThunderbirdの署名機能は、メールアドレス一つにつき一つしか設定できないので、Signature Switchを導入。一つの署名ごとにテキストファイルを作らないといけないのが面倒なのと、Mail.appのように送信元メールアドレスに応じて自動で署名を挿入するのができない(送信先メールアドレスにならできる)のが多少不便だけど、それでもデフォルトよりはまし。
  • プライベート用と対外用の2つのアドレスを使い分けてるのだが、違うほうのアドレスで送信しそうになったことが結構あるので、Identity Chooserをインストール。新規メールを作成する時にどのアドレスで作成するか選べる他、アドレスごとに作成画面の色分けをしてくれる。

2日間使ってみた印象としては、Mail.appよりもかなり使いやすい。もっと早く移行すればよかった。

    NScripterでロード時にエフェクトつけたりする方法

    Sep 15, 2010

    NScripterで、ロード時に何かをやる方法といったらloadgosub命令だと思う。でも、ロード中に「Now Loading...」みたいなのを出したかったり、ロードし終わった時にエフェクトをつけて画面を表示したいということになると、loadgosub命令だけではうまくいかない。

    NScripterはセーブデータをロードする時、完全に読み込み終わるまでの間NScripter側で保存しておいたセーブ時の画面を暫定的に表示する。つまり、セーブポイントが作成された時の画面が、「Now Loading...」となっている画面だったり真っ暗な画面だったりすればよい。

    ここで問題なのは、どうやって(ユーザーに画面を見せることなく)その画面の状態でセーブポイントを作成するかである。以下、シスカマ済で、

    pretextgosub *pretext_lb
    loadgosub *onload
    autosaveoff
    
    のように設定しているとする。

    さて、まず一番最初に思いつくのは、セーブするサブルーチンで画像を表示し、savepointするという方法である。

    *show_save_display
       lsp 0,%nowloading_bg,0,0 ;※
       savepoint
       csp 0
    
    ;残りの処理
    

    しかし、実はこれではロードした時に※の部分でロードされてしまい、うまくいかない。じゃあどうやるのかというと、*pretext_lbの中でやる。

    *pretext_lb
       amsp %nowloading_bg,0,0
       savepoint ;◆
       amsp %nowloading_bg,1000,0
    
    ;残りの処理
    

    こうすることで、NScripterによる表示文頭の自動savepoint → ◆でのsavepoint → 自動saveoffとなり、うまくロード画面が表示された状態ををセーブポイントにすることができる。実は、この*pretext_lbの中でのsavepointをやるためにautosaveoffしていて、autosaveoffしていないと*pretext_lbの中でうまくセーブポイントを作ることができず、失敗する。

    また、lspvspを使ってロード画面の表示をコントロールすると画面の再描画が起こり、画面がちらついてしまうため、再描画を起こさないamspを使って画面外へと移動させることで非表示にしている。

    これでロード中に任意の画像を表示できるようになったので、あとは*onloadのなかで%nowloading_bgを好きなようにいじくり回せば完成。

      NScripterのloadgameではまった

      May 27, 2010

      ONScripterでは全く問題なかったのだが、NScripterでセーブ/ロードを繰り返すと、表示がおかしくなるというバグに遭遇した(画像1,画像2)。発生条件がランダムで、どう直したらいいのやらと試行錯誤していたら、どうやらセーブ時に変な状態でセーブされるせいで、ロードした時におかしくなるらしいということが分かった(何でこんな簡単なことが思いつかなかったのだろう・・・)。

      というわけで、define節にautosaveoffを追加したらすんなり直った。高速化のためということでsaveon/saveoffを繰り返してたらどこかでおかしくなっていたらしい。当たり前といえば当たり前だけれども、セーブ/ロード関連でバグが発生している時は、saveon/offがおかしいのが原因ということがしばしばあるので(これで引っかかった回数は数知れず)、その度に銘じ直してるはずなのだがそのことを改めて認識させられた昨日4時間でだった。

        サーバー障害でしばらく繋がらなくなっていました

        May 24, 2010

        どうやらusamimi.infoのサーバーに大規模な障害があったようで、2〜3日繋がらなかったようです。データは無事なようなので一安心。それにしても個人運営なのに早い復旧で助かります。テスト期間なので今日はこの辺で。

          Google・Yahoo・Internet Archiveから情報を削除する方法

          Apr 15, 2010

          移転前のサイトを検索で引っかからないようにしようと思ったので、ついでに削除方法をまとめてみることにした。

          Google

          Googleに削除してもらうためには、必ずすでに削除してもらいたい部分が削除されている必要がある。具体的には、

          • サイト全体、もしくはディレクトリ全体
            • robots.txtで、サイト全体もしくはディレクトリ全体をブロックしている
          • 1つのページ
            • 削除したいページにアクセスした際に、404または410が返る
            • robots.txtでクローラーのアクセスがブロックされている
            • noindex メタタグでサイトのインデックスがブロックされている
          • ページの一部分
            • ある語句で検索した時にページがヒットするのを拒否したい時は、その語句をサイト上から削除する必要がある。

          ただし、以下の情報のいずれかが掲載されているサイトの場合には、情報が削除されていなくても検索結果から削除される。

          • 政府発行の個人識別番号(住基ネット番号とかだろうか?)
          • 銀行口座番号またはクレジットカード番号
          • 手書きの署名の画像

          また、ページをリダイレクトさせている場合、302を返しているとGoogleはリダイレクト前のページを参照し続けるので注意。301を返すようにしたほうが良い。ちなみにmetaタグを用いてリダイレクトさせる場合、下の1行目のように即時にリダイレクトさせていると301に、2行目のように間隔を空けていると302として扱われる。このことはYahoo!も同様である。

          <meta http-equiv="Refresh" content="0,http://・・・>
          <meta http-equiv="Refresh" content="10,http://・・・>
          

          自分で、もしくはサイト管理人に連絡して情報を削除したら、次はGoogleに削除の申請を行う必要がある。自分が管理しているサイトの場合はウェブマスター ツールを使うと良い。ディレクトリごとの削除も申請できるので簡単である。ダッシュボード > サイト設定 > クローラのアクセス > URL の削除 から行える。

          自分が管理していないサイトの場合、ウェブページ削除リクエストツールを使う。こちらの場合は、他人のサイトを削除することになるため、審査が厳しめである。削除された場合、少なくとも90日間は検索結果から表示されなくなる。

          Yahoo!

          Yahoo!の場合は、基本的に自分が管理しているサイトのみ削除することが出来るシステムとなっている。自分が管理している場合には、サイトエクスプローラーから削除することが出来る。管理サイト詳細 > インデックス状況から、「検索結果で非表示」というボタンを押せば完了。無審査で削除が可能である。

          一方、他人のサイトの場合は少々厄介で、Googleと同じように簡単に削除を申請できるツールはない。情報を削除してもらった後で、Yahoo!のクローラーがページを再クロールしてもらうのを待つしかない。ただ、個人情報などのやばい情報の場合は、Yahoo!検索の問題となる検索結果に関するご連絡 - 情報提供フォームから連絡すれば削除してもらえる可能性はある。ただ、明確な削除基準が示されていない上、審査結果が分からないため、Googleほどには分かりやすくない。

          Internet Archive

          Internet Archiveは、robots.txtでアクセスをブロックすれば、過去の全てのページも見れなくなるので、robots.txtを置く/置いてもらうのが最も簡単。何らかの事情で設置できない場合には、info@archive.org宛てにメールを送るしかない。