2014年6月5日木曜日

Google apps for Business を検討している方へ

知ってたらGoogleApps使わなかった・・・ってならないように
実際に使ってみて色々ありましたので記録しときます。

えーと・・・

メール
・迷惑メールフィルタはデフォルトです。解除できません。
・Google側が受信拒否してもこちらはそれに気がつきません。
・結構普通の文面でも迷惑メールになるときあります。仕事の内容によっては、迷惑メール扱いされてしまうことが多くなるかも。その時はホワイトリストとか使う。
・メールディストリビュータとか使って一括配信しようとしても80通ぐらいで止まる。
・管理画面とかドンドンブラッシュアップ?されるので、たまに見ると「ん?これなに?」みたいになります。
・1アカウントあたりの送信最大件数とか注意しとくべし。メルマガとかやる人はとくに。
・お年寄りにはgmailは辛いかもしれません。
・転送メール設定しても、迷惑メールにフィルタされたものは転送されません。
案外これが悪さすることがある。
・代理店の方と仲良くしておいた方がいい。何かあったときに困ります。

また思い出したら書き出しておこう

特定タイトルを含む2chスレッドをみつけて、直近の書き込みをメールするスプレッドシートのスクリプト

GoogleAppsのスプレッドシートのスクリプトを使って、2chの特定のタイトルをもつ書き込みをメールさせるというものを作った。ブラウジングすることなくメールで読めるのでなかなか良かったが、2chが検索できなくなったらしいのでもう使えないのかな。

まぁ、Googleのサーバをつかってクロールするというのはなかなか楽しい。
長時間はNGらしいので短い処理にするとよろしい

GoogleAppsのスプレッドシートをいっこ生成。
6つのシートを作る。名前は以下
「ログ」
「メールアドレス」
「キーワード」
「2ch検索結果HtmlTemp」
「2chスレッド一覧」
「結果」

シート「メールアドレス」には送信先メールアドレスをA1セルに記述しておく
シート「キーワード」はA列にキーワード、B列にキーワードのEUC-JP変換したものを記述

スクリプトに以下を記述
webcro2ch を適当な時間で自動実行させればクロールしてメール送信する。


----------------------------------------


//スプレッドシート: 400,000 セル、
//1 シートあたり 256 列まで。
//アップロードして Google スプレッドシートの形式に変換できるスプレッドシート
//ファイルの最大サイズは 20 MB です。また、400,000 セル以下、1 シートあたり 256 列以下である必要があります。
// http://support.google.com/docs/bin/answer.py?hl=ja&answer=37603

