WSL2 上の ArchWSL で音を鳴らす

折角歯車も回ったことだし、音も鳴らしてみることにしよう。 PulseAudio ライブラリのインストール リモートサーバで音を鳴らすので、ライブラリだけをインストール。wine で音を鳴らしたい場合は lib32-libpulse が必要かも知れない。 sudo pacman -S libpu…

WSL2 上の ArchWSL で歯車を回す

Windows 10 May 2020 Update がリリースされて、マイ PC でも WSL2 が使えるようになった。おめでたい 折角なので、WSL2 で ArchWSL をセットアップし、OpenGL デモでお馴染みの glxgears で歯車を回していく。 前提条件 Windows 10 May 2020 Update にアッ…

恣意的なタイミングでのパスワード変更を求めるべきではないし、変な生成ルールを課すべきでもないらしい

パスワード強度について本気出して考えてみようとしたけどやめた - めらんこーど地階という日記をはるか昔に書いたわけだけど、ここ最近になって、アメリカの政府機関が認証に関するガイドラインのドラフトを発行したという話を聞いて少し読んでみた。DRAFT …

PowerShell 3.0からはじめるTakeWhile

前回、繰り返し構文とbreak文によるtakeを考えたけど、これには欠点がある。具体的には、breakで大域脱出可能な繰り返し構文が上流にない場合、この戦略は破綻してしまう。 PS> $x = 1..10 | take 5 PS> $x (何も返らない)この有様だ。ラッパーを噛ませない…

PowerShell 3.0からはじめるunfoldr and take

最近 Haskell とかの関数型言語のリスト操作を PowerShell 2.0 で使うのにハマっている。 1つの例を挙げると、Haskell のリスト操作関数に Data.List#unfoldr というのがあって、これは unfoldr に与えた関数とシード値を使い、先頭から末尾の向きにリストを…

HP ML110 G7でNexentaStorを飼い始めた

少し前にHP ML110 G7が9980円くらいで買える激安セールがあるとtwitterづてで知って一台ポチ。 そろそろポンコツファイルサーバとおさらばしたかったというのがあって、ファイルサーバとして仕立てることにした。 追加で購入したパーツは HP ProLiant/ML110…

OpenBSD 5.1 releaseでruby-buildからのruby 1.9.2-p320, 1.9.3-p194がinstallできない

railsアプリサーバを立ち上げるため、OpenBSD+rbenv+ruby-buildの環境を作る機会が得られた。 取りあえずOpenBSDをinstallして、専用のユーザを立てたのち、そこにrbenvとruby-buildをinstall。 # useradd -m myrails # passwd myrails ... # pkg_add git ..…

C99未定義の動作を試すとこうなる

c

このコードはC99としてコンパイルすることが出来る。(注: 最近のgccでは問題の式について警告を発します) #include <stdio.h> int print(int num, int args[]) { int i; for(i = 0; i < num; ++i) { printf("%d", args[i]); } return 1; } int main() { int a = 2; r</stdio.h>…

IIS上のPowershell CGI ScriptでPOSTリクエストを処理する

IISではCGIモジュールを利用することで、スタンドアロン形式のスクリプト実行プログラムを通してCGIスクリプトを実行することが出来る。PowerShellも当然ながら例外ではない。検索エンジンで適当なワードを検索すれば、いくつもの導入事例を見つけられるだろ…

Thunderbird8の迷惑メールフィルタがバグっている件について

普段メールを送受信するのにThunderbirdを使っているのだけど、最近のバージョンになって、迷惑メールフィルタの調子がおかしい。手動で迷惑メールフィルタを実行すると、大体5,60件ぐらいマークを付けて止まってしまう。再度実行すると、マークが付いて…

Powershell 2.0でチャーチ数の夢を見た

(***) $one=&{params($f)&{params($X)f x}};とか受け付けてくれない残念なps1 と言われて、最初は何のことか分からなかったけど、なるほどチャーチ数であることに気付いた。 折角なので受けて立とう、その挑戦を。 全ては1から チャーチ数の1は以下のよう…

.NET Framework < 4.0でEnumerateFiles/EnumerateDirectories

C#

最近になって、プログラミングの世界に舞い戻ってきた。別に必要でもなんでも無いから遠ざかっていて、今も似たような感じだけど、なぜか唐突に始めた感じだ。 さて、昨日今日でやっつけたC#プログラムを作る際、どうしても数万ファイルを探索することになる…

iphone-dev/trunk is so old

なんとかして、クロスGCCのビルド開始までこぎ着けたが、どうやら飛んでもない罠を踏んだようだ。 dylibのcmd7が認識できないという問題だが、これの原因が、どうもodcctoolsか、SDKのバージョンが古すぎるかららしい。 またodcctoolsのビルドからやり直さな…

odcctools on OpenBSD 4.6

bsd

LLVMは無事通ったが、第一の問題はこれだ。 Linuxでコンパイルできるようにと、中にBSD系のヘッダを抱えているので、タチが悪い。まずは、標準ではコンパイルに必要なautomake, autoconf がないので、pkg_addしておく。automakeを突っ込めば勝手に対応するau…

LLVM r42498 on OpenBSD 4.6

bsd

折角iPod Touchをいじり始めたのだから、iPhoneアプリケーションの開発環境を整備しようと思った。 しかし、手元にあるマシンはと言うと、Windows XPのオンボロ据え置きと、Windows XP/Ubuntu(ネットブック仕様)のネットブック君と、あと一つ、OpenBSDのサー…

