トップ 最新 追記

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
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|
2008|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|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|

2014-12-01 :-(

_ 読書メーター

2014年11月の読書メーター
読んだ本の数:9冊
読んだページ数:2015ページ
ナイス数:8ナイス

仮説思考 BCG流 問題発見・解決の発想法仮説思考 BCG流 問題発見・解決の発想法感想
結論から考える
読了日:11月29日 著者:内田和成
いかにして問題をとくかいかにして問題をとくか感想
問題解決へのプロセス、と考えて読むとかえって抽象的となり数学以外にどうやって応用するのか頭を抱えている
読了日:11月28日 著者:G.ポリア
考える力をつける3つの道具考える力をつける3つの道具感想
「ザ・ゴール」のTOCを噛み砕いたもの/ゴールドラットさんは亡くなっていたのか
読了日:11月24日 著者:岸良裕司,きしらまゆこ
マンガでやさしくわかる問題解決マンガでやさしくわかる問題解決感想
ロジカル・シンキング/MECE/地方の工場を立て直すという課題を例にして現状の課題、解決策の仮説、検証、フィードバックをこなす。
読了日:11月24日 著者:河瀬誠
世界一やさしい問題解決の授業―自分で考え、行動する力が身につく世界一やさしい問題解決の授業―自分で考え、行動する力が身につく感想
ロジカル・シンキング。対象は中学生、高校生か。生活のなかでの具体的な(身近な)問題を取り上げてそれを解決するための思考が書かれている。
読了日:11月24日 著者:渡辺健介
俺のかーちゃんが17歳になった (2) (電撃文庫)俺のかーちゃんが17歳になった (2) (電撃文庫)感想
やまなこ/メー子一家の解決。17歳になった理由がこれまた過酷なのでそろそろチャラいひとで一休みしませんか/タカシとメー子が恋人ではなく相変わらず利害関係者にしか見えないから今後の発展に期待
読了日:11月18日 著者:弘前龍
エロマンガ先生 妹と開かずの間 (電撃文庫)エロマンガ先生 妹と開かずの間 (電撃文庫)感想
一番恐ろしいのは「童貞はちょろいな」をやっていた神野めぐみだけど今時の中学生はあんなのかもしれんな。「クリスタルパレス」は「愛戦士ニコル」ですかねと思ったがよくある名前か
読了日:11月15日 著者:伏見つかさ
高速ビデオ・インターフェースHDMI&Display Portのすべて (インターフェース・デザイン・シリーズ)高速ビデオ・インターフェースHDMI&Display Portのすべて (インターフェース・デザイン・シリーズ)感想
HDMIの仕様書を読めない一般人なら、本を読むしかないじゃない!
読了日:11月3日 著者:長野英生
ディジタル画像処理ディジタル画像処理感想
画像処理の字引き。ご家庭に一冊どうぞ
読了日:11月3日 著者:

読書メーター

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 読書

2100 飯

_ 松葉杖で通勤してみた

仕事場のバリアフリーが進みすぎて笑える。歩道は滑らないし段差は無いし。

こうして怪我してみると健康な人間を前提とした建築はそこらじゅうにあることに気づく。


2014-12-02 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 読書

2100 飯

_ typedef char* PCHAR;

PCHAR PCHAR パッパパラパ♪

PCHAR PCHAR 踊るポンポコリン♪

Tags: C

_ 最初にアクセスしたときに領域確保する

Singleton ぽいものですがどうですかね。

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

enum
{
  BUFFER_MAX = 8,
};

char* buffer = NULL;

void errx( void )
{
  printf( "%s\n", strerror( errno ) );
  exit( 1 );
}

char* getInstance( void )
{
  if( buffer == NULL )
  {
    buffer = malloc( BUFFER_MAX );
    if( buffer == NULL )
    {
      errx();
    }
  }
  return buffer;
}

void destroy( void )
{
  if( buffer != NULL )
  {
    free( buffer );
  }
}

char read( int index )
{
  char* buf = getInstance();
  return buf[ index ];
}

void write( int index, char data )
{
  char* buf = getInstance();
  buf[ index ] = data;
}

int main(int ac, char** av)
{
  char data;
  
  atexit( destroy );
  
  write( 0, 1 );
  data = read( 0 );
  printf( "%d\n", data );
  
  write( 1, 2 );
  data = read( 1 );
  printf( "%d\n", data );

  return 0;
}
$ gcc c.c
$ ./a.exe
1
2
Tags: C
本日のツッコミ(全2件) [ツッコミを入れる]

_ エモエモ [オブジェクト指向ムズイっす]

_ みわ [デザインパターンも合わせると腑に落ちるます。FactoryパターンとかObserverパターンとか( まあオブジェク..]


2014-12-03 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 ぐったり

2100 飯

_ ,

P4 の UI がアレ過ぎて発狂した


2014-12-04 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

2100 退勤

2200 飯

_ ,

顧客から「クソコード書いてんじゃねえ」と怒られるなどしていた。


2014-12-05 :-)

_ 午前

0830 起床 && 通院のため一日休み

0930 通院

1030 図書館

1100 読書

_ 午後

1200 おひる。カップ麺

1300 読書

1400 散髪

1600 読書

_

1700 アニメ消化

1900 読書

2100 飯

_ 通院

1週間経過したので通院した。レントゲンを撮るなど。とくに異常(?) は無く。3 週間は松葉杖が必要。完治まで 2, 3 ヶ月かかろうとのこと。

念のため診断書を貰った。3000 円くらいするのね。。。

_ 最寄り駅まで松葉杖で移動してみた

この一週間は松葉杖を使うのは仕事場のみだったので一般道を歩くのは割りと初めてなんだがツラい。もう無理。こんなに遠かったっけ。

一般道なので凹凸がわりと激しい。いや健康なときは気にならなかったけどこうして怪我するとちょっとした凹凸で松葉杖がひっかかり転けそうになる。仕事場が如何に整備されているかが実感できる。

_ NARUTO は中忍試験のころがピークだった

オレんなかで


2014-12-06 :-)

_ 午前

0900 起床

1020 おひる。スパゲティ

1100 アニメ消化

_ 午後

1200 Unityちゃん

_

1700 Unityちゃん

2100 飯

_ 初めての Unity

たんに書籍のチュートリアルやってるだけですが。

Unity スゴいですな。初めて Windows のプログラムを書くときに Visual Basic を触ったときのような衝撃です。こんな手軽に作れるんだ。

Unity Remote を使えば Android アプリとしてテストするのも簡単です。リリースするのはまた別の手間があるらしいけど。

Unity4入門 最新開発環境による簡単3Dゲーム製作
浅野 祐一/荒川 巧也/森 信虎
ソフトバンククリエイティブ
¥ 2,700

Tags: Unity

_ NetBSD の snapshot を取得する

# coding: utf-8

require 'net/ftp'
require 'pp'

FTP_SITE = 'ftp7.jp.netbsd.org'
HEAD_DIR = 'pub/NetBSD-daily/HEAD/'

def main(argv)
  Net::FTP.open(FTP_SITE) do |ftp|
    ftp.login
    ftp.chdir(HEAD_DIR)
    dirs = ftp.list('*').reverse.each { |d|
      ymd = d.split(' ')[8]
      sets_dir = "#{ymd}/source/sets/"
      files = ftp.list(sets_dir)
      next if files.length == 0
      
      ftp.chdir(sets_dir)
      files.each {|l|
        f = l.split(' ')[8]
        printf "#{f} ..."
        ftp.get(f)
        printf "done\n"
      }
      break
    }
  end
end