function webcro2ch() {
  var SHT_LOG_NAME = 'ログ';//ログ記録するシート名
  var TO_ADDRESS;//メール送信先

  writelog(SHT_LOG_NAME, "-----------");
  writelog(SHT_LOG_NAME, "プログラム開始");
 //現在毎時トリガー
  var beferd = 3;//何日前までのデータを取得するか
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetLog = ss.getSheetByName(SHT_LOG_NAME);
  var sheetKW = ss.getSheetByName('キーワード');//キーワード一覧の入っているページ
  var sheet1 = ss.getSheetByName('2ch検索結果HtmlTemp');
  var sheet2 = ss.getSheetByName('2chスレッド一覧');
  var sheet3 = ss.getSheetByName('結果');
  var sheet4 = ss.getSheetByName('メールアドレス');

  ///////////////////////////////////////////////////////////////////////////////
  //初期化
  ///////////////////////////////////////////////////////////////////////////////
  //メール送信先アドレスの取得
  TO_ADDRESS = sheet4.getRange(1,1).getValue();//
  if(TO_ADDRESS==""){
    //メールアドレスが空
    throw "ERROR:メールアドレスが設定されていません。";
  }
  sheet1.clear();
  sheet2.clear();
  sheet3.clear();
  //ログたまりやすいので、1000行を超えたら、1000行以降は削除する
  var logRow = sheetLog.getMaxRows();
  if(logRow>1000){
    sheetLog.deleteRows(1001, logRow-1000);
  }
  var shtRow = sheet1.getMaxRows();
  if(shtRow>1000){
    sheet1.deleteRows(1001, shtRow-1000);
  }
  shtRow = sheet2.getMaxRows();
  if(shtRow>1000){
    sheet2.deleteRows(1001, shtRow-1000);
  }
  shtRow = sheet3.getMaxRows();
  if(shtRow>1000){
    sheet3.deleteRows(1001, shtRow-1000);
  }
  shtRow = sheet4.getMaxRows();
  if(shtRow>1000){
    sheet4.deleteRows(1001, shtRow-1000);
  }


  ///////////////////////////////////////////////////////////////////////////////
  //設定済キーワードの取得
  ///////////////////////////////////////////////////////////////////////////////
  writelog(SHT_LOG_NAME, "キーワード取得開始");
  var kwMax = sheetKW.getLastRow();
  var swords = new Array(kwMax);
  //キーワードの説明
  for(ii=0;ii    //第一要素 キーワード,第二要素 EUC-JP変換したもの
    swords[ii] = [sheetKW.getRange(ii+1,1).getValue(),sheetKW.getRange(ii+1,2).getValue()];
    writelog(SHT_LOG_NAME, "キーワード:"+swords[ii][0]);
  }
  writelog(SHT_LOG_NAME, "キーワード取得完了");

  ///////////////////////////////////////////////////////////////////////////////
  //2chで各キーワードのスレッドがあるのか確認
  //シート'2ch検索結果HtmlTemp'に記録
  //取得日時,キーワード,検索先(2ch),レスポンスコード,件数,状態(sourceget,linkget),
  ///////////////////////////////////////////////////////////////////////////////
  writelog(SHT_LOG_NAME, "スレッド検索開始");
  var opt={"contentType":"text/html","method":"get"};
  for(var ii=0;ii    sheet1.insertRowBefore(1);//新しく1行目を挿入
    var response;
    var resCode;
    var contentText;
    try{
      response = UrlFetchApp.fetch("http://find.2ch.net/?STR="+swords[ii][1],opt);
      resCode = response.getResponseCode();
      contentText = response.getContentText("EUC-JP");
    }
    catch(e){
      resCode = 999;
      contentText = '';  
    }
    //1行目にデータ登録
    var d = new Date();
    sheet1.getRange(1,1).setValue(d.toString());//日時
    sheet1.getRange(1,2).setValue(swords[ii][0]);//キーワード
    sheet1.getRange(1,3).setValue("2ch");//サイト
    sheet1.getRange(1,4).setValue(resCode);//レスポンスコード
    sheet1.getRange(1,5).setValue(contentText);//HTML
  }
  writelog(SHT_LOG_NAME, "スレッド検索終了");

  ///////////////////////////////////////////////////////////////////////////////
  //リンク先の切り出し
  ///////////////////////////////////////////////////////////////////////////////
  writelog(SHT_LOG_NAME, "スレッド一覧作成開始");
  var rmax = sheet1.getLastRow();

  for(var ii=0;ii    var mode = sheet1.getRange(ii+1,6).getValue();
    var w = sheet1.getRange(ii+1,2).getValue();//キーワード取得
    var str = sheet1.getRange(ii+1,5).getValue();//HTMLを取得
    var xx = str.match(/
.*?<\/a>/gi);

    if(xx){    //xxが配列で無い場合はfalseになる
      for(var jj=0;jj        //sheet1.getRange(ii,jj+6).setValue(xx[jj]);//デバッグ用
        var m = xx[jj].match(/(.*)?<\/a>/gi);//最初の(.*)はスレッドタイトル、次の(.*)はリンクURL
        var d = new Date();
        sheet2.insertRowBefore(1);//新しく1行目を追加
        sheet2.getRange(1,1).setValue(d.toString());//日時
        sheet2.getRange(1,2).setValue(w);//キーワード
        sheet2.getRange(1,3).setValue(RegExp.$2);//スレッドタイトル
        var u = RegExp.$1;//URL
        u = u.substr(0,u.lastIndexOf("/")) + '/';//後ろの/以降を削除する
        sheet2.getRange(1,4).setValue(u);//URL
      }
    }
  }
  writelog(SHT_LOG_NAME, "スレッド一覧作成終了");

  ///////////////////////////////////////////////////////////////////////////////
  //スレッドの書き出し(100レコードまで)
  ///////////////////////////////////////////////////////////////////////////////
  writelog(SHT_LOG_NAME, "掲示板内容取り出し開始");

  var listmax = sheet2.getLastRow();
  for(var ii=0;ii    var w = sheet2.getRange(ii+1,2).getValue();//キーワード
    var t = sheet2.getRange(ii+1,3).getValue();//タイトル
    var u = sheet2.getRange(ii+1,4).getValue();//URL
    writelog(SHT_LOG_NAME, "スレッド読出("+(ii+1)+"/"+listmax+"):"+ w + ":" + t);
    var response;
    var resCode;
    var html;
    var errMsg='';
    try{
      response = UrlFetchApp.fetch(u,opt);
      resCode = response.getResponseCode();
      html = response.getContentText("Shift_JIS");
    }
    catch(e){
      resCode = 999;
      html = '';
      errMsg = ':' + e.message;
    }
    writelog(SHT_LOG_NAME, "RES:" + resCode + ":" + u + errMsg);
    var yy = html.match(/(\d{1,4})\s+:.*?:(\d{4}\/\d{2}\/\d{2}).*?(\d{2}:\d{2}:\d{2}).*?(.*)?/gi);

    if(yy){
      writelog(SHT_LOG_NAME, "全件:" + yy.length);
      for(var jj=0;jj        var m = yy[jj].match(/(\d{1,4})\s+:.*?:(\d{4}\/\d{2}\/\d{2}).*?(\d{2}:\d{2}:\d{2}).*?
(.*)?

/gi);//日付、時間、コンテンツを取得

        var d = new Date(RegExp.$2 + ' ' + RegExp.$3);
        //前日以降のデータのみ取得
        var td = new Date();//本日の日時
        td.setTime(td.getTime()-beferd*24*60*60*1000);//指定日前の日時

        if(d.getTime()>td.getTime()){
          sheet3.insertRowBefore(1);//新しく1行目を追加
          sheet3.getRange(1,1).setValue(w);
          sheet3.getRange(1,2).setValue(t);
          var n = RegExp.$1;
          sheet3.getRange(1,3).setValue(n);//番号
          sheet3.getRange(1,4).setValue(d);//日付
          var c = RegExp.$4;
          c = c.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,"");//HTMLタグを置換
          c = c.replace(/>/gi,">");
          if(c.length>150){
            c = c.substring(0,150)+'…';
          }
          sheet3.getRange(1,5).setValue(c);//コンテンツ
          sheet3.getRange(1,6).setValue(u + n);//URL
        }
      }
    }
  }
  writelog(SHT_LOG_NAME, "掲示板内容取り出し終了");

  ///////////////////////////////////////////////////////////////////////////////
  //メール送信
  ///////////////////////////////////////////////////////////////////////////////
  writelog(SHT_LOG_NAME, "メール送信開始");
  var rngResults = sheet3.getRange(1, 1, sheet3.getLastRow(), 6);
  var aryResults = rngResults.getValues();
  if(aryResults){
    var kw="";
    var tmpKW="";
    var tt="";
    var tmpTT="";
    var c = "";
//昇順ならこれ
//    for(var ii=aryResults.length-1;ii>=0;ii--){
//降順ならこれ
    for(var ii=0;ii<=aryResults.length-1;ii++){
      tmpKW = aryResults[ii][0];//キーワード
      if(kw!=tmpKW){
        if(c!=""){
          //キーワードが変わったので今までの情報をメール送信する
          MailApp.sendEmail(TO_ADDRESS,"2ch検索結果 ["+kw+"] (直近 "+beferd+" 日)",c);
        }
        //新しく情報を作り始める
        c = "";
        c = c + "本メールは指定キーワード(" + tmpKW + ")が2chスレッドタイトルに含まれるもののうち、" + "\n"
        c = c + "直近 " + beferd + " 日以内の書き込みだけメール出力しています。" + "\n"
//        c = c +"\n■■■■■■■■■■■■■■■■■■■■■■■\n";
//        c = c + "検索キーワード:" + tmpKW + "\n";
//        c = c +"■■■■■■■■■■■■■■■■■■■■■■■\n";
        kw = tmpKW;
      }
      var tmpTT = aryResults[ii][1];//スレッドタイトル
      if(tt!=tmpTT){
        //スレッドタイトルが変わったのでセット内容を変える
        c = c +"\n--------------------------------------------\n";
        c = c + "スレッドタイトル:" + tmpTT + "\n";//スレッドタイトル
        var u = aryResults[ii][5];//URL(ただし、個別番号含む)
        u = u.substr(0,u.lastIndexOf("/")) + '/';//後ろの/以降を削除する
        c = c + u + "\n";
        c = c +"--------------------------------------------\n";
        tt = tmpTT;
      }
      var formd = Utilities.formatDate(new Date(aryResults[ii][3]), 'GMT+9', 'yyyy/MM/dd HH:mm')
//      c = c + "【"+aryResults[ii][2]+"】" + "\n";//番号
//      c = c + aryResults[ii][3];//日時
//      c = c + formd + " ";//日時
      c = c + "("+aryResults[ii][2]+")";//番号
      c = c + aryResults[ii][4]+ "\n";//書込み内容
    }
    if(c!=""){
      //キーワードが変わったので今までの情報をメール送信する
      MailApp.sendEmail(TO_ADDRESS,"2ch検索結果["+kw+"](直近"+beferd+"日)",c);
    }

  }
  writelog(SHT_LOG_NAME, "メール送信終了");

  writelog(SHT_LOG_NAME, "プログラム終了");
}