LimeChatにprototype.jsの潤いを

LimeChatではwindowとかdocumentが設定されていないので、うまくごまかさないと、prototype.jsが動かない。 以下のコードを評価してから、prototype.jsを評価すれば、prototype.jsが使えるようになる。 var document = { getElementsByTagName : function() …

分割メール結合アドオンJoinをThunderbird 3.0で

Outlookや、一部のメールユーザクライアントは、メールが一定以上のサイズになると、そのメールを分割して送信する機能を持っている。メールサーバのサイズ制限で大きなメールが送れないときも、この機能を使うことで、送信できるようになるわけだ。しかも、…

KompoZerに72文字で強制改行させない

Webページデザインソフトと言えば、DreamWeaverや、Homepage Builderが有名だが、それらが買えるほど裕福ではないので、KompoZer(0.8b1)を常用している。 しかし、このKompoZerがなかなかの曲者。保存時、72文字を越える行に対して72文字毎に改行を入れてし…

プログラミング初心者は何が分からなくて詰まるのか

プログラマーは誰しも、右も左も分からないような初心者の時代を過ごして来ている。そんな頃、課題を解決している途中で詰まってしまった経験が一度はあるだろう。それは何が分からなくて詰まってしまったのだろうか。 思い返してみると、何時も入力と出力は…

薄氷のようなSDL

c

こないだ導入したruby/sdlだけど、サンプルをくるくる回しながら、ちょいとSDLのマニュアル見てみると、描画オペレーションがBitBlt系とドット打ち位しかないことに今更気付いた。ドット打ちさえあれば、直線はプレゼンハム、円はミッチェナーのアルゴリズム…

Go to give up

自分「GoのCygwinポーティング計画が面倒くさく」 相手「Cygwinステステ Cygwinポートなんて100害あって一利なし。」(中略)自分「うおー、cygwinにptraceがねぇ/(^o^)\」 相手「あ き ら め ろ」Windows APIでptraceシミュレーション等やり始めたら取り…

Go to Cygwin

ネイティブビルドは死んでも終わらなさそうだったので、仕方なく、Cygwinを狙ってみることに。 そのまま始めてみると、lib9のビルドからずっこける。こ、こいつめ…… とりあえず、lib9で問題となる点と修正は Linuxと同じくstat::st_genがないので、_p9dir.c…

Go to Plan9

最近話題になっているGo。チュートリアルを読んで使ってみたつもりになっていたけど、やはり実際に動くモノを見てみたい。インストールの項目を見てみると、どう見ても*NIXオンリーです、本当にありがとうございました。 しかしWindowsでも使ってみたいわけ…

gem版Ruby/SDLインストール

B-LOGは移動しました[www.kitcc.org]にて、SDLのRubyバインディングの存在を知った。SDLと言えばゲーム開発を想起させるが、RubyでSDLなゲーム……ってなかなか面白そうだ。 リンク先ではrubysdl-win32-binでインストールしているが、マシンのruby環境が独自ビ…

ruby 1.9.1-p243 @ Visual C++ 2008 -落とし穴 GL/LTCG Afterdeath

おそらく最初のX509_EXTENSIONSトラブルで、singleがあろうがなかろうがエラー落ちして、singleなんてなかったという間違いを犯していたと考えられる。そのトラブルを修正してもextconf.hは変わらないので、有りもしないsetメンバーを参照して死んでいたわけ…

ruby 1.9.1-p243 @ Visual C++ 2008 -落とし穴 GL/LTCG Reloaded

ruby 1.9.1-p243 @ Visual C++ 2008 -落とし穴 GL/LTCG Edition は本当に落とし穴で泣かされたが、そのままGL/LTCG無しで通すのも癪だし、再チャレンジ枠を設けることにした。 まず始めに、GL/LTCGなしで configure + nmake。msvcr90-ruby-191.libが出来た辺…

ruby 1.9.1-p243 @ Visual C++ 2008 -落とし穴 GL/LTCG Edition

何時までもp0を使うのも何だかやな感じなので、久方ぶりにrubyをビルドすることにした。 折角VC9を使うんだから、SSE2最適化や、リンク時のコード生成を付けても罰は当たらないだろうと、Makefile.subのOPTFLAGSに-GL -arch:SSE2、LDFLAGS、ARFLAGSに-LTCGの…

array_filterで配列要素のインデックスが歯抜けになる

php

急遽、rubyで言うArray#selectをphpで実現する必要が出てきた。 さらさらっと調べてみると、PHP Manualにarray_filterなる、そのものズバリな関数を見つけることが出来た。 しかし、サンプルを観てみると、どうも評価値に違和感が。 $array2 = array(6, 7, 8…

Raw InputのGetRawInputBufferの正しい(?)使い方

新しいスレッドを立てる 新しいスレッド上で不可視のウィンドウを作成する 作成したウィンドウを指定してRaw Inputデバイス登録 GetMessage/PeekMessageを「呼ばない」ポーリングループを回す GetRawInputBufferのpcbSizeが0以外を返すよ!やったね! スレッ…

DirectInput?これからはRaw Input+XInputの時代でしょう?

PCに何枚もキーボードを刺して操作できることを最近知った。それで別々のことが出来るかというと、それぞれのキーボードから入力してみると、まるで一枚のキーボードから入力したかのようになってしまう。キーボードの入力状態を操作する旧来のWindows APIは…