プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 このページをアンテナに追加 RSSフィード

 iTunes Music Store(Japan) なかのひと あわせて読みたいブログパーツ
|

0001 | 00 |
2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2008 | 01 | 02 | 03 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 |
2010 | 03 | 04 | 06 | 07 | 09 | 10 | 11 |
2011 | 01 | 02 | 10 |
2012 | 04 |
2013 | 01 | 05 | 06 | 07 | 08 | 10 |
2014 | 02 | 03 | 05 | 09 |
2015 | 04 |
2016 | 09 | 11 | 12 |
はてな一覧
アンテナに追加
私のアンテナ
私のダイアリー
私のアーカイブ
私のアイデア
私のブックマーク
私のグループ
私のキーワード
ニュース系、今まで続いているシリーズモノの読み物
dKingyo Utility Toolkit Projectのリリース情報
やっぱり暗号化は大人の味(笑)
プログラムのパッキング方法を調べよ
ココが厳しいよMinGW
ライブラリアン通信
ゲームプログラミングどうしよう
CRCについて
ビット演算練習
d金魚の今更Ajax
Windows Tips
VC6 Tips
Win32 WTL Tips
Ruby for C++ User
Ruby Tips
今日のRubyで嵌った事
正規表現PIECE
書きかけ
続く・・・

私のダイアリーの人気記事
新しくブックマークされた記事


あまり、役に立たなそうな個人的に調べた情報や妄想に耽った事、今 勉強している事ヒソヒソと公開していたりします。 | 登録してくれている方々 | d金魚にメール | 当サイトは640x480の画面解像度に対応しています。
日記へのリンク、アンリンクはフリーですが、selfタグのついている部分のコンテンツの引用はご遠慮願います。ご協力よろしくお願いします。


 

2010-06-01 先月のまとめ

[][][]行番号は紙媒体で無い限り無意味だ。 行番号は紙媒体で無い限り無意味だ。 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 行番号は紙媒体で無い限り無意味だ。 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

私はソースコードの左側に付加される行番号は邪魔だと思うときがある。その理由は行番号も含めてソースコードコピーしてしまうことがあり、コピー・アンド・ペースト邪魔だからである。よって<table><tr><td>行番号</td><td>ソースコード</td>... とすべきだ。

2010-03-28 C言語でdequeを実装する為のメモ

[][][]C言語でdequeを実装する為のメモ C言語でdequeを実装する為のメモ - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク C言語でdequeを実装する為のメモ - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

 昔、dkutil_cというライブラリdouble ended queue(STLのdeque)を実装するのをあきらめた事がある。理由は以下の通りだ。

以下C++風の擬似コード

class deque{
 list<vector> mList; もしくは map<vector> mMap;
};

なので、やはりC言語でこんなせせこましいコードを書くのは良くないと思っていたのだ。今、改めて考えても言語でdequeを実装するならば双方向リスト構造で十分だ。


 逆説的な解決策としては、双方向リスト構造につかうリストの要素ひとつひとつを多数プールしておいて、使用するときになったらプールから確保していく事だ。これにより毎回、リストに挿入するときのメモリ確保のオーバーヘッド回避できる。

以下C++風の擬似コード

class list{

list_elem *mChunk;
unsigned int mCounter;
 void alloc_listelem(){
  mChunk = new list_elem[256];
 mCounter = 0;
 }
 void push_back(){
  p = mChunk[mCounter++];
  //つなぎかえごにょごにょ

};
//削除処理やプール管理は各自考えてね。

2010-03-22 無線LANのパスワードを真性乱数で生成するソフト

ScreenShot

[][]無線LANのパスワードを真性乱数で生成するソフト 無線LANのパスワードを真性乱数で生成するソフト - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 無線LANのパスワードを真性乱数で生成するソフト - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo / 人口を増やす / 就職口を増やす | PLANEX 無線 | NEC 無線 | BUFFALO 無線 | 無線LAN | IODATA 無線

 コンソールで無線LANのパスワードを生成するソフトを作りましたが使いにくいとの事なのでGUIにしました。