function writelog(sheetName, logline){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet_log = ss.getSheetByName(sheetName);
  sheet_log.insertRowBefore(1);
  sheet_log.getRange(1,1).setValue(new Date());
  sheet_log.getRange(1,2).setValue(logline);
}

2012年3月28日水曜日

WindowsLiveメール経由のGoogleメールサーバは遅延おきやすい?

今朝会社に行くと、Yさんより「Dさんに送ったメールが、15時間経ってようやく届いた。これじゃ困る」と相談を受ける。
YさんもDさんも社内の方なんだけど、社内向けに送ったメールが15時間も届かないなんてあるんだろうかと調査を依頼した。

GoogleAppsの代理店はUSEN、一応メールでこういった障害の対応してくれる。
現象をメールすると「受信されたメールのヘッダ情報送ってください」といわれたので
そそくさと添付して返信。

Googleに問い合わせたらしく、次のような回答を得た。
WindowsLiveメールは、「送信ボックス」にメールが入っても送信したということにはならない。
同期が完了して初めて送信されたことになる。
ところが、同期の完了時間=配信時刻 ではなく
配信ボックスに入った時間=配信時刻 という表示になるらしい。

Google側の接続ログによれば、YさんがGoogleにアクセスしたのは15時間前ではなく、15時間後だよと。つまり同期が遅れたから送信されていなかったんだ。ということらしい。
15時間も??!!って思ったけど、Yさんは15時間ほど前にメールを書いてからNRで外出していたのでPCが停止してたということなんだな。で、朝PC立ち上げたら同期が始まったと・・・ 15時間経つわけだ。

