Hatena::ブログ(Diary)

wordiの日記 このページをアンテナに追加 RSSフィード

2005 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2006 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2007 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2009 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2010 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2011 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2012 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11| 12|
2013 | 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11|
iPhone プログラミング D言語 日記 ゲーム 仕事 出来事 ねた ソフトウェア 囲碁
 | 

2010-09-20

[] 世間じゃBluetoothやら無線LANやら賑わってるけどさ  世間じゃBluetoothやら無線LANやら賑わってるけどさを含むブックマーク  世間じゃBluetoothやら無線LANやら賑わってるけどさのブックマークコメント

PCから伸びてるiPhone4同期用USBやらKindle 3接続用USBやら、

外付けHDD用のeSATAとその電源用USBやら冷却用USBFANのUSBやら、

自炊スキャナDR-150の接続用USBと電源用USBやら、

任天堂DSの充電用USBやらPSP充電用USBがワイヤレスになる日は何時になるんだろうか。


整理しろですかそうですか。

2010-09-19

[] Kindle 3届いた  Kindle 3届いたを含むブックマーク  Kindle 3届いたのブックマークコメント

f:id:wordi:20100919173433j:image

実際に届いたのは18日、注文から13日で到着。

第一印象は画面が小さいという事、本格的に読むなら

Kindle DXかiPadが欲しいかも知れない。


とりあえず1週間くらい使ってからレビューをする予定。

[] なんですと!  なんですと!を含むブックマーク  なんですと!のブックマークコメント

Kindle 3のマインスイーパーにて

f:id:wordi:20100919182755j:image

初手爆弾!、驚き!、どうやらWindows版とは仕様が違うようだ。

2010-09-16

[] iTunesが管理しているiPhoneの認証ファイル保存先  iTunesが管理しているiPhoneの認証ファイル保存先を含むブックマーク  iTunesが管理しているiPhoneの認証ファイル保存先のブックマークコメント

C:\Documents and Settings\All Users\Application Data\Apple Computer\iTunes

C:の整理してたら偶然知った、これでこのフォルダをバックアップしとけば、再インストールの時に認証解除する作業から解放される。


ちなみにWindows XPの話

2010-09-14

[] 以外と早い  以外と早いを含むブックマーク  以外と早いのブックマークコメント

Hello from Amazon.com.