main(ARGV)

snapshot は日付によっては sets が空っぽだったりする( ftp://ftp7.jp.netbsd.org/pub/NetBSD-daily/HEAD/201412051620Z/source/sets/ )ので空っぽじゃないディレクトリを探さないといけない。ぽい

ftp.list はファイル名のみ取得してくれるんじゃなくてほんとに LIST の結果が入っていた。

["-rw-r--r--    1 ftp      ftp           257 Dec 03 01:22 MD5",
 "-rw-r--r--    1 ftp      ftp           752 Dec 03 01:22 SHA512",
 "-rw-r--r--    1 ftp      ftp      14613392 Dec 03 01:19 gnusrc.tgz",
 "-rw-r--r--    1 ftp      ftp       7395905 Dec 03 01:20 sharesrc.tgz",
 "-rw-r--r--    1 ftp      ftp      293484728 Dec 03 01:19 src.tgz",
 "-rw-r--r--    1 ftp      ftp      50030593 Dec 03 01:20 syssrc.tgz",
 "-rw-r--r--    1 ftp      ftp      155929254 Dec 03 01:22 xsrc.tgz"]

2014-12-07 :-)

_ 午前

1030 起床

1200 おひる。うどん

_ 午後

1300 アニメ消化

1500 Unityちゃん

_

1700 コーヒーを飲むなど

1800 Unityちゃん

1900 筋トレ

2000 飯

2100 読書

_ Unity 4.6 でのテキスト

Unity 4.5 までの GUIText は Unity 4.6 ではレガシーとなり、UI - canvas - text に置き換わったらしい。

GUIText を作ってみたけどスクリプトにおいて GUIText を結びつける方法が分からんかった。

ので結局 UI - Canvas を追加し、Canvas に Text と script を Add componet し、さらにインスペクターにて Scoretext ( なぜ大文字小文字が変化するのか )に Text を結びつけて( ドラッグ&ドロップすりゃいいようだ。これをやらないと script での scoretext が Text のインスタンスに結びつけられないようだ )使った。さっぱり分からん。

#pragma strict

static var scorePoint : int;
public var scoretext : UI.Text;

function Start () {
	scorePoint = 0;
}

function Update () {
	scoretext.text = scorePoint.ToString();
}
Tags: Unity
本日のツッコミ(全4件) [ツッコミを入れる]

_ エモエモ [Unity!!]

_ みわ [ド素人がクソゲーを作るまでの軌跡です。]

_ エモエモ [3Dシミュレータって大変ですよね]

_ みわ [回転行列さえ分かっていればどうということはない(吐血)]


2014-12-08 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1900 ぐったり || 作業しようと思ったけどあまりにも寒いので凍えていた

2100 飯

_ 月が綺麗ですかね

IMG_7304



2014-12-10 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 Unityちゃん

1900 ぐったり

2100 飯。

_ ,

入部したての桜木花道のような気分である。

_ ちびまる子ちゃんに ちくわぶ が登場した

と同僚からの話題があった。

ようするに「あの時代に清水市で ちくわぶは食べないだろ」という。

ちびまる子ちゃん

1974年から1975年の昭和50年代初期に、静岡県清水市(現静岡市清水区の入江地区)

ちくわぶ

近年まで、東京を中心とした埼玉と神奈川、千葉の一部でしか見られず、全国的にはほとんど知られていなかった。

へー

_ 劇場版アイカツ!新聞

近所のセブンイレブンで買った。

a00.JPG

_ ,

2次元ばかり reblog するひとって

_ ,

「そろそろ 30 歳か。じゃあ転職どう?」と部下に勧める上司って(オレのことだ)

_ ,

実際のところ「自社がいつ潰れてもいいようにしておきましょう」と言っている。

_ そこからすべてが始まったのです

「そこからすべてが始まったのです」
このような気持ちを抱いたことがあるでしょうか。皆さんは、これまでの人生のある瞬間を指して「そこからすべてが始まったのです」と言うことができますか。自分の人生を変え、この本を手に取って、このまえがきを読むにいたさせるような、1 つの出来事があったでしょうか。(p.iii)

ない。

レガシーコード改善ガイド (Object Oriented SELECTION)
マイケル・C・フェザーズ/ウルシステムズ株式会社/平澤 章/越智 典子/稲葉 信之/田村 友彦/小堀 真義
翔泳社
¥ 4,536

_ ,

Don't think. Coding.


2014-12-11 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 残業アワー

2000 退勤

2100 飯

2200 読書

_ GTD

remember the milk でいいじゃんね

と思考停止する老害。


2014-12-12 :-)

_ 午前

0800 起床 || 通院のため全休

0900 通院

1100 帰宅 && 読書

_ 午後

1230 おひる。カップラーメン

1300 読書

1500 ぐったり

_

1700 ぐったり

2100 飯

_ 通院

とくに異常なし。引き続き、負荷をかけないように暮らしましょうということで

_ 艦これ クリスマス仕様

本日のメンテナンスより。

限定ボイス追加、限定グラフィック追加。ということで全員分を聞いたり、絵を集めるなどしていた。

4 人娘はサンタコスで出撃するもよう。

那珂と龍驤はノーマルと改二がそれぞれグラフィックがある。

1-5 道中でノーマル龍驤、那珂をげっと。

Tags: 艦これ

2014-12-13 :-)

_ 午前

0830 起床

0900 読書

_ 午後

1200 おひる。カップラーメン

1300 読書

1500 アニメ消化

_

1700 ぐったり

2100 飯

_ Ingress 方面が大騒ぎだったようで

私は未プレイ。

東京地区の陣地を如何にして奪うか→日本を囲ってしまえばいいじゃない(笑)

というジョークは以前からあったが、それを実践されてしまい阿鼻叫喚となったが、それをさらに奪還したんだとかなんとか。Ingress ガチ勢おそろしいな。


2014-12-14 :-)

_ 午前

0930 起床

1020 おひる。スパゲティ

1030 コーヒー

1100 アニメ消化

_ 午後

1200 Unityちゃん

1500 マツダ

_

1800 サガ

2100 飯

2130 テレビ東京で池上彰の選挙特番を見るなど

_ 買い物

【MAZDA】デミオ - SKYACTIV TECHNOLOGY搭載車

@マツダ

ディーゼルです。

せっかくだからソウルレッドプレミアムメタリックにした(塗装が何重になるので面倒くさいらしい)

店から出るときに従業員みんな並んで送り出された。ような。まあ業務が立てこんでなかったんだろう。

IMG_7308

IMG_7307

IMG_7312

IMG_7309

_ 艦これ

5-4 ボス勝利Sで瑞鶴ゲット。

中破絵を収集するなど。

Tags: 艦これ
本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ みわ [ディーゼルいいよ、ディーゼル (足を怪我してるので運転してないけど)]

_ Fryght [自分も来年にマツダ車(アクセラハイブリッド・CX-3)を購入予定です、マツダの先輩としてご指南をよろしゅう。]

_ みわ [わしはデミオ一択しか考えてなかったのでとくに指南できることは無いんじゃないかと。 アクセラは幅が若干大きいので こす..]

_ 十六夜 [まさかのみわさんが艦これやっておられていたとは…(まだ現役中佐でございます) 取り敢えずパラオ所属なので宜しくです]

_ みわ [十六夜さん アンタダレ]



2014-12-16 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 残業アワー

2145 退勤

2200 飯


2014-12-17 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 TOPPERS

2000 筋トレ

2100 飯

_ TOPPERS/JSP の Windowsシミュレーション環境を使う

挫けた。

