2008/05/01

はてな
日頃よりご愛好頂きありがとうございます。まぐれです。
おそらくまもなくランキングから消え去りますので、記念に...
feed-meter-297-20080501

2008/04/28

はてな
床屋。もし結果同じ髪型に仕上がる床屋が2軒あったとして、片方は5分で片方は40分で仕上がる店があったとしたら。私は迷わず40分掛かる床屋に行くだろう。

髪切り落とされる様をただ見る時間。髭をそるクリームを塗られ、髭を剃られるまでの「じらし」。これも床屋の魅力であると思う。
別にしっかり肩を「パンパン」叩いてくれとも思わない。しっかり叩いたら床屋で無くなる気がする。

もしかしたら、コンピュータ業界も同じなのかもしれない。
要件定義から、すぐさま答えの出る業界ならば面白くもなんともないかもしれない。
ああでもない。こうでもないと考えてこそ面白いのであって、仕様が、そして納期が決められているからこそ面白いのだ。別の担当者が作る部品の完成をドキドキしながら待つ時間。それも床屋と同じと考えれば気が楽になったりしないだろうか。しないか...
もしかしたら気の効きすぎた、仕事を100%こなすソフトウェアというのは、実は魅力的でないのかもしれない。

プログラミング言語を取ってみても、各言語毎にそれぞれライブラリがあり目的を達成させる為の近道になる物が沢山ある。
それも良い事だとは思うけれど、気の効いてない言語もまた楽しかったりするんだろうな。

でも、髭くらいはちゃんと剃れ。

2008/04/08

はてな
私は貧弱じゃないと信じてるんですけどね。
α置換 どう書く?org

標準入力から与えられたソースコードの変数名を置換するプログラムを作ってください。最近はリファクタリングツールなどの普及でこのような需要は少ないかと思われますが、viなど貧弱なエディタを使っているときに困るのが変数名の置換です。

http://ja.doukaku.org/171/
これ「貧弱な」は「エディタ」にかかる言葉なのか、「vi」にかかる言葉なのか気になる。
「それVim」タグ付けたり、「それエディタじゃなくてリファクタリングツールの仕事」とツッコミ入れるつもりもありませんし、意識無く書かれたのだと思いますが、他のエディタと並べたときに「viは少し劣ります」と見えるのは悲しいな。

言葉って難しいですね。一言付け加えるだけで意味合いが凄く変ってしまいます。
となりの家、今日焼肉よ
なんて褒め言葉も一言付け加えれば
となりの家、安月給なのに今日焼肉よ
なんて言葉になるのですから。

2008/03/31

はてな
今すぐこのページ
javascript:void(function(n){m=/profile_s\.gif$/;for(i=0;i<n.length;i++){if(m.test(n[i].src)){n[i].src='http://mattn.kaoriya.net/images/unk.gif'}}})(document.getElementsByTagName('img'))
するんだ!

2008/02/06

はてな
たぶんこんなんでいけるはず。
Control-C - ロックスターになりたい
あと日本語文字化けする。VBからSJISで送ってサーバでutf8で読んでるとかだろうか。
パッチ
diff -u winsource.orig/modUrlEncode.bas winsource/modUrlEncode.bas
--- winsource.orig/modUrlEncode.bas Tue Jan 08 02:14:04 2008
+++ winsource/modUrlEncode.bas  Wed Feb 06 18:12:35 2008
@@ -1,6 +1,57 @@
 Attribute VB_Name = "modUrlEncode"
 Option Explicit
 
+Private Declare Function WideCharToMultiByte Lib "kernel32" ( _
+    ByVal CodePage As Long, _
+    ByVal dwFlags As Long, _
+    ByVal lpWideCharStr As Long, _
+    ByVal cchWideChar As Long, _
+    ByRef lpMultiByteStr As Any, _
+    ByVal cchMultiByte As Long, _
+    ByVal lpDefaultChar As String, _
+    ByVal lpUsedDefaultChar As Long) As Long
+    
+Private Const CP_UTF8 = 65001
+
+Private Function EncodeUTF8(ByRef strUni As String) As Byte()
+    On Error GoTo ErrHandler
+
+    Dim lngUniLen As Long
+    Dim lngBufLen As Long
+    Dim lngRtn As Long
+    Dim bytOut() As Byte
+
+    lngUniLen = Len(strUni)
+    If lngUniLen = 0 Then
+        Exit Function
+    End If
+    lngBufLen = lngUniLen * 5
+    ReDim bytOut(lngBufLen - 1)
+    lngRtn = WideCharToMultiByte( _
+        CP_UTF8, _
+        0, _
+        StrPtr(strUni), _
+        lngUniLen, _
+        bytOut(0), _
+        lngBufLen, _
+        vbNullString, _
+        0)
+    If lngRtn Then
+        ReDim Preserve bytOut(lngRtn - 1)
+        EncodeUTF8 = bytOut
+    End If
+    
+    Exit Function
+ErrHandler:
+End Function
+
+Private Function SafeUBound(ByRef arr() As Byte) As Long
+    On Error Resume Next
+    Dim lngLen As Long
+    lngLen = UBound(arr) - LBound(arr) + 1
+    SafeUBound = lngLen
+End Function
+
 Public Function UrlEncode(ByRef strSource As String) As String
 
  Dim lngLength As Long                                          '???????(S-JIS ???)?????