 WTLの使い方を忘れていたので苦労しましたが簡単に使用できると思います。セキュリティの専門家ではないので断言できませんが、擬似乱数ではなく真性乱数なのでとりあえず適当なパスワードをつけるよりは安心です。

ダウンロード:http://www.dkut.flnet.org/DKUT/WLAN_Password20100322.zip

f:id:studiokingyo:20100322155400p:image

機能

  • WPA、WPA2、WEPのパスワードを生成
  • 16進数 , 文字列に両対応
  • コピーボタン一発でクリップボードへコピー
  • 全自動パスワード更新機能付き

無線LANに関する四方山話

真性乱数四方山話

2009-02-17 「何かを作りたい」がない

[][][][][]「何かを作りたい」が無い 「何かを作りたい」が無い - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 「何かを作りたい」が無い - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo / 人口を増やす / 就職口を増やす | gigabeat | iPod | MP3 | Wizpy | ZenStone


 プログラミングは覚えてしまったら先が無い。どうやれば実現できるかという事を志向してきたのが、既に実現されてしまっている事が多すぎて自らの行動に価値を付加できない事に思い悩む。すなわち、それは時間の無駄だと思っているのだ。

 かといって、終わりの無い事もこれはこれでつらい。追求し続ける事、探求し続ける事、維持し続ける事、これが息苦しく感じる事もある。

 つまらない行動をするか、息苦しい行動をするか、二者択一の世界にいると感じてしまうのが気が重くなる。逃げ道は無いのだ。

 

 プログラムを書いて自分の思い通り動く事がとても空しいのだ。思い通りに動くまで調べる事、コーディングする事、デバックする事、これらがすべて終了した後に思い通りに動く事になるのだが、それがとても空しいのだ。既に実現されてしまっている事だと感じているからだ。世界のどこかで既に誰かが考えてより良いポリシーを元に組まれたコードが存在する事が本当に多い。自分自身でプログラムを書く意義も価値も失せていく。


 実装がエレガントなのは良い事だ。しかし、それ以上にエレガントな実装が頭の中に存在する。たまたまプログラム言語の制約上、仕方なく、そのプログラム言語に書き下しているに過ぎないのだ。これが空しい。利用規約やライセンス、言語的制約に縛られるプログラムコード。それより上位のすべての問題が解決するプログラムを書き下せる何かが必要なのだ。

考えられうる全ての問題とは

  • 再利用性(何ビットの変数だろう、指定すれば動く AVL木のキーの部分の変数は何ビットでも可能、AVL木の比較関数は入れ替え可能など)
  • バグを入れられない構造(コーディングのケアレスミスで極力バグが入らないようにコーディングできるような。Haskellのような)
  • 状態遷移を視覚化しデバック中にわかりやすくできるような

頭の中でまとまらないので一時保留(という事を幾度と無く行ってきたが今回もそうである。)


 ライブラリ製作は憂鬱だ。より良いポリシーを持ったプログラムが世界のどこかに存在するはずなのに自身のPCでそれを実現させるためにまた世界のどこかに存在しているものを結果的にコピーしている事になる。

ライブラリ製作は世界の有能なコンピューター科学者の成果と自身のPC上で実現したい事を繋ぐアダプターを製作する事だ。

このアダプター製作を止めさせられる事ができるようにする事が今後の研究課題といったところである。

2009-01-25 インターフェースデザインメモ

[][]最近のTODO 最近のTODO - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 最近のTODO - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

  • 各種mallocを見学してmallocのジェネリックな実装を行うこと、VC6でもコンパイルできるに移植する事。
  • dxexの為の簡易3Dエンジン実装
  • スペースソルジャー2を作る
  • FBXファイルを調べる
  • 今までダウンロードして見ていなかったソース郡を眺めてニヤニヤする

近況:

mallocや3Dエンジンのソースを見ると眠くなるようになった。かなりのブランクのせいでプログラミング感覚が非常に鈍っている。まずい。

アルゴリズム論―理論と実際を読むのが生活の楽しみ。計算量の項は詳しく分からなかった事なので知る喜びが多い。この本は数学的な式による説明と抽象論が多いが一つ一つのアルゴリズムや問題に関する説明が非常に詳しいので苦しい毎日の生活に読破する楽しみを与えてくれる貴重な資源だ。

2008-09-29 DKUTが入っていたHDDが壊れた

[][][]今までDKUT Projectを支えてくれていたHDDが今お亡くなりになりました。 今までDKUT Projectを支えてくれていたHDDが今お亡くなりになりました。 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 今までDKUT Projectを支えてくれていたHDDが今お亡くなりになりました。 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo BUFFALO | バックアップ | HDD | IO-DATA | ハードディスク