結論。 WindowsLiveメール 嫌い。
アカウント削除してもメールごと消しちゃうし。

2012年3月24日土曜日

Windows2008R2 タスクスケジュールでネットワークドライブ内のデータを削除する方法

バッチファイルを直接たたくと動作するのに、タスクスケジューラでは実行できないという現象。
解決できたので備忘録としてまとめ。

1.バッチファイルは次のようにすべし。
net use Z: "\\サーバ名\共有フォルダ名"
for /D %%f in (Z:\*) do rd /S /Q %%f
del Z:\*.* /q
net use Z: /delete
1行目と4行目が抜けてると、だめ。
(これに気がつかなかった・・・ログインしてると、すでにドライブが見えている設定だったので、2,3行目のスクリプトだけでいいんだと思ってしまった。実際、バッチファイルたたくと動作してたから完全に騙された笑)

2.タスクスケジューラの「操作の編集」ダイアログにある
開始(オプション)という欄に上記バッチファイルのパスを記述する。

理解の深い方は、そもそもこんなことで困らないんだろうなぁ・・・
私みたいなのは、ネットで調べてもなかなかわからなくて本当に参った。
私以外にも困ってる人いると思うんだよね。

2010年8月7日土曜日

一生忘れられない出来事

1985年8月12日 日航機123便が御巣鷹山に墜落

中学生になったばかりだった。
夏休み長野の実家へ帰省していた。
夕方近くに
「日航機が行方不明」
「長野県佐久市に墜落?」といったニュースが流れていた。

