全角文字が大量に含まれているとなぜか例外が出る

PowerShell 7 で日誌をgrepするとエラーで落ちることがあって、何でだろうと思い調べたら、どうもバグっぽい。全角文字が画面バッファーの幅以上に含まれていると例外が出る。 $Host.UI.RawUI.BufferSize.Width # 160 "`u{5b57}" * 159 | Out-File foo.txt S…

デフォルトのエイリアスとかぶってるコマンド

コマンドプロンプトで使っていたコマンドを PowerShell で実行しようとすると、時々エイリアスとかぶってるやつがあることに気づく。そういう時は後ろに .exe を付ければ実行できる。PowerShellに専用のコマンドレットもあるのだが、その場でタイプして実行…

winreg でレジストリを読み書きするサンプルコード

標準ライブラリに入ってる winreg を使うとレジストリの読み書きができるけど、こいつは Windows API を薄く包んでいるだけなのでリファレンスを見ても使い方がさっぱりわからないという。いろいろ調べて、おそらくこうするのが正しいと思われるサンプルコー…

Out-GridView は選択画面としても使える

Out-GridView を使うとコマンドレットの出力をGUIに表示できるわけだが、PassThru パラメーターを指定することで、オブジェクトの「選択画面」としても機能します。 # 例:カレントディレクトリのファイル一覧を表示して削除するファイルを選ばせる Get-Chil…

Firefoxで文字化けするよくある理由

時々Firefoxでページが文字化けするサイトがあるけど、原因を調査すると95%くらいは Content-Type の設定が間違ってました。それもHTMLソースの方じゃなくて、HTTPヘッダーの方が。普通、文字コードを指定するとしたらHTMLでこう書くと思うけど、 <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">HTTPの</meta></meta>…

画像認識と小説スノウ・クラッシュ

図書館でニュートンを立ち読みしてたら、人工知能の特集をやってて、何となくパラパラめくってたら、AIの弱点みたいなページがあった。どう見てもパンダの画像なのに、細工を施したノイズを混ぜることでテナガザルと認識させられるとかいう内容。ainow.aitog…

objectとtypeの関係を図にまとめた

object は継承の頂点 type はインスタンス化の頂点 なお、図では以下のようなクラスを使いました。 # 何も継承指定しないとobjectを継承したことになる(※Python3から) class Foo: pass # Fooを継承 class Bar(Foo): pass # 独自のメタクラスを作成して使用…

PowerShellとファイルの日付についてちょっとしたこと

PowerShellを使うとファイルやフォルダーの日付を簡単に変更できますが、 (Get-Item c.txt).LastWriteTime = '2012/3/4 5:6:7'ちゃんと小数点以下まで指定しないと、日付を変更したことがばれます。 Get-Item *.txt | Select-Object Name,{$_.LastWriteTime.…

EvernoteClipper.exeの常駐設定

Evernoteのクライアントをインストールすると、EvernoteClipper.exeが常駐するようになる。自動起動から外しておいても、Evernoteのクライアントと一緒に起動してきて、クライアント終了後に常駐する。自分はウェブをクリップする時、この機能は使わず、範囲…

マイナスはリテラルの一部じゃなくて演算子

二乗したのに符号がマイナスなんだけど「こいつ虚数か?」と思ったら、単純に ** が先に評価されているだけでした。 >>> -1 ** 2 -1 >>> (-1) ** 2 1よく読むと、チュートリアルにも記載されてるし。 - よりも ** の方が優先度が高いので、-3**2 は -(3**2) …

Fallout3 に出てくるゲイリーの元ネタ?

住人が全員ゲイリーという名前のクローン人間ばかりになっている核シェルターが Fallout 3 に登場する。先日、本を読んでいたら、このゲイリーの元ネタっぽいものを見つけた。本のタイトルは「平均思考は捨てなさい」(原題:THE END OF AVERAGE)だ。 子供…

コンソールスクリプトが別ウィンドウで実行される

OSを再インスコして気づいたけど、PythonみたいなスクリプトファイルをPowerShellから直接実行しようとすると別ウィンドウに表示されるのな。一方で py hello.py とか python hello.py とかやると、ちゃんとコンソールウィンドウを引き継いでくれる。この動…

コマンドラインからEvernoteのバックアップをとる

Windows版のEvernoteクライアントにはENScriptというコマンドラインユーティリティが付属してくる。これを使うとノートのバックアップが簡単にとれる。 # デフォルトならENScriptはここに入っているはず cd ${env:ProgramFiles(x86)}\Evernote # ヘルプの表…

PowerShellでエイリアスの逆引き

あるコマンドレットにどんなエイリアスが設定されているのか見たいことってあるわな。例えば、Get-ChildItem にどんなエイリアスが設定されているのか調べるにはこうする。 Get-Alias -Definition Get-ChildItem端的に言うと Get-Alias に -Definition を付…

urllib.requestを使って日本語ドメインを含むURLを取得しようとするとエラーになる

# Python 3.6.1 import urllib.request res = urllib.request.urlopen('http://日本語.jp/about/') # UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256) urllibの手足である http.client と socket …

はてなブログを少し使ってみる

はてなブログを少し使ってみる せっかくなので「はてなブログをはじめよう!新春キャンペーン」とやらに応募してみようと思う。新しい「はてなブログ」の使い勝手にも興味あったし。 1. Drobo drobo S3.0 1つ目はこれ。今はバックアップや古いデータの保管…