環境

  • Microsoft Windows 7 64bit
  • Microsoft Visual Studio Express 2013 for Desktop

やったこと

参考 TOPPERS/JSPを使う - PukiWiki

TOPPERSプロジェクト/ダウンロード からダウンロードするんだけど

  • JSPカーネル Release 1.4.3 は include エラーを解決できず
  • JSPカーネル Release 1.4.4 は include エラーを解決できず

配布されている書庫には Visual Studio 用のプロジェクトファイル等も含まれてはいるんだがかなり古い環境が前提になっているもよう。ぐぬぬ

--------------------------------
1.1 ターゲットシステムと開発環境
--------------------------------

Windowsシミュレーション環境の実行環境としては,次のものを想定している.

    ・Microsoft Windows 2000/XP Pro (x86)
        #Windows XP Home Editionでの検証は行っていない

また開発環境として次のものを想定している.
    ・Microsoft Visual C++ 6.0
       #一部のコードにインラインアセンブラを使用しているため、
       #MSVC以外の処理系を用いることはできない

また付属する追加機能を利用するために、次のものが必要になる場合がある.
    ・Microsoft VisualBASIC 6.0
    ・Active Template Library 3.0 (Visual C++ 6.0に含まれる)
    ・Microsoft Foundation Class Library 6.0 (Visual C++ 6.0に含まれる)

補足

TOPPERS/JSP Windowsシミュレーション環境の開発は次の環境で行われている.

   [OS]     ・Microsoft Windows XP Professional
                + Service Pack 1
   [処理系] ・Microsoft Visual Studio .NET Academic   (主たる開発環境)
                + .NET Framework ServicePack 1
            ・Microsoft Visual Studio .NET Enterprise Architect
                + .NET Framework ServicePack 1
            ・Microsoft Visual Studio 6.0 Enterprise
                + Microsoft Visual Studio 6.0 ServicePack5
                + Microsoft Visual C++ Processor Pack
            ・RedHat cygwin (API:0.94, 1005.5.0.0)

_ FreeRTOS

Embedded Tips from Amr Ali: Running FreeRTOS with Microsoft Windows Vista in 1 Hour

Windows シミュレータがあるというのでやろうとしたが OpenWactom が Windows 7 64bit ではそもそも実行できなかった。らしい。


2014-12-18 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 残業アワー

2145 退勤

2230 飯

_ ,

どうも今週は始業後から吐き気がするようになった。車酔いしたような感覚がする。ほんとに車酔いしてるかもしれん。


2014-12-19 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 ウェッブ巡回など

1900 筋トレ

2100 飯

_ ,

「拳立て」などといったことを考えた痛い意識持ってる系の生活をしていたところ乾燥が激しかったらしく、肌が割れた。

DSC_0788.JPG

_ ツンデル係数

DSC_0791.JPG

_ cygwin パッケージのダウンロードが超絶時間かかるんだけど

ミラー選択ミスったかしら


2014-12-20 :-)

_ 午前

0930 起床

1020 おひる。うどん

1030 コーヒー

1100 読書

_ 午後

1300 アニメ消化

1500 読書

_

1700 gccうーん

2100 飯

_ NetBSD で h8300-hms な gcc クロスコンパイラを作る (NetBSD)

pkgsrc にある。

cd pkgsrc/cross/h8300-hms-gcc/
make install clean clean-depends

_ cygwin で h8300-hms な gcc クロスコンパイラを作る (1) (挫折)

最新のツールを使おうとすると「サポートしてない」と言われる。挫折。

Libs

gcc のビルドに必要なライブラリは cygwin パッケージにある。パッケージの Devel と Libs を全部インストールしておけば事足りるだろう。

  • GMP
  • MPFR
  • MPC
  • PPL
  • cloog-ppl

binutils newlib gcc

ダウンロードして展開しておく。

http://ftp.gnu.org/gnu/binutils/

ftp://sources.redhat.com/pub/newlib/index.html

http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/

% for f in *.gz; do echo $f; done
binutils-2.24.tar.gz
gcc-4.9.2.tar.gz
newlib-2.2.0.tar.gz
% for f in *.gz; do tar xzf $f; done

binutils

configure して make

../configure --target=h8300-hms --disable-nls --prefix=/usr/local/cross
make

 :

checking whether byte ordering is bigendian... no
This target is no longer supported in gas
Makefile:4665: recipe for target 'configure-gas' failed
make[1]: *** [configure-gas] Error 1
make[1]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/binutils-2.24/build'
Makefile:833: recipe for target 'all' failed
make: *** [all] Error 2

h8300-hms はオワコン と言われた。諦める。続く

_ cygwin で h8300-hms な gcc クロスコンパイラを作る (2) (挫折)

最新のツールはダメらしい。公式によると古いやつを使えとのこと。

Downloading necessary files

Download the following files and put them under one directory (or you can have linkes to them in one directory).

    binutils-2.13.2.tar.bz2
    gcc-3.2.1-core.tar.bz2
    h8300-hms-gcc-3.1-1.patch
    newlib-1.11.0.tar.gz
    gdb-5.2.1.tar.bz2

これ

http://ftp.gnu.org/gnu/binutils/binutils-2.13.2.tar.gz

http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-3.2.1/gcc-3.2.1.tar.gz

http://prdownloads.sourceforge.net/h8300-hms/h8300-hms-gcc-3.1-1.patch

ftp://sourceware.org/pub/newlib/newlib-1.11.0.tar.gz

http://ftp.gnu.org/gnu/gdb/gdb-5.2.1.tar.gz

binutils

configure は --host を指定しないと怒られる。make install でエラーになった。

../configure --prefix=/usr/local/cross --host=x86_64-cygwin --target=h8300-hms
make CFLAGS="-O2 -fomit-frame-pointer" all
make install

 :

../../../gas/doc/c-i386.texi:608: warning: node next `i386-16bit' in menu `i386-Arch' and in sectioning `i386-Bugs' differ
../../../gas/doc/c-i386.texi:659: warning: node next `i386-Bugs' in menu `i386-Notes' and in sectioning `i386-Arch' differ
../../../gas/doc/c-i386.texi:659: warning: node prev `i386-Bugs' in menu `i386-Arch' and in sectioning `i386-16bit' differ
../../../gas/doc/c-i386.texi:680: warning: node next `i386-Arch' in menu `i386-Bugs' and in sectioning `i386-Notes' differ
../../../gas/doc/c-i386.texi:680: warning: node prev `i386-Arch' in menu `i386-16bit' and in sectioning `i386-Bugs' differ
../../../gas/doc/c-i386.texi:728: warning: node prev `i386-Notes' in menu `i386-Bugs' and in sectioning `i386-Arch' differ
../../../gas/doc/c-mmix.texi:7: warning: node next `MMIX-Dependent' in menu `SH-Dependent' and in sectioning `PDP-11-Dependent' differ
../../../gas/doc/c-pdp11.texi:6: warning: node prev `PDP-11-Dependent' in menu `SH64-Dependent' and in sectioning `MMIX-Dependent' differ
../../../gas/doc/c-ppc.texi:7: warning: node next `PPC-Dependent' in menu `Sparc-Dependent' and in sectioning `SH-Dependent' differ
../../../gas/doc/c-sh.texi:6: warning: node prev `SH-Dependent' in menu `MMIX-Dependent' and in sectioning `PPC-Dependent' differ
../../../gas/doc/c-sh64.texi:5: warning: node next `SH64-Dependent' in menu `PDP-11-Dependent' and in sectioning `Sparc-Dependent' differ
../../../gas/doc/c-sparc.texi:7: warning: node next `Sparc-Dependent' in menu `V850-Dependent' and in sectioning `Z8000-Dependent' differ
../../../gas/doc/c-sparc.texi:7: warning: node prev `Sparc-Dependent' in menu `PPC-Dependent' and in sectioning `SH64-Dependent' differ
../../../gas/doc/c-z8k.texi:6: warning: node prev `Z8000-Dependent' in menu `V850-Dependent' and in sectioning `Sparc-Dependent' differ
../../../gas/doc/c-vax.texi:7: warning: node `V850-Dependent' is next for `Vax-Dependent' in sectioning but not in menu
../../../gas/doc/c-v850.texi:5: warning: node `Z8000-Dependent' is next for `V850-Dependent' in menu but not in sectioning
../../../gas/doc/c-v850.texi:5: warning: node prev `V850-Dependent' in menu `Sparc-Dependent' and in sectioning `Vax-Dependent' differ
Makefile:229: recipe for target 'as.info' failed
make[2]: *** [as.info] Error 1
make[2]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/binutils-2.13.2/objdir/gas/doc'
Makefile:2521: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/binutils-2.13.2/objdir/gas'
Makefile:1345: recipe for target 'install-gas' failed
make: *** [install-gas] Error 2