数時間後に
「御巣鷹山に墜落した模様」と判明するも
墜落かぁ・・・程度にしか、思っていなかった。
多くの人が亡くなる、命が無くなるという現実を捕えていなかった。

それから程なくして
小学3年生でクラスメートだった女の子が日航機123便に
乗っているかもしれないと連絡が回ってきた。

夜中だったと思う。
ニュース番組のテロップで、搭乗していた人々の名前が映し出されていた
おびただしい数だった。
その中に 彼女の名前はあった。
カタカナで表示されたその名前は無機質すぎて、
太陽のように明るかった彼女の名前とはとても思えなかった。

連絡があったとおり、彼女は乗っていた。
12歳。
亡くなられた520名のうちの1人。

---

何年か経ち、あの事故のことも記憶から薄れ始めていた。
妻と一緒に夏季休暇を車で長野へ帰省した日のこと

渋滞を避けるために、普段帰省時に通らない道を
訳も分からずに走っていた。
気がつけば山を越える為の一本道となっていた。
どんどん山道を登っていくと、黒い服を着た人々が道の脇を歩いて登っていく。


その道の先には、大きな慰霊塔が立っていた。
沢山のろうそくが灯り、多くの人々が集まっていた。
御巣鷹山の事故現場だった。
そして8月12日だった。

亡くなった彼女に導かれてここに来たのだと思い
車を降りて慰霊塔へ。

亡くなられた方々の名前が記載された灯ろうがあり
そこに彼女の名前が確かに刻まれていた。

「私の事、わすれないでね。」
ということだったのか。
「私の分まで一生懸命生きてね」
ということだったのか。

あの日の不思議な体験とともに、彼女の事を忘れる事はないだろう。





2010年8月6日金曜日

Twitterの威力と語彙の豊かさと

1月のブログでTwitterについて書いたけど、あのときと変わった点を記録しておく
・Twitterやりはじめた。
・ほぼ毎日ツイートしている。
・ブログ更新が面倒くさく感じてきた。
かな。

Twitterは仕事の都合6月から始めた。
フォロワー数はそんなにないけど、会社アカウントのツイートもやってるので
よく頭が混乱する。
目標は会社の利益をあげることだからね。
Twitterが好きか?と聞かれたら 正直NO。

確かにTwitterの威力はすごい、体感してる。
仕事にも影響があるんだから間違いない。

でも、自分の子供には使わせたくない。
こんなものをコミュニケーションツールにするのは
なんかおかしい。
目から入って来る少ない情報を、他人メッセージが流れてくるものをみて
満足するなんて・・・
語彙の少ない子供たちが140文字で伝えられるものなんて
大してないはず。

俳句や短歌のように練られた世界観ではないから
当然語句も普段使いになるはず。
簡単なワードは、簡単な感情しか生み出さない。
そんな子供にはしたくない。

沢山本を読んで、沢山文章を書いて、何度も推敲して
声に出して読み上げて。五感をフルに使って感情を高めてほしい。
それが終わったら、ツイッターだってOK

2010年6月3日木曜日

USTREAMでセミナー配信1

上司命令でセミナーをUSTREAM配信した。
USTREAMを全く知らない私が、なんとかやりとげたのでここに備忘録として残しておく。

セミナーはPPTをスクリーンに映し出し、講師がその場のお客様へ伝える形式。
これをUSTREAMでそれっぽく配信する事が課題であった。
特にお金をかけずに・・・

結局何をしたかというと

講師が利用するPCとは別に、配信用ノートPCを用意し
配信用PC上で
・同じPPTをスライドショーさせながら(この画像を配信し)
・講師のカメラ画像をとりこみ(この画像を配信し)
・マイクで音声をとりこみ(この音声を配信し)
3種類の入力をまとめて出力した。

このときに配信用PCにインストールしたものは
・最新版FLASHプレイヤー
・FlushMediaLiveEncoder
・SCFH DSF

それぞれは次のような機能をうけもっているようだ
・Flashプレイヤー これがないとUSTREAM配信自体ができん。
・FlushMediaLiveEncoder 入力データの帯域などを細かく設定できる
たとえば、フレームレートとか出力画面サイズとか・・・色々
・SCFH DSF はっきりいって、これがないと2画面以上の取り込みは無理。
これ作った人に大感謝!

