昔の最近の出来事(2019.05)

2019/05/31

遅めに帰着。

GTSのアップデートが来ていた模様。今回はスタンバイ中の アップデートができていた為すぐに遊べたり。 GTリーグもゴールドで埋めたと思ったら次のアップデートが来る感じ なので、まだしばらく遊べそうです。

2019/05/30

遅めに帰着。

あまりの眠さに急速停止。

2019/05/29

早くも無く遅くも無く。

GTS。ボチボチ。

あまりの眠さに急速停止。

2019/05/28

早くも無く遅くも無く。

そういや近所のセブンイレブンで何店舗かシェアサイクルのサービスを 始めた?(実証実験?)ようなのですが誰が使うんだ?と思ったりも。 と言うのも、駅に近い訳でも、自転車移動圏内に観光地がある訳でも 無いので、ここ(の店舗)をスタートにして使う人が居るとは思えない というのが一地域住民の個人的な感想。 1時間あたり240円くらい価格設定のようですが、利用者が 実際に利用する時間帯は朝から夜までのせいぜい12時間くらい、 フル稼働しても1台あたり一日 240×12=2880円の稼ぎ。 観光地でもない場所でフル稼働するとは到底思えないし、 一方通行(出てくばかりで戻って来ない)で回収を別途行わ なくてはならないとになると割に合うとは思えません。 シェアサイクルは中国で流行ってたようにも思うのですが、維持費が結構かかるので (乗り捨てOKだと回収に手間がかかる、壊されるのをメンテするのも 大変、など)ビジネスとしては成立しないというのが答えだったようにも。

2019/05/27

遅めに帰着。

GTS。ボチボチ。

2019/05/26

AM中に起床。

掃除したり洗濯したり。

ちょろり本屋に。

GTS。車を変えて耐久リーグ。昨日は1位との差がサッパリ縮まる気がしなかった のですが、今度は2位との差を1分以上空けてゴールド取得。 なんかバランスが極端過ぎる気も。

2019/05/25

AM中に起床。

Emacsのflymakeがうまく動かない場合があったので調べてみたところ 次のような原因でした。flymakeで使用するmakeのコマンドラインに 追加の引数を入れたくて flymake-proc-get-make-cmdline という 関数を.emacs内で変更しています。

(setq flymake-add-make-cmdline "BINPATH=/usr/local/gdc_2072_710_mingwcross/bin/x86_64-w64-mingw32-")

(defun flymake-proc-get-make-cmdline (source base-dir) ;for emacs-26.1
  (list "make"
        (list "-s"
              "-C"
              base-dir
              (concat "CHK_SOURCES=" source)
              "SYNTAX_CHECK_MODE=1"
              flymake-add-make-cmdline
              "check-syntax")))

テストの為に追加の引数無しにしたかったので、 スクラッチバッファで 「(setq flymake-add-make-cmdline "")」(+Ctrl-j)てな感じで 一時的に長さ0の文字列を設定したら動かなくなったという感じです。 原因は make が長さ0の文字列の引数をエラーとしているからでした。

$ make '' hello
make: *** 空の文字列はファイル名としては無効です.  中止.

ただ、flymake-proc-get-make-cmdlineの方を元に戻すのは面倒臭い ので、「(setq flymake-add-make-cmdline "___DUMMY_ARG=")」 てな感じで絶対に使っていないつもりの変数を定義するような 引数を加える感じにしてみたらうまく動きました。 判ってみるとなーんだって感じなのですが、「*Flymake log*」 ってバッファにはmakeでエラーした時のメッセージが含まれて いなかった為すぐに原因が判りませんでした。
そういや以前、 magitでファイル一覧が出なくなったのですが、原因は gitコマンドが長さ0の文字列引数をエラーとするように 振る舞いが変わったから?(推測)でした。lsなんかもエラーするようなので、 そういうもんだっけ?とは思ったりも。

$ ls ''
ls: '' にアクセスできません: No such file or directory

GTS。耐久リーグをやってみてるのですが、1位との差が40秒のまま 全く縮まないとかどうなってんの?って感じ。