gas だけでなくサブディレクトリすべての texinfo やら texi やらでどうようのエラーになるので面倒くさいので片っ端から Makefile の該当箇所をコメントアウトしてビルド対象外とした。

bfd/Makefile

#SUBDIRS = doc po
SUBDIRS = po

gas/Makefile

#SUBDIRS = doc po
SUBDIRS = po

ld/Makefile

#install: install-info

再度 make install すれば入る。

gcc and newlib

手順通りやる。make install でエラーになる。

export PATH=$PATH:/usr/local/cross/bin
tar xfj gcc-3.2.1-core.tar.bz2
tar xfz newlib-1.11.0.tar.gz
cd gcc-3.2.1
ln -s ../newlib-1.11.0/newlib .
patch -p1 < ../h8300-hms-gcc-3.1-1.patch
mkdir objdir
cd objdir
$ ../configure  --prefix=/usr/local/cross  --host=i686-pc-cygwin  --target=h8300-hms  --enable-languages=c --with-newlib
make CFLAGS="-O2 -fomit-frame-pointer" all
make install

 :

make[3]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib'
Making all in libc
make[3]: Entering directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib/libc'
Making all in argz
make[4]: Entering directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib/libc/argz'
/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/gcc/xgcc -B/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/gcc/ -nostdinc -B/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib/ -isystem /cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib/targ-include -isystem /cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/newlib/libc/include -B/usr/local/cross/h8300-hms/bin/ -B/usr/local/cross/h8300-hms/lib/ -isystem /usr/local/cross/h8300-hms/include -DPACKAGE=\"newlib\" -DVERSION=\"1.11.0\"  -I. -I../../../../../newlib/libc/argz  -O2 -DSMALL_DTOA -DSMALL_MEMORY -fno-builtin      -O2 -O2 -fomit-frame-pointer -c ../../../../../newlib/libc/argz/dummy.c
make[4]: /cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/gcc/xgcc: コマンドが見つかりませんでした
Makefile:207: recipe for target 'dummy.o' failed
make[4]: *** [dummy.o] Error 127
make[4]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib/libc/argz'
Makefile:452: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib/libc'
Makefile:476: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib'
Makefile:627: recipe for target 'all-recursive-am' failed
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory '/cygdrive/c/home/public/h8-300-hms/gcc-3.2.1/objdir/h8300-hms/newlib'
Makefile:1520: recipe for target 'all-target-newlib' failed
make: *** [all-target-newlib] Error 2

もうやだ。

_ TOPPERS/JSP のサンプルを動作させる (挫折)

NetBSD で h8300-hms クロスコンパイラは入ったので NetBSD で作業してみる。挫けた。

% cd jsp-1.4.4.1-full/sample
% ../configure -C h8 -S akih8_3069f
zsh: ../configure: bad interpreter: /usr/bin/perl: no such file or directory

configure のシェバングを /usr/pkg/bin/perl に変更する。

再度 configure する。

% ../configure -C h8 -S akih8_3069f
Use of "do" to call subroutines is deprecated at ../configure line 71.
Use of "do" to call subroutines is deprecated at ../configure line 84.
Use of "do" to call subroutines is deprecated at ../configure line 95.
Use of "do" to call subroutines is deprecated at ../configure line 163.
Use of "do" to call subroutines is deprecated at ../configure line 169.
Use of "do" to call subroutines is deprecated at ../configure line 176.
Use of "do" to call subroutines is deprecated at ../configure line 182.
Use of "do" to call subroutines is deprecated at ../configure line 224.
Use of "do" to call subroutines is deprecated at ../configure line 253.
Use of "do" to call subroutines is deprecated at ../configure line 254.
Use of "do" to call subroutines is deprecated at ../configure line 255.
Use of "do" to call subroutines is deprecated at ../configure line 256.
Use of "do" to call subroutines is deprecated at ../configure line 257.
Can't locate getopt.pl in @INC (@INC contains: /home/rin/usr/local/lib/perl /usr/pkg/lib/perl5/site_perl/5.18.0/i386-netbsd-thread-multi /usr/pkg/lib/perl5/site_perl/5.18.0 /usr/pkg/lib/perl5/vendor_perl/5.18.0/i386-netbsd-thread-multi /usr/pkg/lib/perl5/vendor_perl/5.18.0 /usr/pkg/lib/perl5/5.18.0/i386-netbsd-thread-multi /usr/pkg/lib/perl5/5.18.0 .) at ../configure line 40.

getopt.pl はレガシーだった。cpan だとどれが該当するんだ....


2014-12-21 :-)

_ 午前

1100 起床

_ 午後

1230 おひる。スパゲティ

1300 アニメ消化

1600 コーヒー

_

1700 読書など

2000 飯

_ おやつ

ルタオのクーローヌ ドゥ ノエル (シャララ☆きらりん)

003

005