細かく書きだすときりがないなぁ・・・

あとはまぁ、、またあとでかこう

2010年5月17日月曜日

子供の心のコーチング

今日昼休みにMARUZENでうろうろして見つけた本
「子供の心のコーチング」 菅原裕子 PHP文庫

まだ50ページほどしか読んでないけど
自分の生い立ちを含めて再考させられる本だな

「ヘルプ」と「サポート」
自分が掲げている子育ての「自立」にはどちらを使うか
はっきりわかってきた。

親も自立できないといけないんだね。
この本を読み終える頃に何かヒントがつかめたらうれしいな

2010年5月16日日曜日

割るストローク、割らないストローク

アベレージを上げていくために
もちろん取り方が重要だけど、ストロークも大事だって教わった。

・いつもよりレストを短く、握り位置を後ろに
・いつもよりレストを長く、握り位置を前に

この2つだけでも手玉の挙動が全く違う。

・後ろにためて、インパクト
・ためず、フォローを意識

もちろん挙動が違う
理由はわからないけど、経験則として体で覚えなきゃね

2010年5月15日土曜日

ベビーカーの威力

ベビーカーに乗せていると、全く泣かない
というか

寝る
寝まくる

揺れが気持ちいいのか
外気に触れている感じがたまらんのか

今日はお昼を妻と3人でスターバックスへ
ベビーカーに乗せたまま、テラス席で食べていると
「イヒン、ウヒン」と微妙な声
ベビーカーをちょっと揺らしてあげると
静かになる

すごい効果だな

2010年5月13日木曜日

将来ビジョンの大切さ

新しい職場で感じた事。
社長が示す将来ビジョンに共感できること。
何のために働くのか、感じられる事。

一生懸命働いている仲間をサポートしようと
頑張る人たちがいること。

この会社が5年後にどうなっているのか。
お楽しみ。

2010年5月12日水曜日

久しぶりのお仕事

新しい職場へ。6カ月ぶりの仕事だ。
電車通勤自体が5年ぶり?ぐらいなので非常に疲れた。
いつも徒歩通勤だったからね。
たまには、数駅まえで降りて歩くのもいいかもしれない。

明日以降本格的に仕事モードにならないとな。
とにかく
NO は言わない。

2010年5月11日火曜日

最後の長期休暇・・・

今日で約6カ月の無職生活とお別れ。
明日から一般的なサラリーマン生活だ。

思い起こすと、この6カ月は刺激的な経験ばかりだった。
妻と2人きりの最後の生活
妊娠後期のサポート
出産までの立ち会い
赤ちゃんとの生活

これから定年になるまで、こんな長期休暇はとれないだろうし
もうこんなに休んだら復職だってできない(笑)

素敵な時間だった。
これからは責任を持って子供を育てる為に
必死に働こう。

2010年5月10日月曜日

赤ちゃんとの初風呂

今日は1か月健診があり、特に問題がないとのことで
一緒の湯船でのお風呂OKがでた。

ここ数日の「おしっこ&うんこ」事件のトラウマで
風呂の中でうんこされるんじゃないかとドキドキだったけど
うまくいったよ。

夢にまで見た一緒のお風呂。
楽しい!

最近は入れ方も慣れてきたからね
一緒に入るととても楽ちんだ。
もしかしたら湯船でおしっこしてるかもしれないけど
全然気にしないよ~

とにかくお風呂が気持ちいい事わかってくれればいい。
私は風呂きらいだけど・・・
君と入るお風呂だったら、いつでも入りたいかも

Vimperator

Firefoxを VimやViのように操作する拡張機能のこと。
実際かなりすごいよこれ。

今までマウスがあたりまえの操作だったから、
キーバインドは特殊に感じるけど
慣れたら相当な速度でブラウジングできちゃうな、これ。

でもこれって
相当マニアック・・・

ChromePlus(5.0.342.9)

Chromeにない以下の機能があるから利用している。

・マウスジェスチャー
(拡大、縮小、タブ閉じる、戻る、画面上下移動がメインかな)
・SuperDrug
HTML内の単語を簡単に別ページで検索できる
・IEタブ切替
本家Chromeでは正常に閲覧できないページを
クリックひとつでIEとして閲覧できちゃうすぐれもの
(ちゃんと次回以降、そのサイトを閲覧するときにはIEとして開く)