トヨタのCM。そういや現時点で自動運転でニュルブルクリンク(北コース)って 完走できるレベルにあるのかしら?と思ったり。Webで検索してみるも、 自動運転車でコースを走行した話は見当たらず。

2019/05/24

早めに帰着。

ちょろりGTS。GTリーグの耐久リーグをやったり。ひとまず 1個は取れたものの、時間当たりの取得CR率はあまり良くないな。

あまりの眠さに急速停止。

2019/05/23

遅めに帰着。

ちょろり調べ事。

2019/05/22

早くも無く遅くも無く。

あまりの眠さに急速停止。

2019/05/21

早くも無く遅くも無く。

SAI2の更新版が来ていたり。お疲れ様です。

ちょろりGTS。そういやマイレージがあまり貯まらなくなってる気がしたり?

2019/05/20

早くも無く遅くも無く。

あまりの眠さに急速停止。

2019/05/19

AM中に起床。

掃除したり洗濯したり。

そういえば、C言語でdefineを多重に行った場合の振る舞いについて。 以下のような感じになるようです。

$ cat -n dual_define.c
     1  #include <stdio.h>
     2
     3  #define TEST1  1
     4  #define TEST1  1
     5  #define TEST2  2
     6  #define TEST2  3
     7
     8  int main()
     9  {
    10    printf("TEST1=%d, TEST2=%d\n",TEST1,TEST2) ;
    11    return 0 ;
    12  }

$ gcc -Wall dual_define.c
dual_define.c:6:0: 警告: "TEST2" が再定義されました
 #define TEST2  3

dual_define.c:5:0: 備考: ここが以前の宣言がある位置です
 #define TEST2  2

3行目と4行目は二重に定義はしているものの、内容も同じなので Uniqfyされるようです。ほぅ....。異なるヘッダファイルに たまたま同じdefine名で同じ値だった場合はエラーにならないの ですが、値を変える場合に一つのヘッダファイルだけを直してまうと、 エラーになるという感じかも。ただ、異なるヘッダ ファイルをそれぞれ違う関数で参照しててる場合とか、 コンパイルは通るのに動きが意図しない感じになって原因が すぐに判らないとかなりそう。

---file1.c---
#define ERROR_END   1

 :
int func()
{
   :
  if( .... ){
    return ERROR_END  ;
  }
   :
}

---file2.c---
#define ERROR_END  -1

 :
int xxx()
{
   :
  if( func()==ERROR_END ){
    printf("ERROR\n") ;
       :
  }
   :
}

SAI2の更新版が来ていたり。お疲れ様です。バグ修正がメインの模様。
先日のツールの件。まだ色々勘違いをしてた模様。


パラメータを調節したり。ひとまず乗り換えられたかな?

2019/05/18

昼過ぎ起床。寝すぎ。

そういや今年に入って、 「センコロール(Cencoroll)」が 放送されていました。 この時は何故放送されていたのか判らなかったのですが、 Web巡回していて 「センコロール コネクト(CENCOROLL CONNECT)」 という、前作1と新作となる2を合わせた映画が公開されるのを 知ったり。因みに TV放送されたのは10周年記念という理由だったらしい。 センコロールのWikipediaも、 センコロール2のWkikipediaも、 本日5/18付けではセンコロール2は「2014年夏公開予定が公開延期が発表されている」 という記述のままになってます。 まさかとは思いますが、2も宇木氏がまた一人で作ったとか だったりするのだろうか?だとすると、それはいよいよどうかしてるかも(褒め)。