 ついにHDDが壊れました。私はHDDが壊れる事態に陥った事が無かったのでショックです。

 今までDKUT Projectを支えてくれた尊いHDDです。過度な再コンパイルにもよく耐えたと思います。常時50℃以上の温度によく耐えたと思います。頑張ってくれました。本当に感謝しています。

 バックアップを取っていたので大事には至りませんでした。しっかりバックアップ取れていたのも何かの縁でしょう。本当にありがとう。HDD。


追伸:最近、HDD内に入っている音楽がエラーで読み出せなかったのでバックアップとった後、HDDTuneでエラーをスキャンして、そのスキャンのスクリーンショットをネタにこの日記に投稿しようとした矢先でした。今では立ち上げるとガリガリガリという異音を発して「もう限界です」宣言をしています。

2008-07-16 MD5 Optimized in ... part7

[][][][]MD5 Optimized in MMX part10 / Test on Dual-Core MD5 Optimized in MMX part10 / Test on Dual-Core - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク MD5 Optimized in MMX part10 / Test on Dual-Core - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo / 人口を増やす / 就職口を増やす | アセンブラ | ゲームプログラミング | Mandriva | PHP | C++


 昔々、あるところにMD5を最適化して処理速度を速くしようとした生徒がおりました。

 その生徒はMD5アルゴリズムをMMXを使って32bitの計算部分を並列化すれば処理速度が速くなると予想し慣れないアセンブリ言語で怠惰なプログラミングをしていたのですが、苦労し努力したにもかかわらず、逆に処理速度が遅くなってしまう憂き目にあいました。その生徒は貴重な時間を無駄にしてしまったのです。

 その生徒が学生になった頃、Dual-CoreというCPU1つの上にCPUを2つ乗せる最新テクノロジーの恩恵をこうむる事が出来るようになりました。しかし、学生と言う立場からしばらく手が出せなく歯がゆい思いをしている頃、Quad-CoreというCPU1つの上にCPUを4つ乗せる最新テクノロジーが主流となり、Dual-CoreのCPUが乗っているパソコンが投売りされるようになりました。

 そのパソコンを手に入れた学生は昔に失敗したプログラムを何気なく走らせたところ、驚きの結果が出たのでした。 再テスト中 結果:やっぱり勘違いでした。おrz

2008-01-20 久々にDKUTに触ってみる

[][]3年ぶり?にDKUTに触ってみる 3年ぶり?にDKUTに触ってみる - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 3年ぶり?にDKUTに触ってみる - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo IT-Text | アセンブラ | 図解 辞典 | Visual Basic | ツクール


 本当に久しぶりにDKUTに触ってみた。

目立った更新をした履歴を見ると3年前2005年12月・・・何年触っていなかったんだ!!?


 早速ビルドしてみたらunit_testの部分でexpatが無いと怒られた。入っていたはずなのだが・・・*1


 2006年10月30日に制作し始めたdkcStaticPool2 というモジュールがunit_testを通らない・・・はてはて困った。今そのソースコードを見てもいったいどういったコンセプトで作ったのかがおぼろげにしか分からない。久々にプログラムを見るとこういう事は厄介だ。こういう時なって更新履歴の重要さが身に染みる。