まぁこんな感じなんだけど、
Google Mapを使っていて はたと気がついたことがある。
ストリートビューのときに、左下に現在地地図が出るはずなのに
ChromePlus使うと出てこないんだよね。
これちょっと不便。
(7/24追記5.0.357.38では治ってた)


それ以外は結構いいのになぁ・・・

最近 Vimperatorを知った、これすごいな

出産内祝いの準備

産後1か月を迎えようとしているので、
そろそろ出産内祝いの準備だ。

今のところ約30名の方に内祝いをお返しする予定。

今回は都民共済を利用することにした。
結婚時に共済に加入してから、結構利用させてもらっている。
とにかく値段がお安いのがいい。

赤ちゃんを寝かしつけてから、義父母に預けて
一路池袋サンシャインへ。
久しぶりの都民共済はちょっと雰囲気が変わっていた。

お客さんの大半が結婚を控えたカップル。
僕たちもこんな日があったよね。


食料品のカタログギフトを決めて、
窓口へいくも完了までの時間がなんと1時間程かかった。
都民共済ってIT化があまり進んでいないのかな?
約30名の届け先リストも手書き用紙しか持ってこないし・・・
今時リスト作るのってどう考えてもパソコンでしょ?
用紙もExcel形式で渡してくれればあっという間なのにねぇ。

とにかく赤ちゃんを預けて結構時間たってるから、
妻だけは先に帰した。

久しぶりの池袋を満喫することもなく、そそくさと家へ戻る。
自分たちだけじゃない生活ってこういう事なんだね。
少しずつこういう生活に慣れていくと思う、
赤ちゃんが外に出られるようになったら
妻と気分転換にどこにいこうかな・・・

おむつ取り換えに潜む危険

昨日の朝、おむつ取り換え時におしっこをおもいっきり飛ばされた事件があったが、
今朝、同じくおむつ取り換え時に 「うんこ」をおもいっきり飛ばされたよ。

被害者は妻。。

昨日うんちの回数が少ないのがちょっと気になっていたんだよね。
それにお尻を拭いているときの「プスプス」おならの出方・・・

「あっ」という間もなくうんちが噴水のようにとび出た!
距離は赤ちゃんの身長の2倍くらい?(1mぐらいかも)

被害

まくら
シーツ
妻のパジャマズボン

でもその程度で助かった・・・

■教訓
寝起きのおむつ替えは要注意
とくに前日までのウンチ回数に気をつけておけ!
んでもって、プスプス言いだしたらふたをしろ!

2010年5月9日日曜日

母の日にカーネーションって・・・

最近、母の日にカーネーション贈る人が減っているらしい。
そういう自分もカーネーションなんて小学生のとき以来、贈ってない。

定番ってよばれるものも、時代で変化するんだねぇ。
というかお金を儲けようとする人たちに踊らされてるだけなのかな。

今ふと思い出したけど
小学3年生のころ、おこずかいすらもらってなかったから
カーネーションが買えなくて
画用紙にカーネーションを書いて母にプレゼントした記憶があるな・・・
あと「肩たたき券」 これ定番じゃないか?笑

自分が子供をもって知る気持ちだけど
子供に肩たたきされる日がくるなんて、素敵だね。
いつの日か
「お父さんの肩こってるね~」なんて言われながら
上手に肩もみされる時がくるんだろうな。

おしっこ びびびーーー

おむつ替えのとき、注意はしてたんだよ。
おちんちんの向きとか状態とか
おしっこが出そうな雰囲気ってあるじゃない。

今朝、安心しきっておむつ替えをしたときのこと
おしりをふいて、ちょっとよそ見をしたとたんにやられた!
あわてて自分の脱いだばかりのシャツを押し当ててなんとかしのぐ

でも、被害あり。

しょうがねぇなぁと新しいおむつにとりかえて
さてと。。。としたところで、
またまた 「びびびびーーー」
これは想定外!!!

おもいっきり被害あり。

今日知ったよ
これは君から私への警告なんだね。

「おむつがえは、得意だなんて 慢心してはいけないぞ」
「相手は赤ちゃんなんだよ。思うようにいかんぜよ。」

ってことなんだね?
わかった。頑張る!