Windows」カテゴリーアーカイブ

Windows 7 の Explorer で FTP は快適

Windows 7 を Linux の GNOME のように便利に使いたい。

既に EmEditor を導入し Gedit 風にカスタマイズしている。
Tab キーでスニペットが挿入できるようになった v9 は本当にありがたい。

IronPython を導入し Python と PyGtk の代わりに使っている。
普通の Python じゃとにかく何をやるにも別個モジュールが必要になってアホクサイ。

Linux で Python が糞便利な理由は全てディストリビューションのおかげ。
必要になりそうなモジュールを最初からまとめて入れてくれているからである。
IronPython なら .NET Framework が使えるから別の何かが必要になる場合はほぼ無い。
もう少し DLR の初期化が早ければなぁ…

次は Explorer をなるべく Nautilus のように使いたい。
Nautilus も Dolphin も本当に便利だ、なにより FTP 接続が簡単である。
Explorer は…と思っていたけど調べてみたら実は超簡単だった。

ここ (sakura) であれば

ftp://ユーザー名@wwwサーバー番号.sakura.ne.jp/www

をアドレスバーに打ち込むだけ、実は Vista でも同じ。
パスワードを保存も可能だけどセキュリティ面でやらないほうがいいかと。

ftp_login

パスワードを打ち込んで Enter すれば普通に接続完了。
後はそのままローカルのファイルのようにドラッグアンドドロップ可能。
右クリックメニューのプロパティからパーミッションも変更できるようだ。

ftp_setting

最ログインが必要になったら「ファイル」メニューから「ログイン方法」を選択。

ftp_relogin

それだけでは毎回打ち込みが必要で不便なので「お気に入り」に追加する。
「お気に入り」を右クリックして簡単に登録できます。

ftp_explorer

サーバー番号と実ユーザー名は一応塗りつぶしました。
これが何故か Vista ではできない、コピー動作になる…
以後はお気に入りからクリックするだけで簡単 FTP クライアントに。

もう Windows 7 では
「君もしかして FTP ソフトなんか入れているの?ププッw」
になってしまいました。

他 Windows 7 日本語版の Explorer はデフォルトで LHA の解凍が可能になった。
でも作成はできない、つか個人的には tar.gz に対応してほしい…

ついでに。
このスクリーンショット加工に mspaint.exe を使っているんだが意外に使いやすい!
PrtSc で mspaint に Ctrl+V で普通にスクリーンショットの大きさな画像ができる。
実際 Gimp も一部加工程度でしか使わないのでペイントソフトはコレで十分かな。

個人製作オンラインソフトの廃れ具合は加速するばかり…

Visual Studio x64 build test

時間が掛かりすぎるので休日にしかできない仮想 Vista 構築の続き。

前回はただ OS のインストールだけで終わったので Vista に SP を当てないと。
Windows Update では自動で当ててくれないのが忌々しい。

sp1 を当てないと sp2 が当てられないのね、面倒すぎ。
4 時間使ってやっと両方が終わったところで IE8 への自動更新が出る。
一度にやってくれよ、何回再起動させればいいのやら…

やっと Visual Studio をインストールする環境が揃う。
インストール DVD を立ち上げ今回は忘れずに「すべて」を選択。

vs_all

やっぱり一時間半掛かって、んで一時間使って MSDN ヘルプを入れて…
そして sp1 にするのにまた一時間半と、更に Update が掛かって…
そして今回も丸々一日使うはめになったとさ。

あーもうなるべくコイツは使いたく無い、Visual Studio 専用 OS にしよう。
FTP ができないと困るがこれでやればイイや。

[IE]Internet Explorer で FTP サイトのパスワードを入力する方法

Explorer のエディット部にコレやればとりあえずファイル転送はできるのよね。
パーミッション変更とかはできるはずがない、それらはホストの Mandriva からやる。
パスワードに記号とか入れている人は URI 変換をお忘れなく。
でも何故か Windows 7 ミニノートからではできない…

とにかく minipoli のソースを落として実験だ。
Visual Studio 起動、初回は遅いけど二回目以降は起動が早いというより一瞬。
仮想 OS になっても Vista の SuperFetch は完璧である。
でなきゃ困る、だから XP も 7 も持っているのに Vista を使うんだから。
7 の SuperFetch は効きがイマイチなんだよなぁ…

select_x64

「すべて」を選択したので今回はしっかり x64 の選択肢があった。
ソースコードはまったく弄くらずに minipoli をビルド、何事もなくビルド完了。
ちょっと拍子抜け、本当に 64bit 用にビルドされたのかな?
実験で 32bit であるこの Vista で使ってみる。

minipoli64.zip

32bit_test

