180929


毎週なにか

前エントリで続けることとか書いたことに関連して。


9月から毎週動画を作って公開するっていう目標を決めた。

CG もの、動画もの、というかタイムラインものに触れる機会を強制的に作ること。
あと、超短距離走みたいに作ってちゃんと着地させて終わらせることの訓練的な。



とりあえず、ルールとして、
スクリーンキャプチャ、スクリーンショット撮ってそのまま出しはやらない、を決めた。

iMovie, Python, ffmpeg 等でもなんでも使って、ちゃんとやるようにしたい。

(正方形の映像触るのに iMovie あまり良くなくて ffmpeg がそのまま行けたのでよかった)


ぱっと出しは instagram か何か、アーカイブとしてこっちに順次入れていきたいです。

vimeo.com


(終わり)

簡単なことでも、それを続けることはとても難しい件

Amazon Kindole でまとめ買いセールで売っていた インベスターZ を 買って一気に読んだ。

(1巻が1円、2巻が2円、、、みたいな値段で売っているのでやばい)

最終巻にめっちゃいいシーンがあって、

100人の人が
思いついたとしても
行動するのは
そのうちのたった1人
.
そして
100人の人が
行動したとしても
行動し続けられるのは
そのうちのたったの1人
.
つまり
1万人のうち
1人しか
「やり続ける」人間は
いない
.
天才とは
じつはそういう
ラクリなのだそうです

と書いてある。

やばい。




(おわり)

ImportError: numpy.core.multiarray failed to import

brew upgrade したら、なんか Pythonopencv ? の依存関係?が良くなくなった。

>>> import cv2

ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import

解決策

pip install -U numpy

numpy in /usr/local/lib/python2.7/site-packages (1.15.1)

これは、2系だった

3系ではこっち

pip3 install -U numpy


・-・-・-・-・-・-・-・-・


Ref

blog.ashija.net

180609

知識とかいうもの、自分で頑張って学んだみたいな感じでも、結局は先人、開発者やコミュニティの人たちが残したドキュメントを検索して、そういう積み重ねがほとんどで、全ては先人のおかげであるのに、自分で頑張って学んだことは人には教えないゼ!って態度は本当にダサい。


ついでに、というか関係して、
in the blue shirt さんのこの文章死ぬほどよかった。

自分は音楽の作り方をGoogleに教えてもらったと言っても過言ではない。検索で得られた数多の知見の大半は、まさに"どこの誰かも知らないやつの打算なきサポート"である。その恩恵を授かった身として、そういったものを肯定していけたらなと思う。

arimuri.hatenablog.com


自分で頑張ったなんて、ほんの少しだし、
(そもそも、ソフトは、言語は、アルゴリズムは、OS は、すべてだれかの残してきた積み重ねであって、フルスクラッチで自分でゼロから作った、そのゼロって何ってこともあるし)
人から与えてもらった施しは、ほかの人にも同じようにしていけるように努めたい。


・-・-・-・-・

話は変わりますが、
スイス連邦工科大チューリヒ校、ETHz の記事を見た。
コンピュータx建築の分野でやばいデモをガンガン出してる。

ドローンで橋を編む(↓)
www.youtube.com

ドローンでレンガを積む、7年前!!(↓)
www.youtube.com

ロボティクス木造(↓)
www.youtube.com

形状や構法の最適化にる極薄コンクリートシェル(↓)
www.youtube.com

研究のベクトルとしては、今いる研究室に近い、が、チューリヒはやばい
記事を読んでいたら、ポスドク10人に、博士課程も10人、さらに修士課程。
加えて学内にコンピュータ系の研究室がいくつかのようなことが書いてあった気がする。

僕の研究室は、博士1人に、2年で入ってすぐに出ていくような修士が10人なので、
研究室の規模がまるで違った。

絶対無理やんけ、みたいにも思うのだけど、何もやらないと差は広がる
死ぬほどやってもあれは余裕でできない勝てない、けど、死ぬほどやらないと本当に死ぬっていう気がしました。


おわり

UNIXという考え方 - その設計思想と哲学