2014-12-22 :-(

_ this.age++;

37 歳のおっさんです。

恥の多い生涯を送って来ました。

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 残業アワー

2100 退勤

2200 飯

2300 aspうーん

_ TOPPERS/ASP のサンプルを動作させてみた

参考

TOPPERS/ASP on AKI-H8-3069

環境

  • Microsoft Windows7 64bit
  • VMware Player
  • NetBSD 6.1.5 i386

ようするに Windows 上の VMware Player のゲスト OS が NetBSD である[ 20120629#p07 ]。なお USB 変換ケーブルを接続した箇所を変えたためか、COM は 3 ではなく 5 になっていたので VMware の vmx ファイルを変更しておくべし。

serial0.present = "TRUE"
serial0.fileName = "COM5"

v01.png

コンフィギュレータの構築

手順は doc/user.txt の通りではある。予め /usr/pkgsrc/meta-pkgs/boost をインストールしておくこと。

% cd cfg
% ./configure --with-headers=/usr/pkg/include --with-libraries=/usr/pkg/lib

make すると怒られるのでいろいろ変更。

% gmake

 :

c++  -O2   -I/usr/pkg/include -I../.. -c static_api.cpp
ar rcs libitronx.a cfg1_out.o checker.o component.o factory.o preprocess.o static_api.o
make BOOST_DIR="/usr/pkg/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " -C cfg
make: "/home/rin/work/OS/asp/cfg/cfg/Makefile" line 20: Missing dependency operator
make: "/home/rin/work/OS/asp/cfg/cfg/Makefile" line 22: Need an operator
make: "/home/rin/work/OS/asp/cfg/cfg/Makefile" line 24: Need an operator
make: Fatal errors encountered -- cannot continue
make: stopped in /home/rin/work/OS/asp/cfg/cfg
gmake: *** [cfg] エラー 1

$OSTYPE は定義されている。しかし文法としてエラーになっている。わけわからん

% echo $OSTYPE
netbsdelf

msys じゃないし、コメントアウトして回避。

#ifeq ($(OSTYPE), msys)
#	BOOST_LIBFILES = /mingw/lib/libboost_system-mgw-mt-s.lib /mingw/lib/libboost_filesystem-mgw-mt-s.lib /mingw/lib/libboost_program_options-mgw-mt-s.lib
#else
#	BOOST_LIBFILES := $(BOOST_LIBFILES) -lboost_system$(LIBBOOST_SUFFIX) -lboost_filesystem$(LIBBOOST_SUFFIX) -lboost_program_options$(LIBBOOST_SUFFIX)
#endif

BOOST_LIBFILES := $(BOOST_LIBFILES) -lboost_system$(LIBBOOST_SUFFIX) -lboost_filesystem$(LIBBOOST_SUFFIX) -lboost_program_options$(LIBBOOST_SUFFIX)

ok

% gmake

サンプルプログラムの構築と実行

% cd asp
% mkdir OBJ
% cd OBJ
% perl ../configure -T akih8_3069f_gcc
Use of "do" to call subroutines is deprecated at ../configure line 77.
Use of "do" to call subroutines is deprecated at ../configure line 101.
Use of "do" to call subroutines is deprecated at ../configure line 169.
Use of "do" to call subroutines is deprecated at ../configure line 175.
Use of "do" to call subroutines is deprecated at ../configure line 182.
Use of "do" to call subroutines is deprecated at ../configure line 188.
Use of "do" to call subroutines is deprecated at ../configure line 212.
Use of "do" to call subroutines is deprecated at ../configure line 247.
Use of "do" to call subroutines is deprecated at ../configure line 263.
Use of "do" to call subroutines is deprecated at ../configure line 264.
Use of "do" to call subroutines is deprecated at ../configure line 265.
Use of "do" to call subroutines is deprecated at ../configure line 266.
Use of "do" to call subroutines is deprecated at ../configure line 267.
Can't locate getopt.pl in @INC (@INC contains: /home/rin/usr/local/lib/perl /usr/pkg/lib/perl5/site_perl/5.18.0/i386-netbsd-thread-multi /usr/pkg/lib/perl5/site_perl/5.18.0 /usr/pkg/lib/perl5/vendor_perl/5.18.0/i386-netbsd-thread-multi /usr/pkg/lib/perl5/vendor_perl/5.18.0 /usr/pkg/lib/perl5/5.18.0/i386-netbsd-thread-multi /usr/pkg/lib/perl5/5.18.0 .) at ../configure line 43.

getopt.pl はレガシーなので configure を変更( perl5120delta - perl v5.12.0 での変更点 - perldoc.jp Getopt::Std - perldoc.perl.org )

#require "getopt.pl";
use Getopt::Std;
#do Getopt("TAaULDltmdpg");
getopt("TAaULDltmdpg");

再度。ok

% perl ../configure -T akih8_3069f_gcc

さて、make すると怒られるのでいろいろ変更。

% gmake depend
if ! [ -f Makefile.depend ]; then \
        rm -f kernel_cfg.timestamp kernel_cfg.c kernel_cfg.h ; \
        rm -f cfg1_out.c cfg1_out.o cfg1_out cfg1_out.syms cfg1_out.srec; \
        rm -f makeoffset.s offset.h; \
fi
rm -f Makefile.depend
../cfg/cfg/cfg --pass 1 --kernel asp -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc --api-table ../kernel/kernel_api.csv --cfg1-def-table ../kernel/kernel_def.csv  --cfg1-def-table ../arch/h8300h_gcc/core_def.csv sample1.cfg
Shared object "libboost_system.so.1.57.0" not found
gmake: *** [cfg1_out.c] エラー 1

boost ライブラリの位置を指定することにした。さっき configure 時に指定したのはなんなの....

% LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/pkg/lib; gmake depend
if ! [ -f Makefile.depend ]; then \
        rm -f kernel_cfg.timestamp kernel_cfg.c kernel_cfg.h ; \
        rm -f cfg1_out.c cfg1_out.o cfg1_out cfg1_out.syms cfg1_out.srec; \
        rm -f makeoffset.s offset.h; \
fi
rm -f Makefile.depend
../cfg/cfg/cfg --pass 1 --kernel asp -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc --api-table ../kernel/kernel_api.csv --cfg1-def-table ../kernel/kernel_def.csv  --cfg1-def-table ../arch/h8300h_gcc/core_def.csv sample1.cfg
h8300-hms-gcc -c  -D__H8_3069F__ -mh -mint32 -mrelax  -g -Wall -O2  -DTNCT_MONITOR -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc   -DALLFUNC  -I../kernel cfg1_out.c
h8300-hms-gcc -c  -D__H8_3069F__ -mh -mint32 -mrelax  -g -Wall -O2  -DTNCT_MONITOR -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc -DALLFUNC  -I../kernel ../arch/h8300h_gcc/start.S
h8300-hms-gcc  -D__H8_3069F__ -mh -mint32 -mrelax  -g -Wall -O2  -DTNCT_MONITOR -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc -nostdlib  -T ../target/akih8_3069f_gcc/debug.ld  -o cfg1_out \
                                         cfg1_out.o
h8300-hms-nm -C cfg1_out > cfg1_out.syms
h8300-hms-objcopy -O srec -S cfg1_out cfg1_out.srec
../cfg/cfg/cfg --pass 2 --kernel asp -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc \
                        -T ../target/akih8_3069f_gcc/target.tf --api-table ../kernel/kernel_api.csv --cfg1-def-table ../kernel/kernel_def.csv  --cfg1-def-table ../arch/h8300h_gcc/core_def.csv sample1.cfg
touch kernel_cfg.timestamp
../cfg/cfg/cfg --pass 3 --kernel asp -I. -I../include -I../arch -I..  -I../target/akih8_3069f_gcc \
                        --rom-image cfg1_out.srec --symbol-table cfg1_out.syms \
                        -T ../arch/h8300h_gcc/core_offset.tf --api-table ../kernel/kernel_api.csv --cfg1-def-table ../kernel/kernel_def.csv  --cfg1-def-table ../arch/h8300h_gcc/core_def.csv sample1.cfg
check complete
Generating Makefile.depend.
sh: ../utils/makedep: not found
gmake: *** [cfg1_out.d] エラー 127

次のエラー。

utils/makedep のシェバングを変更

#! /usr/pkg/bin/perl

あと getopt.pl を使ってる箇所があるので変更

#require "getopt.pl";
use Getopt::Std;
#do Getopt("TAaULDltmdpg");
getopt("TAaULDltmdpg");

再度 make depend 。ok

% LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/pkg/lib; gmake depend

そして make depend

% LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/pkg/lib; gmake

生成されるのは asp というファイルである。

#
#  オブジェクトファイル名の定義
#
OBJNAME = asp
ifdef OBJEXT
  OBJFILE = $(OBJNAME).$(OBJEXT)
  CFG1_OUT = cfg1_out.$(OBJEXT)
else
  OBJFILE = $(OBJNAME)
  CFG1_OUT = cfg1_out
endif

はずなんだが。。。

asp.srec らしい。ふむ

% file asp.srec
asp.srec: Motorola S-Record; binary data in text format

簡易モニタを書き込む

失敗した。

mogu# kz_h8write -3069 -f20 mon3069.mot /dev/tty00
=================================================
 H8/3069F Flash Writer for KOZOS (Version 0.2.1)
 Copyright(C) 2011-2012 Shinichiro Nakamura
=================================================
Bitrate sequence failed. (code=0x04)

うーん?

試しに kz_h8write (H8/3069F writer for KOZOS (kz_h8write)) 付属の example を焼いてみる。成功した。うーん?

% cd kz_h8write-v0.2.1/PackageFiles/example
% sudo kz_h8write -3069 -f20 kzload.mot /dev/tty00
=================================================
 H8/3069F Flash Writer for KOZOS (Version 0.2.1)
 Copyright(C) 2011-2012 Shinichiro Nakamura
=================================================
Bitrate sequence: Done.
Inquiry device: Done.
Select device: Done.
Inquiry clock mode: Done.
Select clock mode: Done.
Select bitrate: Done.
Waiting for erase done:...
Programming:......................
Program: Done.
Complete.

じゃあさっきエラーになった箇所を追ってみる。メッセージからするとこの関数で失敗している。

kz_h8write.c

    /*
     * ビットレート合わせ込みのシーケンスを実行する。
     *
     * ビットレート合わせ込みシーケンスに初回時失敗する事がある。
     * マイコンの電源投入時やシリアルケーブル接続時に
     * プロセッサのUARTポートに意図しない信号が入る事が考えられる。
     *
     * そこで、本プログラムでは数回の試行を行うことにした。
     * これはユーザがかけている手間をプログラムが代行する事を意味する。
     */
    for (int i = 0; i < 2; i++) {
        ec = bitrate_sequence(serial);
        if (ec == NoError) {
            break;
        } else {
            /*
             * デバッグ用出力。
             *
             * ビットレートシーケンスは初回に失敗する可能性がある。
             * これに対してエラーを表示してしまうとユーザが混乱する。
             * よってデバッグ用出力としての位置づけにしておく。
             * リトライした結果として成功した事を知りたい時にのみ
             * 表示を有効にすると良い。
             */
            if (USER_OPTION_DEBUG(&user_option)) {
                fprintf(stderr, "Bitrate sequence failed.\n");
            }
        }
    }
    if (ec != NoError) {
        fprintf(stderr, "Bitrate sequence failed. (code=0x%02x)\n", (int)ec);
        PROGEXIT(1);
    }

bitrate_sequence() はこれ。しかし何が返ってるのか分からん。

/**
 * @brief ビットレート合わせ込みのシーケンスを実行する。
 *
 * @details
 * ビットレートの合わせ込みは以下のシーケンスで行う。
 * 1. 0x00を最大30回送信する。
 * 2. 合わせ込みが完了すると0x00が返る。
 * 3. この時点で0x55を送信する。
 * 4. レスポンスコードが返る。
 *    成功:0xE6
 *    失敗:0xFF
 *
 * @param serial シリアルハンドラ。
 *
 * @return エラーコード。
 */
enum ErrorCode bitrate_sequence(SERIAL *serial)
{
    unsigned char sc, rc;
    int i;
    for (i = 0; i < 30; i++) {
        /*
         * ビットレート計測用マーカを送信する。
         */
        sc = 0x00;
        if (serial_write(serial, &sc, 1) != 0) {
            return SerialWriteError;
        }
        /*
         * 何かを受信したらコードを確認する。
         * コードが正しければ応答を行い、そのレスポンスを検証する。
         */
        if (serial_read_with_timeout(serial, &rc, 1, SERIAL_TIMEOUT_MS) == 0) {
            if (rc != 0x00) {
                /*
                 * 最初の応答は0x00のはず。
                 */
                return InvalidPrimaryResponseCode;
            }
            sc = 0x55;
            if (serial_write(serial, &sc, 1) != 0) {
                return SerialWriteError;
            }
            if (serial_read_with_timeout(serial, &rc, 1, SERIAL_TIMEOUT_MS) != 0) {
                /*
                 * 0x55に対する応答があるはず。
                 */
                return NoSecondaryResponseCode;
            }
            if (rc == 0xe6) {
                return NoError;
            } else {
                /*
                 * 2回目の応答は0xe6のはず。
                 */
                return InvalidSecondaryResponseCode;
            }
        }
    }
    /*
     * レスポンスが全くない。
     */
    return NoPrimaryResponseCode;
}

SerialWriteError 等を grep してみるとこの enum に到達。NoPrimaryResponseCode を返していた。うーん? 電源は入ってるしなあ...

/**
 * @brief エラーコード。
 */
enum ErrorCode {
    NoError = 0,
    SerialOpenError,
    SerialWriteError,
    InvalidPrimaryResponseCode,
    NoPrimaryResponseCode,           <==== これ
    InvalidSecondaryResponseCode,
    NoSecondaryResponseCode,
    UnsupportedDevice,
    UnmatchedDeviceCode,
    UnsupportedClockMode,
    UnmatchedClockMode,
    InvalidBitrate,
    WriteEraseFail,
};

もう一回やってみる。成功した。えー

% cd h8mon/mon3069
% sudo kz_h8write -3069 -f20 mon3069.mot  /dev/tty00
=================================================
 H8/3069F Flash Writer for KOZOS (Version 0.2.1)
 Copyright(C) 2011-2012 Shinichiro Nakamura
=================================================
Bitrate sequence: Done.
Inquiry device: Done.
Select device: Done.
Inquiry clock mode: Done.
Select clock mode: Done.
Select bitrate: Done.
Waiting for erase done:....
Programming:................................................................
Program: Done.
Complete.

サンプルプログラムを書き込む

ビルドしたサンプルのディレクトリへ移動。

% cd asp/OBJ

接続。

% sudo cu -s 38400 -l /dev/tty00
Connected

基板のリセットを押す。ok

1:H8/3069F Monitor v1.12 Copyright (C) 1999-2004 CSE Tomakomai NCT

ロードさせる

1:ld
~>Local file name?asp.srec

go する。何か起動した

1:go

TOPPERS/ASP Kernel Release 1.7.0 for AKI-H8/3069F (Dec 21 2014, 19:47:12)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2011 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2001-2010 by Industrial Technology Institute,
                            Miyagi Prefectural Government, JAPAN
Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
                 Tomakomai National College of Technology, JAPAN
Copyright (C) 2008 by GELJET Designing Center RICOH COMPANY,LTD.

System logging task is started on port 1.
Sample program starts (exinf = 0).
task1 is running (001).   |
task1 is running (002).   |
task1 is running (003).   |
task1 is running (004).   |
task1 is running (005).   |
task1 is running (006).   |
task1 is running (007).   |
task1 is running (008).   |
task1 is running (009).   |
task1 is running (010).   |
task1 is running (011).   |
task1 is running (012).   |
task1 is running (013).   |
task1 is running (014).   |
task1 is running (015).   |
task1 is running (016).   |
task1 is running (017).   |
-- buffered messages --             Ctrl-C 叩いた
Sample program ends.
本日のツッコミ(全2件) [ツッコミを入れる]

_ けなく [おめでとうございますm(_ _)m]

_ みわ [かたじけない (´・ω・)]


2014-12-23 :-)

_ 午前

1100 起床

_ 午後

1230 おひる

1300 読書

1500 ぐったり

_

1700 ぐったり

2000 飯

_ 疲れたのでひたすら寝ていた

疲れたときは何も考えずに寝るほうがいい。


2014-12-24 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1800 探しもの

2000 筋トレ

2100 飯


2014-12-25 :-(

_ 午前

0530 起床

0700 食堂

0830 労働

_ 午後

1300 労働

_

1700 退勤

1900 TOPPERS/ASP H8/3069F

2100 飯

_ ,

amazon ほしい物リストを晒したところで誰からも贈りつけられることもないのでもう二度とほしい物リストを晒さないと誓う吉宗であった。

_ cygwin の Apache で FreeStyleWiki を使う

環境

Microsoft Windows7 64bit cygwin 最新の

cygwin

パッケージを適当にインストール

  • Admin
  • Base
  • Devel
  • Web - Apache2

Apache

$ cygserver-config
$ net start cygserver
CYGWIN cygserver サービスを開始します.
CYGWIN cygserver サービスは正常に開始されました。

サービスとして登録する場合

$ cygrunsrv -I httpd -d "CYGWIN httpd" -p /usr/sbin/httpd2 -a -DFOREGROUND -e "CYGWIN=server"
$ net start httpd
CYGWIN httpd サービスを開始します.
CYGWIN httpd サービスは正常に開始されました。

FreeStyleWiki

ここにあるとする

C:\cygwinn\etc\apache2\httpd.conf

User Guest
Group Guests
ServerAdmin hoge@example.jp
DocumentRoot "/srv/www/htdocs"
<Directory "/srv/www/htdocs">
    Options Indexes FollowSymLinks
    Options +ExecCGI
    AddHandler cgi-script .cgi
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html wiki.cgi
</IfModule>
$ cd /srv/www/htdocs/
$ sh setup.sh
# fswiki setup (for 3.5.8)...
prepare...
  FSWIKI_HOME=.
  check ./wiki.cgi...
    ok
do...
  check ./backup...
  check ./attach...
  check ./pdf...
  check ./log...
  check ./data...
  check ./config...
  check ./.htaccess...
    create.
done
$ /usr/sbin/apachectl2 stop
$ /usr/sbin/apachectl2 start

よくあるエラー

[error] (28)No space left on device: Cannot create SSLMutex
$ ipcs -s
Semaphores:
T     ID               KEY        MODE       OWNER    GROUP
s  65536                    0 --rw-------   Guest  Guests
s 131073                    0 --rw-------   Guest  Guests
s 131074                    0 --rw-------   Guest  Guests
s  65539                    0 --rw-------   Guest  Guests
s  65540                    0 --rw-------   Guest  Guests
s 131077                    0 --rw-------   SYSTEM Administrators
s 131078                    0 --rw-------   SYSTEM Administrators
s  65543                    0 --rw-------   SYSTEM Administrators
s  65544                    0 --rw-------   SYSTEM Administrators
s 131081                    0 --rw-------   SYSTEM Administrators
ipcs -s | perl -e 'while(<>){@a=split(/\s+/); print `ipcrm -s $a[1]`}'

参考

本日のツッコミ(全3件) [ツッコミを入れる]

_ けなく [最近欲しいものリストから送りつけることを覚えたので…ウィッシュリストのお気に入りみたいなことできたらいいのになー]

_ みわ [贈りつけるひとのほしい物リストを記録しておくということ? あたしはremember the milkに何人か誕生日と..]

_ けなく [それいいですね]


2014-12-26 :-)

_ 午前

0800 起床 && 通院のため休み && 昨日が仕事最期であった

0930 通院

1100 読書

_ 午後

1200 おひる。カップラーメン

1300 散髪

1500 読書

_

1800 筋トレ

1900 H8/3069F

2030 飯

_ 通院

順調なのでこのまま過ごしましょう、あと 2 週間ほど様子を見ましょう、とのこと。まだ松葉杖はずせず


2014-12-27 :-)