わーい 64bit ですってエラーになった!
次に x64 Windows 7 であるミニノートに持っていき試す。

64bit_test

あたりまえのように動く、マジでコードは一行も変更しないで済みそうだ。
後は 64bit 用インストーラを作成すれば minipoli の x64 化は完了。
それがやりたいだけの為に二回も休日を全部使ってしまった…
好きでやっているのだから別にイイのだが。

OSASK 公開停止か? – スラッシュドット・ジャパン

いやいや、皆が何を言いたいかよく解るなぁ。
開発者が望んでいるようなユーザーが一人でもいるなんて奇跡に等しい世界ですから。
情報公開もオープンソースも自己満足、それでいいじゃない。

VirtualBox に Vista はお気をつけ

Mandriva Linux 2010 上の VirtualBox ose に Windows Vista をインストール。
この中に Visual Studio 2008 をインストールして Windows 開発はそれで行う。

Aspire 1410 ミニノートに巨大な開発環境を入れたくないだけなんだが。
Windows SDK と本体ライブラリで万単位のファイルが展開されてしまうからね。
Windows では現実的な使い道が無い普通の Python も無駄なので入れるつもりは無い。

ちなみに Windows Vista は昔使っていた SP 無し。
実は DSP 版なんだがコレを入れていたマシンでそのまま仮想にするから問題は無いはず。
仮想 OS に変更となること以外は完全に同じ構成だからライセンスは合っている。

ちなみに現在 Mandriva 2010 に入る VirtualBox ose は 3.0.8 である。

メモリ割り当ては 2GB にすると警告が出たので半端だが 1536MB にしてみた。
HDD 容量は 20GB 推奨値のまま仮想 HDD の作成、たいして必要無いだろう。
ビデオメモリは最大の 128MB に、Vista はそれでも足らないはずだが。
フロッピーを無効にしたり DVD-ROM を指定したり PlusAudio を指定したり。
今まで Linux を入れて試していた頃の感覚で仮想マシン作成開始。

一時間掛かってインストール完了。
即 Windows Update して 5 時間使って自動アップデートが終わる。
だから Windows はアップデートに時間が掛かりすぎるんだよ…

さて次は Visual Studio だ、コレも恐ろしく時間が掛かる。
同じく SP を当てるのに更に時間が掛かるのも解っている、今度にしようか…
そういえば…その前に HDD 使用量の確認。

vista_15gb

15GB って…
OS のみでコレか…
Vista を舐めていた…

これじゃ既に Visual Studio 2008 を入れるスペースが無い。
100GB くらいにしてやり直し、Visual Studio については後日。
無印 Vista を VirtualBox に入れようとしている人は注意ね。

てかプロセッサスコアが 4.1 って 普通に使っていた時よりエラく低いんだが。
ホストで使っていた時の Vista ランクは以下。

vista_rank

昼前から始めて約 12 時間、やっと OS のみのインストールとやりなおしが終わった。

これを行っている最中に ミニノートで IronPython をチマチマ。
しようとしたら EmEditor がアップデートのお知らせでウザい!
今時の Linux のように入れたアプリ一揆にアップデートする仕組みが欲しい。

Windows Update に組み込む API とか無いのかな?
それはそれでセキュリティが絡むし非公式リポジトリも期待できないし…
やはり Windows ではアプリ毎にお知らせをするしかないんだろう。
こういう部分でも Windows って面倒くさいんだよね。