SAI2の新しいのが来てたり。お疲れ様です。 今回のバージョンから散布が独立したツールになったのと、効果ペンという ツールが追加されました。この為か、前版を起動しても鉛筆ツールとかでの 散布は機能しなくなっているようです。ひとまず前版の散布データを今版に移植。 カラー対応されてるのでパラメータが増えてますが特に問題は無し。
個人的にハマったのは、前版で鉛筆とは別にする為に、ツールの名前を 「散布」に変えてしまっていたのですが、今回追加されたツールが 同名の「散布」だったので、鉛筆ツールのパラメータを弄ってたという事を すっかり失念していました。この為、「散布が機能しないぞ?」と勘違い してるのにすぐに気づけませんでした(^^;

2019/05/17

遅めに帰着。

C言語のdefineマクロで「\」を使った複数行継続が必要なものを 書いたのですが、訳あってコメントアウトする事にしました。 所が、何故かワーニングメッセージが出力されたり。

$ cat -n clang_comment.c
     1  #include <stdio.h>
     2
     3  //#define writef(...)  printf( \
     4  //                       __VA_ARGS__);
     5
     6  int main()
     7  {
     8    printf("test1") ; // \
     9    printf("test2") ;
    10    return 0 ;
    11  }

$ gcc -Wall clang_comment.c
clang_comment.c:3:1: 警告: 複数行のコメント [-Wcomment]
 //#define writef(...)  printf( \
 ^
clang_comment.c: 関数 ‘main’ 内:
clang_comment.c:8:21: 警告: 複数行のコメント [-Wcomment]
   printf("test1") ; // \
                     ^

$ ./a.exe
test1

3行目では なんで? と思ったのですが、8行目のようなのでも継続 される事を知ったり。結果、9行目は実行されないコードになります。

Emacsのc-modeでは9行目がコメントアウトされた表示になるので 「なんでだ?」という感じになるかも知れません。最初に気づいたのが 3,4行目のようなコメントアウトの仕方だったので、コンパイル して初めて気づいたという感じ。知りませんでした。

以前、NetWorxという ソフトが原因でREGZAのDLNAサーバーだけが動画再生中に 途中で切れるという現象に遭遇していました。 NetWorxの使用を止めたのですが、その後もLAN接続自体が 微妙な状態になっていました。具体的には、 タスクマネージャーのパフォーマンスタブで 表示していると、時々項目自体が無くなっては復活すると いう現象になっていました。で、NetWorxが原因と判る前に、 デバイスマネージャのネットワークアダプタの設定を弄って いたのを思い出し、初期値と思われる設定値に直してみたり。 しばらく様子を見ていたのですが、項目自体が無くなる現象が 治まりました。何かしらの理由によりドライバ自体が再起動 をしていたものと思われます。再起動の際にタスクマネージャー の項目が一時的に消え、また組み込まれるという動きになって いたのだろうと考えられます。

GTS。ボチボチ。

2019/05/16

早くも無く遅くも無く。

「火吹山の魔法使い」のゲーム (参考)。 ほぅ....。オリジナルのゲームブックは読んだ記憶がありますが、 内容はほとんど覚えていないです(^^; でも、画像検索 してみると挿絵画像がいくつかひっかかるのですが、 どれも見覚えがある感じです。 「ファイティング・ファンタジー」 (参考Wikipedia) のシリーズで、最初の10作くらいは読んでたと思いますが、 その後、30作以上出ているとは思いませんでした。 因みに、33作目の「天空要塞アーロック」を検索してみると スゴイ値段で古書取引されているみたいです(^^;
以前、ゲームブックの グレイルクエストシリーズの挿絵を描いたフーゴ・ハル氏が 実は日本人で、絵は趣味の範疇だったのが成り行きで挿絵担当したというのを 30年近く経って知ったのですが、 ファイティング・ファンタジーの挿絵も日本語版と違ってたりするのかしら? と思い調べてみたり。 www.fightingfantasy.com というサイトで今でも本を売っているのを知ったのですが、 このサイトの中で使われているイラストを見る感じ、日本語版 の挿絵と同じものみたいです。

2019/05/15

遅めに帰着。

ちょろりGTS。CR稼ぎ。

2019/05/14

早くも無く遅くも無く。

あまりの眠さに急速停止。

2019/05/13

遅めに帰着。

ちょろりGTS。やっとGTリーグのプロリーグまでをゴールドで 埋められたり。CRが足りなさ過ぎて車が入手できなかったのが 一番の要因でしたが(^^;

「R-TYPE FINAL2」。開発はクラウドファンディングを実施予定 という事で、これから作り始める感じなのかな?という気がしなくも ありませんが、作る方向で話は進んでいるっぽそう。 PS homeでラウンジができた時とか、 シューティングゲームのR-TYPEを作ってくれないかなぁ? と書いた事があったのですが (その1, その2)、 その後アイレムから独立してグランゼーラが設立された辺りで、 もう流石に無いかなと思ってました。ところでR-TYPEの版権は グランゼーラが持っている のかしら?

2019/05/12

AM中に起床。

掃除したり洗濯したり。

オリンピックの抽選予約サイトに行列の話。 受付処理のスループットが足りなさすぎるのでは?とは 思ったり。色々手順があるらしいのですが、どこかミスってると 最初に戻る(行列的には並び直し)というものみたい。 最後に制限時間付きの確認操作が必要らしいのですが、 それに間に合わないと並び直しになるようなので、 リトライによる並び直しが相当回数発生しているものと 予想されます。結果、全部でN個受け付ければ終わるハズ のものがやり直し回数も含めて N個×X倍 の処理を 行うハメになっているように思ったりも。 システム上で、ある瞬間に10万人の待ち行列が出来ていたのは 本当かも知れませんが、行列ができる根本的な原因は 行列を捌く速度が足りてないからという事でしかない と思います。データベースとかトランザクション処理 の事はよく判りませんが、今は抽選参加の申し込み書を 受け取るだけで良い訳で、たかだか受付け処理に そんなに時間がかかるものなのだろうか?とは思ったりも。 もし着順だと大炎上してたかも知れませんね。

そういやTBSの日曜に放送している「集団左遷!!」ってドラマ。 先週放送の「見かけ上の売り上げ上昇の仕組み」はなるほどと 思ったり。 売り上げが上がっている美容サロンに融資を するか否かで、売り上げが上がっていれば問題無い のでは? と思われたのですが、実は 年間パスポートで売り上げが 上がってはいるものの、実際には予約が全く取れない状況になってて (毎月行くなら年間パスポートの方が安いが、月に1回の予約が できない、すなわち安くはならない)、パスポートの過剰販売が 原因だったという話でした。 長く使っても安くなったりしない携帯の通信料金とか、 原資を新規契約のキャッシュバックの方に使って、 定常的な売り上げが見込める所には使わないみたいな 感じなのだとすれば、今回のドラマの原理に似た所が あるんじゃないか?と勘ぐったりも。 いずれにしても、どうやって儲けているんだ?という仕組みを知る(疑う) のも面白いなぁと思います。

GTS。結局、全力チューンでいくつかゴールド取れたり。

2019/05/11

起きたら午後もいい時間。寝すぎ。

Fedoraを29から30にアップデートしてみたところ、gcc-9.1.1が 入って来てました。gdcも使えるのですが、パッケージとしては gcc-gdcを別途インストールする必要があるようです。 インストールしてみたのですが当然のように使えます。 そんだけ(ぉぃ;

そういや連休中くらいからEmacsのgoogle-translateで翻訳が できなくなってます。いつものGoogle側の何かしらの変更に よる影響だと思いますが、GitHubの 開発サイト にもまだ対応版は来ていなさげ。ちょっと調べてみた感じ サイトアクセスしても何も返ってきていない(読み込みデータが0バイト)のが原因みたい。 これ、対応できるのだろうか?

ニトリのNクリックというカラーボックス。組み立てるのにネジが要らない はめ込み式みたいですが、これって後からバラせるのだろうか?と思ったりも。 バラせないとゴミで捨てる時とか大変そう.....

そういえばCygwinは32bitの方を普段使いしているのですが、 最近のbinutilsのobjdumpは x86-64 もi386も両方イケるように ビルドされているようです。少し前まではCygwin32で x86-64のバイナリを クロスコンパイルしても、生成されたバイナリを調べたりする為に Cygwin64を使うとかしていたのですが、そのような面倒臭さが 無くなってるなと思います。

ちょろりGTS。GTリーグの残りイベントがなかなか取れない。

2019/05/10

遅めに帰着。

Web巡回して終了。

2019/05/09

遅めに帰着。

調べ事をして終了。

2019/05/08

早くも無く遅くも無く。

眠くて死亡。

2019/05/07

遅めに帰着。

Web巡回してたら眠くて死亡。

2019/05/06

昼頃起床。

洗濯したり掃除したり。今日からUSB扇風機始めました。

2019/05/05

AM中に起床。

そういやD言語では文法上のプログラムの開始はmain()関数 となってますが、いつの頃からかmain()関数の戻り値はvoidになって いる例が多く見られるようになってます。 言語の仕様上は 「19.20 main() Function」 にあるように、intを戻り値(結果的にプロセスの終了コード)とする事は 可能になっている為、例えばファイル比較を行うdiffコマンドの様に、 両方のファイルが一致してれば0、違っていれば1、その他のエラー (例えばファイルを1つしか指定してないとか)は2といったような、 3値以上の終了コードを返す事は可能です。 では例外が発生した時はどうなるか? と試した結果は以下の通り。

$ cat main_ret_int.d
import core.exception;

int main()
{
  throw new Exception("TestException") ;
  return 128;
}

$ dmd main_ret_int.d

$ ./main_ret_int.exe

object.Exception@main_ret_int.d(5): TestException
----------------
0x0040225D
0x00402621
0x004024BB
0x00402273
0x76FB0419 in BaseThreadInitThunk
0x778B662D in RtlGetAppContainerNamedObjectPath
0x778B65FD in RtlGetAppContainerNamedObjectPath

$ echo $?
1

という感じ。0では無いですが1を使われるのが都合悪い場合も あるかも知れません。この場合は全ての例外をcatchして 値を返すという感じにする必要があるみたい。

$ cat main_ret_int_2.d
import core.exception;
import std.string;

int main(string[] args)
{
  int rc=0 ;
  if( args.length<2 ){
    rc=2 ;
  }else{
    try{
      if( args[1]=="ERROR" ){
        int[] a ;
        a[0]=10 ;  // Range violationを起こす
      }
      throw new Exception("TestException") ;
    }catch(Exception e){
      rc=3 ;
    }catch(Error e){
      rc=4 ;
    }
  }
  return rc;
}

$ dmd main_ret_int_2.d

$ ./main_ret_int_2.exe ; echo $?
2

$ ./main_ret_int_2.exe aaa ; echo $?
3

$ ./main_ret_int_2.exe ERROR ; echo $?
4

void main(...)としても適当にやってくれる以上の説明がされていない のはプログラムの終了コードの扱いを重要視してないからか?という気が しなくもありませんが、makeとか外部アプリを使うビルドツール向けに D言語でアプリを書く場合、扱いにくい外部アプリになってしまう可能性が あると考えられます。 サンプルコードとかではvoid main(...) と示すとしても、必要に 応じて終了コードを返すプログラムを書ける事や、どういうケースで具体的 にどういうコード(値)が返るのかは記されてても良いと思うのですけどね。

2019/05/04

昼前起床。社会復帰できるかなぁ?(^^;

ちょろりコーディング。何か間違っているけどどう間違っているのかが判らず。

gcc-9のgdcについて。 こちらのスレッド によると、Dコンパイラ不要でビルドできるようにする為に、 gcc-9ではC/C++版のDフロントエンドを採用しているようです。 gcc-10向けにはD言語版のDフロントエンドが採用される可能性はあるみたい。

インターステラテクノロジズのロケット。 前回は失敗でしたが、今回は 宇宙空間に到達したとの事。ただ、到達高度は113kmくらいみたいなので、 人口衛星を軌道に乗せるにはまだ足りないという気も。

2019/05/03

起きたら午後もいい時間。寝すぎ。

gcc-9.1.0が来てた。

Fedoraでgcc-9.1.0を --enable-languages=c,c++,d でビルドしてみたり。 エラー無くビルド成功。

$ cat iam.d
import std.stdio;
import std.string ;
import std.compiler;

int main()
{
  writef("%s %s %s.%03d (D%s)\n",name,vendor,version_major,version_minor,D_major) ;
  version( GNU     ) writef("I am GNU\n"    ) ;
  version( Unix    ) writef("I am Unix\n"   ) ;
  version( linux   ) writef("I am linux\n"  ) ;
  version( Windows ) writef("I am Windows\n") ;
  version( MinGW   ) writef("I am MinGW\n"  ) ;
  version( MinGW32 ) writef("I am MinGW32\n") ;
  version( MinGW64 ) writef("I am MinGW64\n") ;
  version( cygwin  ) writef("I am cygwin\n" ) ;
  version( Win32   ) writef("I am Win32\n"  ) ;
  version( Win64   ) writef("I am Win64\n"  ) ;
  version( Posix   ) writef("I am Posix\n"  ) ;
  version( X86     ) writef("I am X86\n"    ) ;
  version( X86_64  ) writef("I am X86_64\n" ) ;
  version( ARM_SoftFloat ) writef("I am ARM_SoftFloat\n" ) ;
  version( ARM     ) writef("I am ARM\n"    ) ;
  version( PPC     ) writef("I am PPC\n"    ) ;
  version( PPC64   ) writef("I am PPC64\n"  ) ;
  version( PPC_SoftFloat ) writef("I am PPC_SoftFloat\n" ) ;
  version( PPC_HardFloat ) writef("I am PPC_HardFloat\n" ) ;

  return(0) ;
}

$ gdc -O2 iam.d

$ ./a.out
GNU D gnu 2.076 (D2)
I am GNU
I am linux
I am Posix
I am X86_64

$ gdc -v
Using built-in specs.
COLLECT_GCC=gdc
COLLECT_LTO_WRAPPER=/usr/local/gcc-9.1.0/libexec/gcc/x86_64-pc-linux-gnu/9.1.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-9.1.0/configure --enable-languages=c,c++,d --prefix=/usr/local/gcc-9.1.0 --disable-bootstrap --disable-nls --enable-checking=yes --disable-libgomp --disable-libmudflap --disable-libsanitizer
Thread model: posix
gcc version 9.1.0 (GCC)

マンデルブロ集合を描くコードも動いたので、普通に使う分には 問題無さげ。
gcc-9.1.0ではD言語のフロントエンドはC/C++言語版が使用されていますが、 今後(gcc-10とかで)、D言語版のフロントエンドに置き換えられる事になるかは不明。 D言語版フロントエンドを取り込んでいた gdcは 現在更新停止している(Archivedってステータスになってる)のですが、 当面最新への追従は行われないのではという気も。

gccgoとかどうやってるのだろう?と思ったのですが、Goのフロントエンド 自体はC++で書かれているようなので、Go言語が無い世界からビルドする 事は可能な状態にあるようです。

2019/05/02

ゴミ出しの為にAM中に起床。

ちょろりコーディング。まとまらない。

2019/05/01

令和元年 初日の朝はゴミ出しスタート。

そういや以前、皇室の系図の Wikipediaを知ったのですが、始まりを遡ると 天照大神となってて、ん?実在の人物だったの??と思ったり。 弟にスサノオ が居るのですが、ヤマタノオロチを退治したあのスサノオの事で、 退治したヤマタノオロチから出てきたのが、三種の神器の一つ の「草那藝之大刀(天叢雲剣)」、 いわゆる草薙剣(くさなぎのつるぎ)なのだそうな。
どこまでが実話なんだ?とは思った訳ですが、ニュースなんかで 三種の神器は実際には見られないっていうのを知って、 RPGなんかに出てくる草薙剣は全てイメージだったんだというのに、 今更ですが色んな人の想像力を掻き立てた(る)のだろうなぁと思ったりも。 なんか「大神(ゲーム)」 をやりたくなってきたかも。因みに、大神では 「草薙剣」と「天叢雲剱」は別物の神器という設定です。


TOP PREV