type t (* void *)

ソフトウエアのこととか

生活リズム改善

生活リズム見直し月間実施中です。

Twitterの時間制限

Androidアプリで、アプリの使用制限を入れるものを使い始めた。 この手のものはたくさんあると思うけど、一応URLを貼っておく。

play.google.com

制限は5分/30分と23:00 ~ 7:00の制限。PCでTwitterやっていると意味がない感じがするが、 電車内でKindle本を読む時間が増えた。ほんとはPDFを読もうと思ったらスマホからは読みにくすぎた。 この前の通知では週10時間くらいTwitterアプリを使っていたらしいが、このときには8時間くらいになっている。 依存。。。。

f:id:no_maddojp:20180602150407p:plain

Save My Eyes

PCで作業しているとつい熱中して目が痛くなったり腰が痛くなったりするので、 一定時間ごとに休め!って言ってくれる拡張プラグインを入れた。

chrome.google.com

30分に一回5分休憩するようにしている。これでリズムをつくっていきたい。。。

睡眠記録

最近昼間の眠気を治療したいので、入眠時間・うとうとした時間の記録をつけている。

f:id:no_maddojp:20180602145438j:plain

8時間位の睡眠を確保したいのだけど、ちょくちょく朝目が覚めていることに気づいた。
記録をつけてないときには気づかなかった。
睡眠記録をつけていると、なんだか勝手に睡眠リズムが整ってきて、生活が整ってきた感じがある。記録をつけるだけで効果があるやつだ。

情報密度が薄いコンテンツの消費をやめる

Youtube関連。みたいやつは1.5倍速で見るようになった。

VC4CLについて

www.slideshare.net

  • テストケースがfailするのは大体の原因は使用変数の数がレジスタ数を超えてしまい、レジスタ割付けに失敗するから
    このアーキテクチャにおいてはレジスタスピルは現実的な時間で行うことは不可能で、レジスタ割付け自体の改善がもとめられるが これはさらなる解析が必要で一朝一夕には解決しない
  • 性能が低い理由はかなりいっぱいあるが
    • 2命令同時実行のための命令スケジューラがない
    • メモリのread, writeをfusionしないといけないが、これが全然動いていない
    • Kernel fusionが動いていない
    • メモリを気をつけないとすぐ不効率になる
      例えばDMA転送とTMUでのロードで、キャッシュ不整合が起きるために保守的にTMUロードで十分なところをVPMでロードする
    • (当然基本的な最適化不足)

ML Day#1を開催しました

3/31にML_Dayを開催しました。もみあげさん@pocketburserkerに協力頂いてドワンゴの会議室をお借りました!
毎度ありがとうございます!

ML Dayは前のML勉強会と名乗っていた勉強会でしたが、今回名前を変えてみました。
今回は最近関数型言語に関連する勉強会があまり見られないため、制約を緩めてMLに関する話題・さらにMLユーザが聞いて楽しめそうな内容ならOKと 発表の内容を緩めました。結果的にElmの発表など様々な発表が集まりとても楽しかったです。
今回発表枠・LT枠あわせて12枠ありましたが全て埋まりました!発表していただいた方御礼申し上げます! 下のリンクから当日の発表資料などが見れますので是非見て下さい!

ml-lang.connpass.com

続きを読む

C++: 本日のハマり

class A {
public:
  int id = 0;
};

class B : public A {
public:
  B() : id(100) {}
};

これエラーになる。この辺よくわかってなかった。

hoge.cpp: In constructor ‘B::B()’:
hoge.cpp:7:9: error: class ‘B’ does not have any field named ‘id’
   B() : id(100) {}
         ^

B() : id(100) {}はダメなのでB() { id = 100 }でOKだった。よく分からんね。 本題はここから。以下のようなプログラムはAと出力する。

#include <iostream>

class A {
public:
  std::string s = "A";
  A();
  virtual ~A();
};


A::A(){}
A::~A(){}

class B : public A {
public:
  std::string s = "B";
  B() : s("hoge") {}
  ~B() override = default;
};

int main () {
  A a = B();
  std::cout << a.s;
  return 0;
}

気づくのに1時間くらいかかってしまった。