 最後に重要な事。絶対にdkutilの完成版はリリースはします。

*1:外部ライブラリはまとめて別にインクルードする必要があるようにしてたのが原因だった。

2007-11-06 Visual Studio 2008が

[][]VS2008爆誕! VS2008爆誕! - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク VS2008爆誕! - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

http://japan.cnet.com/news/ent/story/0,2000056022,20360370,00.htm

via http://masafumi.cocolog-nifty.com/masafumis_diary/2007/11/2008.html

http://itpro.nikkeibp.co.jp/article/NEWS/20070606/273787/


な、なんだってーーー!!!VS2003やVS2005すらまともに使った事無いって言うのに!

まだまだ現役のVC6ですよ!

 もう、Windows95や98のことを考えていたらまともにプログラミングできない時代になってきましたね・・・。

yaneSDK3rdの設計思想、好きだったのにな・・・。いままで、何故、Windows95やVC6でも動くようなコードを書いてきたのだろうと後悔の念が・・・鬱々とします。おrz


 だからこそ、このようなことを解決するためのDKFSMなる計画を着々と練っているわけですが・・・

2007-05-31 最近のプログラミング的活動 2007年5月

[][]XSLT,SQLやRuby on Rails等 XSLT,SQLやRuby on Rails等 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク XSLT,SQLやRuby on Rails等 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo Rails | C++ | プログラミング言語 | アセンブラ | Python

Ruby on Rails

SQL

XSLT

などを中心に学習しています。

少し経ったら面白いものが完成しそうです。

2007-05-05 子供の日には二分木を対戦させるならわしがあります

[][]Red Black Tree 対決 Red Black Tree 対決 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク Red Black Tree 対決 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

Powered by dKingyo Rails | ソフトウェア開発技術者 | GPU Gems | 画像処理 | C言語

某氏が公開していたRed Black Treeの実装と既存のRed Black Treeの実装を対戦させてみた。

インクリメントキー

1	/ Challenger red black tree delete	/ 2035
2	/ red black tree insert	/ 54441
3	/ STLport red black tree delete	/ 78082
4	/ Challenger red black tree insert	/ 101272
5	/ STLport red black tree insert	/ 140324
6	/ red black tree delete	/ 181662

ランダムキー

1	/ Challenger red black tree delete	/ 5127
2	/ red black tree delete	/ 18825
3	/ red black tree insert	/ 96301
4	/ Challenger red black tree insert	/ 108134
5	/ STLport red black tree insert	/ 118734
6	/ STLport red black tree delete	/ 188965

deleteが異様に早い。

某氏のソースコードを見てみたが、理解するには1日つぶしそうだ・・・。



さて、このテストをやっていて気付いた。

dkutil_cのred black treeがランダムな要素をキーとしdeleteする時に内部に格納していたデータが入れたデータと違っているという現象が発生したのだ。これは忌々しき事態だ。

dkutil_cはかなりバグチェックは行っているはずなのだが・・・

要素を二重削除していたのでバグっていました。dkutil_cのミスではなく完全にプログラミングしている私のミスでした。

2007-04-20 自分で言うのもなんだけど・・・

[][]dkutilって使いやすい・・・ dkutilって使いやすい・・・ - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク dkutilって使いやすい・・・ - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

C++用ライブラリとしてdkutilを作っていますが*1、RubyにかぶれてきてC++を使う際、いろいろ面倒だと思うのです。

ですが、C++でdkutilを使うと「ちょっとしたUtilityとしてはかなり便利だな」と思ったのです。

自分で言うのもなんなんですけど・・・そう実感してしまったのだからしようがない。

*1:すでに数年放置・・・内部実装、およびインターフェースは原型をとどめないくらいに変わってきている

2007-04-14 DKFSMでやりたい事

[][][]DKFSMでするべき事 DKFSMでするべき事 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク DKFSMでするべき事 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

.NET Framework等の共通言語基盤によってプログラム言語から生成される実行コードの差異は事実上なくなった。

これによりプログラム言語はただの状態遷移の表現でしかない。

よってプログラム言語にこだわる事はただの嗜好となる。


私はこの嗜好が許せないのである。

すべての環境で.NET Frameworkが使えるわけではないのである。

よって非対応の環境に対してその状態遷移の表現を別の言語で書き下したりする事自体が許せないのである。

CLIはVirtual Machine上でプログラムが動くようにしてプログラムの移植に関する解決を図ったのだろうが、

それはこの恩恵を受けるためには暗黙的にCLIに従えと言う事なのだ。


これが嫌なのである。

さらには未だにテキストエディタでプログラム言語によってプログラムを書くという軛から解放されていないではないか。

この軛が職人的でありプログラマーの誇りであるとも感じるが、これが一種のプログラムを組む際の支障になっているのではないかと感じているのだ。


私は嗜好に甘んじない。状態遷移の本質は常に一つなのだから。

この本質を表現するテキストのみに依存しない表現が必要なのだ。

この表現とプログラム言語を双方向に変換できるようにする事がDKFSM Projectの意義である。

2007-04-10 最近のプログラミング的活動 2007年4月

[][]XMLとRubyを中心に・・・ XMLとRubyを中心に・・・ - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク XMLとRubyを中心に・・・ - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

XMLとRubyを中心に活動でしている。

Rubyはgoogle:Rubyと検索すれば山ほど資料が出てくる。

XMLは

http://www.wisdomsoft.jp/

http://www.wisdomsoft.jp/dev/data/xml

を参考にしている。


前に

http://d.hatena.ne.jp/studiokingyo/20070324

のような話題が合ったので実際にXMLに触れてみるとかなり便利だ。

これからも詳細を学習していく予定だ。

2007-04-03 状態遷移表でコード片を管理する

[][][][]状態遷移は表のディレクトリ構造である。 状態遷移は表のディレクトリ構造である。 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 を含むブックマーク 状態遷移は表のディレクトリ構造である。 - プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 のブックマークコメント

ゲームプログラミングを始めて、ステップ処理に嫌気がさした頃、どうにかしてコーディング量を抑え、バグの特定やキャラクターの動作の状態遷移のトレースがしやすいかと言う事を自問自答していたときに見つけたのがタスク処理だった。

しかし、このタスク処理・・・、実際に書いてみるとステップ処理を関数毎に分けただけで状況によってはステップ処理の記述の仕方の方がコード片が散乱しなくて分かりやすいというジレンマを生んでいた。

また、タスク処理を行うに当って1タスクの中にステップ処理を記述するとまたステップ処理部分をタスク化する必要が出てくるくらいのコード量になってしまい堂堂巡りになってしまう事が少なからずあった。*1

よってタスクの中に新たなタスクマネージャーを置き、云々かんぬん・・・というコードを書くことになるのだが

この力技・・・。まったくスマートではないのだ。面倒なのだ。ソフトウェアを作るに当ってこれだけの状態遷移が必要であったとしてもコード上では一切管理はしたくないのだ。

FSMC言語などの手続き型言語ソースコードに置き換えると特に見難い。参照しにくい。編集しにくい!!!

よって、FSMコードジェネレーターやDKFSM構想(妄想)をして頭の中でこねくり回していた。


今更ながら、よくよく考えてみると状態遷移に関しては状態遷移表として伝統的な図示の方法があるのだから、この事例の現象と照らし合わせてみると状態遷移表はディレクトリ構造ではないか?という事に気付いた。

状態遷移の中に新たな状態遷移が現れた時は状態遷移表の一つのセルの中に次の状態遷移表へのリンクが出来てその中の状態遷移表に従うといった形では・・・と考えた。

おそらく、既にそのような形でプログラミングしている方々はいると思う。もしくはそのような形にせざるおえないような気もしなくも無い。

図示にいたってはどうすればよいのか・・・と悶々としていた中、ちょっと希望が見えてきた。


追記:そういえばKlick&Playも状態遷移表のようなイベントエディタが付属していた。そのセルをクリックするとダイアログが現れてイベントを設定できるといった形。既に理想は実現されているものですね。

*1:ステップ処理やタスク処理に関する事の詳細は後日この日記に書く予定です。

 
Program | Debug | dKingyo Utility Toolkit | library | D言語 | 御本とか | 備忘録 | テクニック | WayBack | 格言 | 英語 | 他力本願 | news | software |

デースケドガー