@@ -11,10 +62,13 @@
  Dim lngReadCount As Long                                       'bytSource ??????????
  Dim lngWriteCount As Long                                      'strBuffer ??????????
  
-    lngLength = LenB(StrConv(strSource, vbFromUnicode))         'ANSI/S-JIS ???????????
-    If Not CBool(lngLength) Then Exit Function                  '0 ????????????
-    ReDim bytSource(lngLength - 1)                              'ANSI/S-JIS ???????????????
-    bytSource = StrConv(strSource, vbFromUnicode)               'ANSI/S-JIS ???? bytSource ???
+    'lngLength = LenB(StrConv(strSource, vbFromUnicode))         'ANSI/S-JIS ???????????
+    'If Not CBool(lngLength) Then Exit Function                  '0 ????????????
+    'ReDim bytSource(lngLength - 1)                              'ANSI/S-JIS ???????????????
+    'bytSource = StrConv(strSource, vbFromUnicode)               'ANSI/S-JIS ???? bytSource ???
+    bytSource = EncodeUTF8(strSource)
+    lngLength = SafeUBound(bytSource)
+    If Not CBool(lngLength) Then Exit Function
    
     strBuffer = String$(lngLength * 3, vbNullChar)              'URL ???????????????????
     strSingleHex = "%00"                                        '16 ?????????????????????

あ、Control-Cのアカウント持ってなかった

2008/01/24

はてな
突然ですが、サーバを解約しようと思います。
2006年の1月からですから、ほぼ2年ここで色んな事を書いた気がします。

最近は、はてなブックマークdel.icio.us等でもブックマークして下さる方も増え、このサイトを消してしまうのは惜しい気もしますが、また新たな場所で始めたいと思っています。

つきましては現在、移転先を探しています。
これまで、blosxomというblogツールと自己拡張でやってきましたが、次のサイトにそれほどこだわりはありません。
選択肢に、はてなダイアリーや、Voxも考えています。
もちろんCGIが動けば尚の事良いのですが...
ちなみ私、小遣い制度のためお金はありません。自鯖が持てる程の環境もありません。
これまで書いた資料性のある記事は、再度アップしたいとも思います。

皆さん、良い所知りませんか?

コメント、ブックマークコメントお待ちしております。

Posted at 10:59 in その他 | WriteBacks (3)
Tagged as: etc
Bookmarks: add to hatena add to hatena | add to delicious.com add to delicious.com | add to livedoor.clip add to livedoor.clip | add to buzzurl add to buzzurl | add to fc2bookmark add to fc2bookmark | add to Yahoo Bookmark add to Yahoo Bookmark | add to Pookmark add to Pookmark | add to NiftyClip add to NiftyClip | この記事へのリンク

2008/01/07

はてな
昨年お世話になった方々、ありがとうございました。
今年も例年通り、「自分は自分らしくありたい」と思います。

さて、正月はゆったり過ごしながら、はてなブックマークで「コード書きがコード書きに対して非難するコメントやブクマ」の一連を見てました。
一貫してテーマとなっているのがSTFUAWAC(shut the fuck up and write some code)という言葉。
この言葉に対して各人色々な捕らえ方はあるだろうが、私にとってこの単語から連想出来るのは
アレコレ言ってる暇あったらコード書こうよ
って雰囲気。自前のコードに文句付けられて、言い訳してる暇があるならコード書こうよ。ってレベル。
どっちかっていうと非難に使うものじゃなくて、叱咤激励かな。
会社で上司がダベってる社員の後ろに来て
ダベっとらんと、さっさと仕事しろよ苦笑
くらいの一言。もちろん前提で上下関係なんか無いんだけど。
もちろん私は数多くのほったらかしプロジェクトの持ち主でもあるので、「さっさと仕上げろや」という意味でSTFUAWACと言われるかもしれないけど...。もしSTFUAWACって言われたら、それは「使いたいのにマズいコードがあるから直してよ」って読み取れるんじゃないかな。

しかしながら私は生粋のPerlerじゃないし、時にはスーツ的な振る舞いもする立ち位置の仕事をしているので、geekと呼ばれる資格は無いのかもしれないけどやっぱり...
geekやIRCではDISるのは当然...
とかをあまり接頭語(片付ける言葉)にしたくないし、誰しもがそんな行為は建設的ではないと思っている事を信じたいものです。
特にコード添削という行為はどうしても水平より下な目線に見られがち。だから私は気を使っているつもりです。たとえIRCやgeekだから、ブログ上だから…だったとしても礼儀は忘れたくないものです。
そしてそんな考えがスーツ的と言われるならば私は「mattnはgeekでない」と言われても全くかまわないと思っています。

そういう意味でも今年も自分らしくありたいと思っています。

本年もよろしくお願い致します。
Posted at 13:10 in その他 | WriteBacks (0)
Tagged as: etc
Bookmarks: add to hatena add to hatena | add to delicious.com add to delicious.com | add to livedoor.clip add to livedoor.clip | add to buzzurl add to buzzurl | add to fc2bookmark add to fc2bookmark | add to Yahoo Bookmark add to Yahoo Bookmark | add to Pookmark add to Pookmark | add to NiftyClip add to NiftyClip | この記事へのリンク

新規投稿