We now have delivery date(s) for the order you placed on September 05 2010 (Order# xxx-xxxxxxx-xxxxxxx):

"Kindle Wireless Reading Device, Wi-Fi, 6" Display, Graphite - Latest Generation"
Estimated arrival date: September 23 2010

注文から到着まで2〜3週間、品切れを考えると結構早い?

2010-09-12

[] ハイヒールで競争 男性が優勝  ハイヒールで競争 男性が優勝を含むブックマーク  ハイヒールで競争 男性が優勝のブックマークコメント

エラー|NHK NEWS WEB

面白い大会もあるもんだ

[] Kindle 3が来ない  Kindle 3が来ないを含むブックマーク  Kindle 3が来ないのブックマークコメント

1週間経ってもまだ連絡が来ない、

もしや発注失敗か?、っと思ってAmazon US覗いたら「船積みもまだだよ、時期が来たらメールするからそれまで待ちやがれこの野郎」との事、注文は出来てるようだ、品切れが続いてるのが響いてるのか。

まだ来ないまだ来ない、とメールを確認する、まるで猿蟹合戦の蟹になったみたいなメイちゃんな私。

2010-09-08

[][] 一人Haskell勉強会 0  一人Haskell勉強会 0を含むブックマーク  一人Haskell勉強会 0のブックマークコメント

え?、それって普通の勉ky(ウワナニヲスルヤメロ

  • 内容
    • 書きとめたい事をつらつらと
    • 思った事

それでは行ってみよー

[][] 一人Haskell勉強会 1  一人Haskell勉強会 1を含むブックマーク  一人Haskell勉強会 1のブックマークコメント

  • 進捗

・String == [Char]

concat関数にて文字列連結を試したけど

-- concat :: [[a]] -> [a]
main = putStr $ concat ["Hello", " ", "World"]

の出力結果が

Hello World

になったので、この場合だと

concat ["Hello", " ", "World"]
→ concat [['H', 'e', 'l', 'l', 'o'], [' '], ['W', 'o', 'r', 'l', 'd']]
→ ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
→ "Hello World"

・concatMap

-- map :: (a -> b) -> [a] -> [b]
-- concatMap :: (a -> [b]) -> [a] -> [b]
-- hoge :: Char -> String
concat $ map hoge "Hello"
concatMap hoge "Hello"

はどっちも同じ。

concatMapを作った理由はなんだ?

*1:途中からブログに書こうかなって思い立ったのでいきなりこんなページ

2010-09-05

[] Kindle 3注文  Kindle 3注文を含むブックマーク  Kindle 3注文のブックマークコメント

f:id:wordi:20100906014227p:image

安い、良い時代になったもんだ

2010-09-04

[] ハノイの塔(非再帰Ver)  ハノイの塔(非再帰Ver)を含むブックマーク  ハノイの塔(非再帰Ver)のブックマークコメント

元ネタは以下二つ


上リンクの仮想スタックを使った末尾再帰と非末尾再帰について

末尾再帰

void f(){
    if (e) return ;
    g();
    f();
}
↓
void f(){
    push();
    while(pop()){
        if (e) continue;
        g();
        push();
    }
}

非末尾再帰(分かりやすくするためにコードを修正)

void f(){
    if (e) return ;
    f();
    g();
}
↓
void f(){
    push();
    while(true){
        if (e) { pop(); break; }
        push();
    }
    while(pop()){
        g();
    }
}

この二つを併せて

void f(){
    if (e) return ;
    f();
    g();
    f();
}
↓
void f(){
    push();
    while(pop()){
        push();
        while(true){
            if (e) { pop(); break; }
            push();
        }
        if(pop()){
            if(e) continue;
            g();
            push();
        }
    }
}



下リンクのハノイの塔(再帰Ver)について

void Hanoi(int n,char *from,char *work,char *dest)
{
    if(n>=1){
        Hanoi(n-1,from,dest,work);

        printf("%d%s から %s\n",n,from,dest);

        Hanoi(n-1,work,from,dest);
    }
}

を少し修正し

void hanoi(int n, char from, char work, char dest)
{
    if (n == 0) return;
    hanoi(n - 1, from, dest, work);

    printf("%d%c から %c\n", n, from, dest);

    hanoi(n - 1, work, from, dest);
}



後はそれぞれの処理を機械的に置き換えてやれば完成


※(e) → (n == 0)、f() → push()、g() → printf()

Cの場合 gcc (GCC) 3.4.2 (mingw-special)

/*
  ハノイの塔(仮想スタックによる非再帰処理Ver)
*/
#include <stdio.h>
#include <assert.h>

void hanoi(int n_, char from_, char work_, char dest_);

/* スタック用--------------------------------- */
int n;
char from;
char work;
char dest;
int stack[65 * 4]; /* 世界滅亡枚数まで溜めちゃるけんね */
int stack_index = 0;
void push(int n_, int from_, int work_, int dest_);
int pop(void);
/* ------------------------------------------- */

int main(void)
{
    int n;

    printf("円盤の枚数: ");
    scanf("%d", &n);

    hanoi(n, 'A', 'B', 'C');

    return 0;
}

void hanoi(int n_, char from_, char work_, char dest_)
{
    push(n_, from_, work_, dest_);
    
    while (pop())
    {
        push(n, from, work, dest);
        while (1)
        {
            if (n == 0) { pop(); break; }
            push(n - 1, from, dest, work);
        }

        if (pop())
        {
            if (n == 0) continue;
            printf("%d%c から %c\n", n, from, dest);
            push(n - 1, work, from, dest);
        }
    }
}

/* スタック用--------------------------------- */
void push(int n_, int from_, int work_, int dest_)
{
    assert(stack_index <= (65 - 1) * 4);

    n = stack[stack_index++] = n_;
    from = stack[stack_index++] = from_;
    work = stack[stack_index++] = work_;
    dest = stack[stack_index++] = dest_;
}
int pop()
{
    if (stack_index == 0) return 0;
    dest = stack[--stack_index];
    work = stack[--stack_index];
    from = stack[--stack_index];
    n = stack[--stack_index];
    return !0;
}
/* ------------------------------------------- */

[] チキンラーメン好き  チキンラーメン好きを含むブックマーク  チキンラーメン好きのブックマークコメント

私はチキンラーメンが好きである、時々むしょうに食べたくなる

マジでチキンラーメン中毒 → マジチキ(マジキチ)


イッテミタカッタダケー

2010-09-02

[] AutoHotkey設定(自分用メモ)  AutoHotkey設定(自分用メモ)を含むブックマーク  AutoHotkey設定(自分用メモ)のブックマークコメント

; Ctrlに指持ってくのめんどい
vk1Dsc07B & x:: Send, ^x
vk1Dsc07B & c:: Send, ^c
vk1Dsc07B & v:: Send, ^v
vk1Dsc07B & s:: Send, ^s

; vi風カーソル移動
vk1Dsc07B & h:: Send, {Blind}{Left}
vk1Dsc07B & j:: Send, {Blind}{Down}
vk1Dsc07B & k:: Send, {Blind}{Up}
vk1Dsc07B & l:: Send, {Blind}{Right}

; 遠いのでホームポジション付近に持ってきた(右側)
vk1Dsc07B & 9:: Send, {Blind}{PgUp}
vk1Dsc07B & o:: Send, {Blind}{PgDn}
vk1Dsc07B & 8:: Send, {Blind}{Home}
vk1Dsc07B & i:: Send, {Blind}{End}
vk1Dsc07B & 7:: Send, {Blind}{Insert}
vk1Dsc07B & u:: Send, {Blind}{Delete}
vk1Dsc07B & m:: Send, {Blind}{Enter}
vk1Dsc07B & y:: Send, {Blind}{BackSpace}

; 遠いのでホームポジション付近に持ってきた(左側)
vk1Dsc07B & .:: Send, {Blind}{Esc}
; ※vkF3sc029は半角/全角キー
vk1Dsc07B & <:: Send,{vkF3sc029}

; 地味に便利
vk1Dsc07B & /:: Send,{AppsKey}
vk1Dsc07B & n:: Send,{End}{Enter}
vk1Dsc07B & b:: Send,{Home}{Enter}{Up}

; ----------------------------
; 変換キー
; テンキー
vk1Csc079 & n:: Send, {Numpad0}
vk1Csc079 & m:: Send, {Numpad1}
vk1Csc079 & ,:: Send, {Numpad2}
vk1Csc079 & .:: Send, {Numpad3}
vk1Csc079 & j:: Send, {Numpad4}
vk1Csc079 & k:: Send, {Numpad5}
vk1Csc079 & l:: Send, {Numpad6}
vk1Csc079 & u:: Send, {Numpad7}
vk1Csc079 & i:: Send, {Numpad8}
vk1Csc079 & o:: Send, {Numpad9}


; マウス移動
vk1Dsc07B & q::
  CoordMode, Mouse, Screen
  MouseMove, 960, 1080 / 2, 3
  return
vk1Dsc07B & e::
  CoordMode, Mouse, Screen
  MouseMove, 1920+960, 1080 / 2, 3
  return

; マウスクリック
vk1Dsc07B & LButton:: Send, {MButton}

109キーベースなので習得も容易だと思う、無変換便利

 |