_ 午前

0900 起床

1000 探しものはなんですか

_ 午後

1200 おひる。カップラーメン || セブンイレブン印のカップラーメンを食べてみたらかなり腹いっぱいになった件 || なんかよくないものが入ってるんじゃ

1300 読書

1500 年賀状を書くなど && せいぜい 10 枚くらいしか書かないのでいまだにプリンタを使うなどといった量産ラインはできていない && と言い始めて 10 年以上経過

_

1700 viがどうのこうの

2000 飯

2100 読書

_ Firefox のタブグループマネージャーを使い始めた

まだ洗練してないのでひとまず作業のタブグループと息抜きのタブグループにしてみた。

_ 誕生日リスト

  • タスク: お世話になってるソフトウェアの開発者
  • 期日: そのひとの誕生日(ブログ等に書いている)
  • URL: そのひとの amazon ほしい物リスト
  • 繰り返し: 1年ごと

計算機を使って生活していれば数えきれないくらいのソフトウェア( そのウェブブラウザは誰が書いてる? そのテキストエディタは誰が書いてる? その OS は誰が書いてる? そのライブラリは誰が書いてる? その Twitter クライアントは誰が書いてる? )にお世話になってるのでこんなものじゃないんだけど、ひとまずこれくらい


2014-12-28 :-)

