開発

環境変数設定

Process.GetCurrentProcess().StartInfo.EnvironmentVariablesをいじるとカレントプロセスの環境変数を変えられるのかな?と思ってやってみたらダメで、下のページにあるようにWin32 APIを叩いたらいけました。 [Uchukamen C# Programming]MSさん、下でSetEn…

Visual Studio .NET 2003のバグ?

using System; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Class1 { [STAThread] static void Main(string[] args) { MessageBox(IntPtr.Zero, "おはよう", "CAPTION", 0); } [DllImport("user32", EntryPoint="MessageB…

C#

仕事でC#に触れることが多くなったので、きちんと勉強してみっかとC#2.0対応の"プログラミングC#"を買ってみた。会社で買ってもらってもよかったのだけれども、すぐに読んでみたかったのだ。ただ、使っているのはVisual Studio .NET 2003なので、C#2.0の新機…

メモ - MSの各種デザインツール

[Microsoft Expression - Home] Microsoft Expression Graphic Designer、Microsoft Expression Interactive Designer、Microsoft Expression Web Designer。[Windows/Expression - SyncHack] [MicrosoftのWinFX用UI作成ツールを試す:ITpro] [窓の杜 - 【NE…

"MDM.exe"

タスクマネージャーを見ていると、"MDM.exe"という見慣れないプロセスが。 [恐ろしきMDM.EXE] Office2000からあるもの……なのか。Officeを本格的に使い始めたのは2000の頃……、つまり俺は今まで"MDM.exe"ってプロセスにこれっぽっちも気づいてなかったというこ…

GPL3

メモ。 第1次草案。[japan.linux.com | Debian Project、GPL3を詳細検査] [OpenSolarisにGPL 3の適用を検討 - 米SunのSchwartz氏、ブログで語る (MYCOM PC WEB)] [Rauru Blog ≫ Blog Archive ≫ GPL3 draft]

浅いコピー("shallow copy")と深いコピー("deepo copy")

Rubyのdupやcloneメソッドは浅いコピーです。深いコピーが必要になったときに、どうすれば簡単に実装できるか。 「katsuwo's Diary - かつを日記」より。 Marshal.load(Marshal.dump(obj)) ……自分では考えつきませんでした。だめだめです。 上のコードを見た…

F#

すぐに手を出すことは無いと思いますが、面白そうな言語なのでメモ書きをば。 F# OCamlなどと同じくMLの一種。MS謹製。.NETの中間コード(MSIL)を吐く。 MSの研究所で作られており、まだ、一般向けじゃないためか、少しだけインストールには注意が必要です…

メモ - LOCK prefix

IA-32のLOCKは、後に続く命令がatomicな動作をするようにLOCK# signalをアサートする。だから、LOCK prefixなわけか。そして、LOCKに続く命令は決まっていて、違う命令がLOCKに続いた場合、invalid-opcode exceptionが投げられると。 DWORD x = 4; _asm { pu…

Ruby, Win32, GetFileAttributesEx()

RubyでWin32 APIを叩いて、File.sizeできちんと取得できない*1、でかいファイルのサイズを得る。 require 'Win32API' getFileAttributesEx = Win32API.new('kernel32.dll', 'GetFileAttributesEx', %(p n p), 'i') filePath = 'big_file.bin' #APIがデータを…

Smalltalk

デザインパターンを調べているうちにSmalltalkを触ってみたくなって、Squeakってのをちこちこ弄ってるんですが、なんかわけわかんないけれども、わかんないなりに楽しいです。

メモ:Avalon、Indigo

AvalonとIndigo。次期Windowsのコンポーネント。 めちゃめちゃおおざっぱに書くと、Avalonはグラフィック周り、Indigoはネットワークがらみ。 ちと古い記事。 次期Windowsの詳細、さらに明らかに-10月のMS開発者会議で - CNET Japan(2003/09/30) マイクロ…

UNICODE_FSS

http://d.hatena.ne.jp/hoshimin/20040625 に追記。

Ruby - win32ole 0.6.4

Ruby CVS Repositoryをのぞいて、1_8_3_preview1のwin32ole 0.6.4(1_8_2のwin32oleは0.5.9)に、コードページ設定がついていた。 WIN32OLE.codepage = cp で設定し、cpに指定できるのは、 WIN32OLE::CP_ACP WIN32OLE::CP_OEMCP WIN32OLE::CP_MACCP WIN32OLE…

Visual Studio 2005とインラインアセンブラ

ITmedia エンタープライズ:64ビットWindows環境の開発で注意したいポイント (3/3) ちなみに、現在のところVisual Studio 2005にインラインアセンブリ機能をつける予定はないそうなので、その点からもC/C++コードなどへの移植による対応が必要です。 本気? …

Ruby活用事例集

日本Rubyの会 公式Wiki - Ruby活用事例集 こりゃええ。

Win32 API - 同期用マクロ

Synchronization Macros を見ると、MemoryBarrier()という関数(マクロ)があります。必要な環境としては、"Requires Windows Server 2003"なんて書かれています。また、"WinNT.h"で定義されているとありますが、Visual Studio 6 SP6(以下VS6)やVisual Studi…

数式処理ソフトウェア

//www.math.kobe-u.ac.jp/OpenXM/" target="_blank">OpenXM (Open message eXchange for Mathematics): //risa.cs.ehime-u.ac.jp/" target="_blank">Risa/Asir Computer Algebra System Information (frame,Japanese):「日本で生まれた数式処理ソフト、リサ…

メモリバリアー

マルチスレッドがらみでメモリバリアーを調べていて、_ReadWriteBarrier()なんてものを知ったのですが、Visual C++ .NET 2003からの機能でした。Visual C++ .NET 2003 の新機能 ↓ C++ コンパイラ、C++ 言語、およびリンカ _ReadWriteBarrier の組み込みが追…

Amrita2 1.9.4

Amrita2 Hikiで使われているライブラリィですね(Hikiで使われているAmritaは古いやつで、Amrita2じゃありませんけれども)。 このライブラリィを単体できちんと使っていないんですが、Amrita 1.0.2のソースコードを読んでstrscanの使い方を真似させてもらっ…

VBA, VBScript の文字列の文字コード

文字列はUnicodeで扱われている。半角仮名4字の文字列のバイト長をLenBで取得すると8が返ってきたし、次のようなスクリプトを実行してみたところ、Unicode特有の文字をファイルに出力することができた*1。 Set fso = CreateObject("Scripting.FileSystemObje…

VBA, VBScript

よく使うオブジェクトの覚え書き。VBScriptの場合は、Dim〜は要らない。■Windows Script Host Object Model >ファイル操作。 Dim fso As FileSystemObject Set fso = Create("Scripting.FileSystemObject") ■Microsoft Scripting Runtime >連想配列。 Dim …

OLE/COM Object Viewer

Oleview.exe: OLE/COM Object Viewer Visaul Studioに付いていますから、Visaul Studioを持っている人は要らないと思います。 VBScriptなどでスクリプトを作成する場合、様々なOLE/COMライブラリーを使うわけですが、そういったライブラリー中の定数の値なん…

Access2003、Access VBAでのテーブル作成

サンプルコードのメモ。 Sub MakeTable_Test() On Error GoTo Err_MakeTable_Test Dim db As Database Dim tbl As TableDef Dim fld As Field Dim idx As Index Set db = OpenDatabase(CurrentDb().Name) Set tbl = db.CreateTableDef("WORDS") ''''''''''''…

それバカソートです

Office TANAKA - Excel VBA(配列をソートする) クイックソートじゃなくてバカソート*1です……、それ。 アルゴリズムの本はかなりの数が出版されているのですから少しは調べて書いて欲しいと思います。難しいアルゴリズムで間違うならまだしも、バカソートとク…

Oniguruma

Oniguruma. 正規表現ライブラリ. Rubyで使われているのはどこかでちらっと見ていたのですが,Jedit X*1やらPHP5.0の多バイト文字列用正規表現照合やらでも使われているようです. UTF-16にも対応しているようです*2. ライセンスは,Rubyとともに配布され…

正規表現の由来

正規表現の由来. (id:finalvent:20050131#1107146529 より) 非常に便利だけれど,実装したくない照合アルゴリズムの1つである正規表現.自分で作ったとしたら,どれだけの工数が発生するのか,使い物になるものがつくれるのか,あまり考えたくありません…

Microsoft Jet 4.0 データベース エンジン

メモ. Microsoft Jet 4.0 データベース エンジン用の最新の Service Pack の入手方法 Msjet40.dllのヴァージョンの確認方法なども. Microsoft Jet データベース エンジンの脆弱性によりコードが実行される (837001) (MS04-014)

"MLang.dll"

"MLang.dll" Internet Explorer 4以降に付属するDLL.文字コード変換などの機能を持っている. 次のページは,MSDN OnlineのMLangに関する文書である. Web Development 自分はCOM云々がよくわかっていないので,DLLをLoadLibrary()でロードして,文字列変換…

libiconvビルドメモに追加

id:hoshimin:20041205#1102232567 にちょっと書き足し.