諸君にはすでにお分かりのことだろう。UNIX の考え方とは、常に将来を見据えながらオペレーティングシステムとソフトウェアの開発にアプローチすることだ。そこでは、常に変化し続ける世界が想定されている。将来は予測できない。現在についてあらゆることを知っていても、その知識はまだまだ不完全なことは認めざるをえない。

ソフトウェアを開発するにせよ、子供たちのためにより良い世界を築くにせよ、将来はガラス越しにしか見えない。いつか、すべての答えが分かる日が来るのかもしれないが、それまでは前進し続けなければならない。いつか、すべての答えを知る時がやって来るのかもしれないが、それまでは、一日ごとに「今日」が「昨日」になっていく日々を過ごしながら、将来に適応し、前進し続けなければならない。

UNIX の理念は、そういう将来に向かうアプローチの一つだ。その本質は柔軟であり続けることだ。嵐が何度やって来ても、風に揺れる木は折れることがない。

ハッカーと画家

👨🏻‍💻と👨🏻‍🎨

私の知っているハッカーはTシャツ以外着たことがないような人物だが、プログラムコードの行末にスペースを決して残さない。それがあったからってプログラムの意味は変わらないし、どうせ見えないのだが、ただそれがあるというこたが彼には我慢できないんだ。正直に言うと、私も時々気が付くと行末のスペースを削っている。

180513


なんか後で書きます。

4月

研究室とバイト

c/cpp
c#(unity)
html, css
javascript
python
postgresql

イベントの設営
切削
htc vive

きちんとできるようになっているかは、わからないのだけど、とりあえず、いろんなことに精力的に取り組めて良かったなと思いました(?)。

なんでも、やります!って言い続けることで、できることがどんどん増えて、それがいつか役に立ってくれるっていう感じで頑張りたい。


.

c と processing(java) ??

最近、c を少し書いていて、
processing と近いようなみたいなところもいくつかあるのだけども、
ごっちゃになりそうな気もしたので、お互いの書き方で、それぞれ試し。
どちらも、僕が例文やソースを見て勉強してみての書き方なので、
本当に意味が違うのかはわかりません、慣習??


c では、for の中で使う値の型を外で、指定していることが多い。

int i;
    
for (i=0; i<7; i++){
    printf("%d\n", i);
}

// 0
// 1
// 2
// 3
// 4
// 5
// 6

processing では、for の中で型を指定していることが多い

for (int i=0; i<7; i++){
 println(i);
}

// 0
// 1
// 2
// 3
// 4
// 5
// 6


この書き方をいれかえる

for の中で型の指定

for (int j=0; j<7; j++){
    printf("%d\n", j);
}

// 0
// 1
// 2
// 3
// 4
// 5
// 6


for の外で型の指定

int j;

for (j=0; j<7; j++){
 println(j);
}

// 0
// 1
// 2
// 3
// 4
// 5
// 6


どっちも問題なく動いた。



全ソース

c↓

#include <stdio.h>

int main(void)
{
    
    int i;
    
    for (i=0; i<7; i++){
        printf("%d\n", i);
    }

    printf("---\n");
    
    for (int j=0; j<7; j++){
        printf("%d\n", j);
    }
    
    printf("\n");
    return 0;
}

/*

0
1
2
3
4
5
6
---
0
1
2
3
4
5
6

*/


processing↓

for (int i=0; i<7; i++){
 println(i);
}

println("---");

int j;

for (j=0; j<7; j++){
  println(j);
}

/*

0
1
2
3
4
5
6
---
0
1
2
3
4
5
6

*/

processing のデフォルトのエディタ、1年ぶりくらいに使ったけど、やっぱしんどいと思った。

リハビリも兼ねて。。。
f:id:ysok_na:20180423151717p:plain

int j;


void setup() {

  size(400, 400);

}

void draw(){

  for (int i=0; i<width; i++){
    stroke(map(i, 0,width, 0,255),255, 255-map(i, 0,width, 0,255));
    line(i,0, i,height*0.5);
  }


  for (j=0; j<width; j++){
    stroke(255, 255-map(j, 0,width ,0,255), map(j, 0,width, 0,255));
    line(j,height*0.5, j,height);
  }

}