_ 午前

1030 起床

_ 午後

1230 おひる。うどん

1300 読書

_

1700 筋トレ

1900 ぐったり

2000 飯

_ コミックマーケット87 1日目

行かない。膝に矢を受けてしまってな。

店舗委託してくれるサークルはメロンブックスなり とらのあな なりで予約しておいた。

_ 今日は日曜日だったか

コミケ 1 日目はいつも金曜日なので調子が狂う。

_ 応答せよ、おうちサーバー

コンソールも反応しないので再起動させた。原因調査できるくらいのスキルを身につけないと。

  • コンソール反応せず
  • ログインできず
  • 再起動後にログを見ると 12/27 21 時ころの tinydns のログが最期
  • top をしばらく眺めてると定常的に ruby と python が高負荷になっている
  • ruby の実行者は www なので tdiary が攻撃でも食らってるぽい。んだが、それほどの負荷なのか確証が持てん
  • python の実行者はたぶん denyhosts 。つまり定期的に ssh 攻撃を食らってるぽい。んだが、それほどの負荷なのか確証が持てん

隣人(謎) のサーバーの負荷を眺めるとそんなに CPU 食ってないので、うちのがなんかアレなのか。なんだろう。アクセスされるのはどうしようもないんだけど、うーん。


2014-12-29 :-)

_ 午前

0800 起床

0900 読書など

1020 おひる。スパゲティ 明太子パスタ たらこじゃなくて明太子が余っていたので使った。

1040 コーヒー

_ 午後

1300 読書など

_

1700 読書など

2100 飯

_ iPod Shuffle (第二世代) が iTunes に認識されなくなった

Microsoft Windows7 64bit

よく見たら Windows7 は対象に入ってないじゃんよ iPod shuffle (第 2 世代) - 技術仕様

まあ 8 年前の代物だしなあ[ 20061103#p05 ]

システム条件(Windows)

    USB2.0ポートを装備したWindows PC
    Windows Vista、Windows XP HomeまたはProfessional (Service Pack 2以降)
    iTunes 7.4以降 (3)

_ 買い物

amazon

大和の麗しさに惹かれた。

Amazon.co.jp: 艦これジャーナル 艦娘たちのお正月: 「艦これ」運営鎮守府: 本

amazon API が timeout する


2014-12-30 :-)

_ 午前

0800 起床

0900 /sbin/initとか

_ 午後

1200 おひる。そば

1300 /sbin/initとか

_

1700 /sbin/initとか

1900 筋トレ && 岩合光昭の世界ネコ歩き - NHK の再放送を見ながら

2000 飯