つか YouTube ばかり見ていてロクなコードが書けなかった(ぉい!
あぁ久々に無駄な一日であった。

続き。
Visual Studio x64 build test

Windows 7 FLV and MP4 From Opera Cache

Windows 7 は本当に Aspire Timeline 1410 で十二分に快適である。
すっかり気に入って Bluetooth のマウスまで買ってしまった。
Youtube 等の Flash アクセラレーションが効くのが Ubuntu 9.04 より素敵。

Ubuntu 9.10 リリース – スラッシュドット・ジャパン

9.10 は評判悪いな、512MB 超のファイルで破損する可能性って怖すぎる。
デスクトップの Linux は明後日以降にアレが出るまで放置てか様子見。

と思っていたけどやはり Linux ばかり使っていると Windows が少し不便だ。
端末操作がどうのは文化が違うのでどうとか言わない。
だけどスクリプトで定形作業を簡単に済ませるとかをやりたいじゃない。。

ぱぇぽぃ2 ? Blog Archive ? FLV and MP4 From Opera Cache

コレができないとか、Windows で GnomeVSF を呼び出せるはずが無いし。
よし、コレと同じことができる IronPython スクリプトを作ってみよう。
IronPython は Windows SDK 等をインストールせずに .NET が使えるから素晴らしい。

ちなみに 7 及び Vista での Opera10 キャッシュは以下にある。

C:\Users\(UserName)\AppData\Local\Opera\Opera\cache\

とりあえず GnomeVFS がどうやって FLV や MPEG-4 を見分けているか調べる。
ま、FLV は先頭バイナリ 3 バイトが FLV で始まっていると解っているけど。

/usr/share/mime

を開いて video/mp4 な Mime Types を探す。
nano から開けば普通にテキストとして確認できるようだ。

mpeg4bin

んーイマイチ解らないので GHex でも MPEG-4 ファイルを開いて確認。
とにかく 5 バイト目以降に ftypisom か ftypmp42 が続いていれば MPEG-4 ってことね。
それならこうしてみよう。

#-*- coding:utf-8 -*-

"""
    opera_youtube.py
    flv and mp4 Copy from Opera Cache
"""

from System import *
from System.IO import *

FLV  = Text.Encoding.UTF8.GetBytes("FLV")
MP41 = Text.Encoding.UTF8.GetBytes("ftypisom")
MP42 = Text.Encoding.UTF8.GetBytes("ftypmp42")

# Cache Directory Name
local_dir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
cache_dir = local_dir + r"\Opera\Opera\cache"

# Copy Directory is Other
copy_dir = r"C:\Users\sasakima-nao\Documents\_temp"

def array_equals(a, b):
    """
        System.Array valus Equals Check Function
    """
    result = True
    n = len(a)
    for i in range(n):
        if a[i] != b[i]:
            result = False
            break
    return result

# Get Opera Cache FileNames
files = Directory.GetFiles(cache_dir)
# roop
for f in files:
    fs = FileStream(f, FileMode.Open)
    # FLV Check
    barray = Array.CreateInstance(Byte, 3)
    fs.Read(barray, 0, 3)
    #if FLV.Equals(barray) is no!
    if array_equals(FLV, barray):
        newfile = "%s\\%s.flv" % (copy_dir, Path.GetFileName(f))
        File.Copy(f, newfile)
    # MPEG-4 Check
    fs.Seek(4, SeekOrigin.Begin)
    barray2 = Array.CreateInstance(Byte, 8)
    fs.Read(barray2, 0, 8)
    if array_equals(MP41, barray2) or array_equals(MP42, barray2):
        newfile = "%s\\%s.mp4" % (copy_dir, Path.GetFileName(f))
        File.Copy(f, newfile)
    fs.Close()

get_cache_file

たったこれだけのスクリプトで 6 時間も掛かった、やっぱり .NET は面倒くさい。
まず IronPython で System.Byte[] を作成する方法を見つけるのに苦労した。
それに System.Byte[] は内容を Equal で比較できない、かなり悩んだ。
Nautilus のように Explorer から呼び出しできれば更にイイんだが無理。

てか普通の Python で作ったほうが楽だったかな?

もっと効率が良いコードがありそうだけど動いたからいいや。
正規表現なんかを使って少し改造すれば色々と応用も効くかも。

WOW64 にて動いている 32 ビットアプリの見分け方

x64 Windows で WOW64 にて動いている 32 ビットアプリは

task64_32

とタスクマネージャのプロセスで (*32) とマークが付くらしい。
Any CPU ビルドな C# 製 SeeMe はやはり 64 ビットで動いている。
それなら SeeMe for Windows 本体はこのまんまでいいかな。

方法 : 64 ビットプラットフォーム用の Windows インストーラを作成する

これで 64bit 専用インストーラは作れそう。
てか 32bit と別個でインストーラを作る必要があるってことなのね。
なのでインストーラで環境を見分ける必要は無いということか。

minipoli のほうは C++ なので 64bit ビルドにする必要がある。
ネットを漁りまくって試しているが上手くいかない、てか x64 の選択肢が無い。

platfome

C# で作れば普通にあるんだが Visual Studio のインストール方法が悪かった?
余談だが Visual Studio を使うためにメインマシンを Vista に戻している。
やっぱり大きな画面は素晴らしい!コイツはモバイルなんだから我慢我慢。

ま、もう二週間もすれば Vista は VirtualBox 上行きなのでその時にやりなおす。
でもその頃にはこの Blog も Linux ネタに戻っているような気がする…

Cinema はもういいや、グダグダな DirectShow Player は正直もうやりたくない。
それに WMP12 で十分てか WMP12 がカッチョ良すぎる。

ただ 64bit 版追加だけではつまらないから何か新機能を考えなきゃ…

どうでもいいが Windows 7 の標準 IME は随分賢くなったようだ。
Anthy のバカさ加減に慣れたせいで思い込みかもしれないけど。