けものフレンズ言語 を触ってみた(BrainFuck も)

Twitter で流れてきた けものフレンズのプログラミング言語

github.com

すごーい!

書いてみた

たのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!すっごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!すっごーい!すっごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!なにこれなにこれ!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!うわー!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!たのしー!すっごーい!わーい!すごーい!たーのしー!たーのしー!たーのしー!たーのしー!たーのしー!なにこれなにこれ!
$ ./kemono kemono_frind.kemono
Kemono Friends

脳がとろける たーのしー!


BrainFuck 系言語というものを初めて触ってみた.

これは+とか>で書く本家? の BrainFuck を触ってみるしか無い!

ということで触ってみた

++++++++[>+++++++++>++++++++++++>+++++++++++++>++++>+++++++++++++++>++++++++++++++<<<<<<-]>.>+++++.>++++..+++.>.>-.<<.>>>++.<<<---.<-.>>+.

これで Hello world! が出力できるけど,これじゃちょっと・・・

++++++++
[
  >+++++++++
  >++++++++++++
  >+++++++++++++
  >++++
  >+++++++++++++++
  >++++++++++++++
  <<<<<<
  -
]
>.
>+++++.
>++++..
+++.
>.
>-.
<<.
>>>++.
<<<---.
<-.
>>+.

インデントを付けるとかなり分かりやすくなった. これはこれで たーのしー!

また今度 BrainFuck 書いてみよう.

Ruby で gnuplot (簡単なグラフを楽に吐き出したい)

Rubyスクリプトで簡単なグラフを書き出せるようにしたい

とりあえずプロットしてグラフの形を見てみたいって事が良くあるので,とりあえず簡単なグラフなら書き出せるようにスクリプトを書いてみた

ruby plot.rb svg test_plot test.txt

なんてやれば test_plot.svg という名前で出力してくれる。 test.txt の部分で複数ファイル指定した場合,1枚にプロットしてくれる。

オプション

オプションで色々指定できるようにしてみた。

オプション
-t title -t の後にタイトルを与えることでグラフにタイトルを付けることができる
-x xlabel -x の後に(ry x軸のラベル
-y ylabel -y の後n(ry
-w style -w の後にグラフのスタイルを指定をすることができる。 l lp boxes など
-g グリッドをオンにする
-h ヘルプ(あんまり役に立たない)

バイト休憩に作ったスクリプトだからおかしなところがあったら教えてちょ
logscale のオプションを作ろうとしてたけど,めんどくさくて辞めたのは内緒

そして初めて gist 使った。


追記
モジュール入れないと動かないことを忘れていた。

sudo gem install gnuplot

とかやってくださいな。

3/6追記
logscale もちゃんと実装しました

mdfindのクエリ

課題でmdfindを使う必要が出てきたのでメモ

mdfindでCファイルを見つけたい。 mdfindはメタデータを使って引っ張ることができるようだ。

しかし,メタデータはどうやって調べるのか

メタデータ属性にどのようなものがあるのかを知るには,'mdls' コマンド

あの日,mdfind が見つけたもの - ばかもりだし

メタデータにはどんなデータがあるか調べるには,mdlsというコマンドを使えば良いらしい。 mdldに引数と与えるだけでメタデータが見られるようだ。

メタデータ確認用にCファイルを作って試してみる

touch test.c
mdls test.c

するとこのように表示された

_kMDItemOwnerUserID            = 501
kMDItemContentCreationDate     = 2015-12-20 09:00:55 +0000
kMDItemContentModificationDate = 2015-12-20 09:00:55 +0000
kMDItemContentType             = "public.c-source"
kMDItemContentTypeTree         = (
    "public.c-source",
    "public.source-code",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-12-20 09:00:55 +0000
kMDItemDisplayName             = "test.c"
kMDItemFSContentChangeDate     = 2015-12-20 09:00:55 +0000
kMDItemFSCreationDate          = 2015-12-20 09:00:55 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.c"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 0
kMDItemFSTypeCode              = ""
kMDItemKind                    = "C source"
kMDItemLogicalSize             = 0
kMDItemPhysicalSize            = 0

この中で使えそうなのは,kMDItemKind = "C source"あたり。

mdfind kMDItemKind = "C source"

実行! ・・・ 何も表示されない


もう一個使えそうな kMDItemContentType = "public.c-source"とか使ってみる。

mdfind kMDItemContentType = "public.c-source"

すると.cファイルがずらずらと表示された。

kMDItemKindでは表示できない理由は分からないが.cファイルを表示することができた。


2017/11/09追記

kMDItemDisplayName 使ったほうがよさそう?

mdfind kMDItemDisplayName = "*.c"

とかで.

MySQLでランダムな数値が入ったデータを用意する

ランダムな数値データが入ったDBが作りたい

課題でMySQLでランダムな数値が入ったデータが大量に必要になったので,その作り方をメモしておく


  1. 適当なテーブルを作る
  2. まずは,1つ空のデータを入れる
  3. データの数を倍にする
  4. データの成形
  5. 必要な数以上は消す
  6. ランダムな数値を入れる

適当なテーブルを作る

create table tb1(id int, num int);

まずは,1つ空のデータを入れる

insert into tb1() values();

tb1をtb1に挿入する(倍にしていく)

insert into tb1(id) select 0 from tb1;

これを好きなだけ繰り返す


管理用にIDに番号をふる

idの値を連番で値を入れる

set @i=0;
update tb1 set id=(@i := @i+1);

欲しい数で削除する

30万のレコードが欲しい場合

delete from tb1 where id > 300000;

なんてやれば良い。


ランダムな値を入れる

ランダムな1〜30000の数値を入れてみる

update tb1 set num = ceil(rand() * 30000);

Mac Mini!

家での作業効率UPの為に!

Mac Miniを買いました! そして届きました(*´艸`)

開封の儀 f:id:zeronosu77108:20151214231110j:plain

本当にぴったし入ってて,ちょっと取り出しづらい。 f:id:zeronosu77108:20151214231117j:plain

キーボード格好良い。 f:id:zeronosu77108:20151214231122j:plainf:id:zeronosu77108:20151214231124j:plain

とりあえずのセットアップ終わり! これから,zshrcなんかを共有できるようにするぞー f:id:zeronosu77108:20151214231130j:plain

Source code

ソースコードを貼る方法を調べてみたら,はてな記法とMarkdown両方いけるっぽい。

さて,テストで貼ってみよう。
ん?表示されない??

調べてみると編集モードが違うらしい?
f:id:zeronosu77108:20151107140827p:plain:w300

編集があって,HTMLがあって,プレビューがあったら編集ではてな記法もMarkdownも使えると思うよね(-ω-)

f:id:zeronosu77108:20151107141122p:plain:w300
ここに編集モード切替発見

やっとソースコードのテストができる。

はてな記法とMarkdownどちらが良いのか。。

とりあえず,はてな記法で書いてみる。

#!/bin/bash
echo "Test"

少し前までKobitoでずっと授業のノートを取っていたから,Markdownはだいたい覚えてるけど,とりあえず面白そうなはてな記法を少しやってみて覚えられなさそうだったらMarkdownにしますかな

エディター的にMarkdownになるかもしれないけど(・∀・)