2100 親戚へ

_ tdiary が重い

たぶんうちだけなんだけど

日記を更新して「追記」をクリックしたあとにエラーになることがある。記録してない。その後「最新」を表示すると更新した内容が表示される。

とりあえずプロファイリングしただけ。

日記の表示

% echo date=20141229 | sudo -u www ruby -r profile ./index.rb >hoge.txt 2>&1
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 29.06     6.62      6.62   114122     0.06     0.15  CGI.unescape
 11.28     9.19      2.57    21039     0.12     0.41  String#gsub
  8.52    11.13      1.94    10015     0.19     0.85  TDiary::RefererManager#add_referer
  5.36    12.35      1.22    10015     0.12     1.56  #<Class:0xba35766c>::RefererDiary#add_referer
  4.78    13.44      1.09    10018     0.11     3.42  #<TDiary::Plugin:0xba36f640>.referer_add_to_diary
  3.34    14.20      0.76    94179     0.01     0.01  String#delete
  3.12    14.91      0.71    94096     0.01     0.01  Array#pack
  1.76    15.31      0.40       13    30.77    60.77  Hash#each
  1.71    15.70      0.39     2325     0.17     0.76  Gem::Specification#initialize
  1.54    16.05      0.35      439     0.80    31.73  Kernel#require
  1.49    16.39      0.34     1798     0.19    33.95  Array#each
  1.40    16.71      0.32    20227     0.02     0.02  String#sub
  1.23    16.99      0.28    52538     0.01     0.01  Hash#[]
  1.19    17.26      0.27      121     2.23    68.68  Kernel#gem_original_require
  1.14    17.52      0.26    23585     0.01     0.02  Hash#[]=
  1.10    17.77      0.25    41581     0.01     0.01  String#force_encoding
  0.92    17.98      0.21    20032     0.01     0.01  String#tr
  0.92    18.19      0.21     5363     0.04     0.08  nil#
  0.88    18.39      0.20     4545     0.04     0.13  Array#hash

CGI.unescape はここ。wiki 書式使ってはいる。ふうむ

% cd tdiary-core
% grep -r CGI.unescape *
lib/tdiary/style/wiki.rb:                                       "<%=#{CGI.unescapeHTML($1)}\n%>"
lib/tdiary/style/wiki.rb:                                       "<p><%=#{CGI.unescapeHTML($1)}\n%></p>"

日記の追記

lib/tdiary/admin.rb に仕込んでみる。

#
# class TDiaryAppend
#  append diary
#
require 'profiler'
class TDiaryAppend < TDiaryUpdate
        def initialize( cgi, rhtml, conf )
                Profiler__::start_profile
                begin
                        super
                rescue TDiaryError
                        @date = newdate
                end

                @author = @conf.multi_user ? @cgi.remote_user : nil


                @io.transaction( @date ) do |diaries|
                        @diaries = diaries
                        @diary = self[@date] || @io.diary_factory( @date, @title, '', @conf.style )
                        self << @diary.append( @body, @author )
                        @diary.set_title( @title ) unless @title.empty?
                        @diary.show( ! @hide )
                        DIRTY_DIARY
                end

                File.open("hoge.txt", "w") {|f|
                        Profiler__::print_profile(f)
                }
                Profiler__::stop_profile
        end
protected

        def newdate
                Time::now + (@conf.hour_offset * 3600).to_i
        end
end

結果。うーん?

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 40.00     0.22      0.22        1   220.00   380.00  Marshal.dump
 29.09     0.38      0.16    12602     0.01     0.01  Kernel#respond_to_missing?
  5.45     0.41      0.03        2    15.00    25.00  Marshal.load
  3.64     0.43      0.02      140     0.14     0.14  Time._load
  3.64     0.45      0.02      241     0.08     0.08  IO#puts
  1.82     0.46      0.01       62     0.16     0.16  HikiDoc::LineInput#gets
  1.82     0.47      0.01        6     1.67     3.33  HikiDoc#compile_header
  1.82     0.48      0.01       13     0.77     0.77  HikiDoc#rstrip
  1.82     0.49      0.01       61     0.16     1.31  TDiary::IO::Default#store
  1.82     0.50      0.01        9     1.11     1.11  HikiDoc::HTMLOutput#initialize
  1.82     0.51      0.01        3     3.33     3.33  SystemCallError#initialize
  1.82     0.52      0.01        2     5.00     5.00  Dir.glob
  1.82     0.53      0.01        1    10.00    10.00  Hash#each
  1.82     0.54      0.01       61     0.16     0.98  Array#each
  1.82     0.55      0.01        6     1.67   146.67  PStore#transaction
  1.82     0.56      0.01        2     5.00    25.00  PStore#load_data
  0.00     0.56      0.00        1     0.00     0.00  TDiary::Style::BaseDiary#set_title
  0.00     0.56      0.00       62     0.00     0.00  String#sub
  0.00     0.56      0.00        6     0.00     0.00  IO#set_encoding
  0.00     0.56      0.00        5     0.00     0.00  Class#inherited
  0.00     0.56      0.00       47     0.00     0.00  Module#method_added
  0.00     0.56      0.00        3     0.00     0.00  Module#attr_reader
  0.00     0.56      0.00        2     0.00     0.00  Module#private
  0.00     0.56      0.00        4     0.00     0.00  Kernel#require
  0.00     0.56      0.00        1     0.00     0.00  TracePoint#enable
  0.00     0.56      0.00        4     0.00     0.00  Array#flatten
  0.00     0.56      0.00        1     0.00     0.00  Module#constants
  0.00     0.56      0.00        8     0.00     0.00  Symbol#slice
  0.00     0.56      0.00       26     0.00     0.00  Regexp#=~
  0.00     0.56      0.00        5     0.00     0.00  Kernel#!~
  0.00     0.56      0.00        5     0.00     0.00  Module#const_get
  0.00     0.56      0.00        8     0.00     0.00  Module#append_features
  0.00     0.56      0.00        8     0.00     0.00  Module#included
  0.00     0.56      0.00        8     0.00     0.00  Module#include
  0.00     0.56      0.00        3     0.00     0.00  Module#const_defined?
  0.00     0.56      0.00       10     0.00     0.00  String#downcase
  0.00     0.56      0.00        7     0.00     0.00  Hash#[]=
  0.00     0.56      0.00        1     0.00    10.00  TDiary::IO::Base#initialize
  0.00     0.56      0.00       67     0.00     0.90  Class#new
  0.00     0.56      0.00        1     0.00    10.00  TDiary::TDiaryBase#initialize
  0.00     0.56      0.00        5     0.00     0.00  Fixnum#&
  0.00     0.56      0.00        1     0.00     0.00  CGI::QueryExtension#referer
  0.00     0.56      0.00        2     0.00     0.00  TDiary::ViewHelper#base_url
  0.00     0.56      0.00        4     0.00     0.00  String#===
  0.00     0.56      0.00      190     0.00     0.00  Regexp#===
  0.00     0.56      0.00        4     0.00     0.00  MatchData#[]
  0.00     0.56      0.00        4     0.00     0.00  URI::Parser#split
  0.00     0.56      0.00        6     0.00     0.00  URI.scheme_list
  0.00     0.56      0.00        6     0.00     0.00  String#upcase

参考


2014-12-31 :-)

_ 午前

0900 起床

1000 読書など

_ 午後

1200 おひる。スパゲティ

1300 dumpがどうのこうの

1500 コーヒー

002

_

1700 猫歩きを見るなど

1900 飯。年越しそば

2000 おやつ。レピドールのアレ

004

005

007