naoki86star

インターネットの片隅でなにかしら書いてみる

(読書)メンタルの教科書

字を読まないと頭がどんどん劣化しているのかもと思っている年頃で*1、たまには本を読むようにしたいのですがなかなかそうなりません。それでも一冊本を読んだのでつらつら駄文書いちゃいます。佐藤優氏の「メンタルの教科書」という本読みました。ご存じ外…

今までのプログラミングとClojureプログラミングとを比べてみる(java)

leiningenを見よう見まねで動かしはじめてみて、まだ拙くもjavaコードと混合で動かすことを覚えてみたら、今までjavaで書いていたものの多くをclojureで書いてもいいのではないか、そう思うようになりました。もちろん検討選択の上で、適す?適さない?を考…

gobgp + flowspec by clojure (java...) [cont.]

leiningen使い始める clojure に関して調べ事していると、必ずleiningenという開発ツールのことでてきます。というか開発者さんの相当大多数が利用しているように見受けてます。*1 この時点でその名前は聞き及んでましたが、このときは、自分まだ単純なcloju…

今までのプログラミングとClojureプログラミングとを比べてみる(ネットワーク系)

ネットワークの情報を集めるとかコマンドを送るみたいなプログラムだといわゆるインターネットプロトコルを取り扱うことが多いと思います。pythonスクリプトに限らず大抵のプログラミング言語はコードが書かれた通り逐次実行されていくものだと考えています…

jython --- python on java eco-system

clojureについて文法・言語形態の範囲を超えて、javaの生態系にのっかっていることを考えていた。そのときにそういえばjythonというjavaで動くpythonという実装を思い出した。 前にちょっとさわろうとしたのだけども、あのときにはjavaの中からpythonスクリ…

今までのプログラミングとClojureプログラミングとを比べてみる(アルゴリズム視点)

最近のCodilityのtaskをネタにして直接的にプログラミングできる形の説明で一題考えてみます。 前置きとそれにかかる説明 ネタにするtask内容作るアルゴリズムはこんな感じ。 整数の配列Hが与えられている。X-Y軸平面では以下のように表現できる。例1python…

VPS間遅延測定

前置き 最近は海外VPSの量も減らしてきました。*1 VPS間の通信遅延なんかは、netdata+fping w/ grafanaでだいたい評価できるのだけども、ちょっと数字をだしてみたくなったので自前測定。 原理 IPv4/udp で、ノード間を片方向独立で測定 送った側の送信時刻…

maxminddb-reader by clojure

...単にjavaメソッド呼び出してるだけレベルだけども、今度はmaxminddb試してみておく。Getting Startedで入れた環境で、Maxmind-DB-Reader-javaのinstall情報を元に.clojure/deps.ednに追記してclojure起動する。 :deps { org.clojure/clojure {:mvn/versio…

dpdk + openvswitch on intelのベアボーン(XCY J1900?)

先々月購入してみたintelCPU1G4ポートのPCで、dpdkを動かせそうだと思っていた。helloworldサンプルとかポートの認識とか簡単な動作はすでに見ることができていた。 今度は、openvswitchにはdpdkで動かす機能があるようなのでそれを試してみることにした。do…

gobgp + flowspec by clojure (java...)

gobgp経由のflowspecこんどはclojureで呼び出せるかやってました。 clojureと銘打ってますが、grpcのコアな部分・protobufとかはjavaライブラリに依存することになります。それゆえ、調べごと・実装のほとんどすべてはjavaと格闘することになりました。 java…

ProjectEulerの67番をclojureで書いてみる

clojureへのネイティブ感ないままに書き下してみる*1(2020/1/27) timeを覚えたのでupdate (def input-file "p067_triangle.txt") (def numbers (map (fn [x] (map (fn [x] (int (bigint x))) (clojure.string/split x #" "))) (reverse (clojure.string/spli…

voltdb-client by clojure

clojureというjava-based lips系言語を使ってvoltdb-serverにつないでみるvoltdbのワイヤプロトコルを全部書くとかいうのでなく、voltdbのjarライブラリをインポートしてそのメソッドを呼ぶという方法、つないでレコード読み出す単純機能レベルなのでまんまj…

maxminddbのupdateのこと

こういうこととかこういうこととかでMaxMindってところのIPデータベースとそのライブラリを使わせてもらったりしてます。ubuntuもPPAってのを追加することでapt経由でライブラリインストールできるので手間いらずで使えたりします。 が、IPデータベースであ…

pi/pi2 + HDMI->VGA変換アダプタ

秋葉原通った時にパーツ屋さんでHDMI->VGA変換アダプタ見つけたので一つ購入した。 raspberry pi2はいままでmicroSDにosを書き込むときにssh有効化して最初の起動でDHCPで拾われたアドレスを見つけてログインするアノ手段でやってたのでディスプレイをつなげ…

Fibonacci数, 再帰

先日やってみたFibFrogの問題は、自分の中での興味が大きくなりました。フィボナッチ数がどうのこうのというより、問題のルールにあったフィボナッチ数を条件にして次が進める、とか当てはまる、とかいうことが場合に、その組み合わせを探り当てるというのは…

Fibonacci number, Codility

最近Codilityというサイトでプログラミングの再履修(?!)してたりします。 Lessonsには、項目毎によく知られるアルゴリズムの説明のPDFが置いてあったり、10いくらかのタイムトライアル問題に挑戦させてくれます。アルゴリズムの正確性と、スケーラブルな速…

JLine

voltdbのコードをサーフしていて、sqlcmdがJLine | jline.github.ioての使っていると知りました。jlineての初めて知りましたがいろいろよそでも使っていそう使えそうです。 jline2のほうに、見た目わかりやすいexampleがのほうにあったのでそれをちょっと動…

sflowtool のコードをいじってみる(2)

今日はsflowtoolに、マッチングフィルタの組み込みをやってました。通常ですとデータベースにインポートして集計なり、sflowtool -lの出力をgrepするなりで、フィルタ・集計の機能は外部の専用機能にまかせるのが妥当です。けども結構フィルタも都度考えて書…

sflowtool のコードをいじってみる

sflowtoolにはtcpdumpで保存したpcapから読み込むオプションあります。個人的にはこれが非常に便利と思っていてよく使います。pcapファイルは多くの場合サイズが大きくなるので残そうとするなら圧縮しておくこと多いと思います。なのでこんなコマンドライン…

XCY J1900 4*lan barebone

XCY J1900 4*lanベアボーン(4GB DDR3L RAM+32G SSD+150WiFi)てのを買いました。*1これ買った動機はあとのほうに書きますけど、これを選んだのは、類似品のなかでamazonで書かれているレビューが他より多かったからです。良し悪し自体はともかく最低限動作…

Link Layer Discovery Protocol

vMXでevpn-vxlan試していたときとか、ICMP58再現のときにcumulus使ってみていたら、LLDPってプロトコルが脇からよく目に入ってきた。ナンデスカこれってことで調べた。 junosの設定exampleみるとよく set protocols lldpとか入っていた。cumulus(3.7.0)つな…

ICMP58 type2(Packet too big)

ICMP58 Type2(code0)というのを目にした。ナンデスカこれってことで調べたら、IPv6は中継装置ではフラグメントしない代わりにこのままじゃ通せないよって通知するために仕様化されているらしい。この仕事していながら次々と色々無知無勉強であると感じる。 I…

(PC引越しにそこそこの時間使うのもなんだかな。。。)

職場でPCの交換を求められて、必要なファイルの引越しをやりました。そのときにそのPCで動かしていたVagrantのVMひとつはキープしたかったのでexportして別のPCの、もう今度はそのままvirtualboxにimportしようと、はじめました。とりあえず、vagrant…

evpn-vxlan with vMX(eval)

先日のこのときにvMXで次はvxlanを試してみることを考えました。のですが、四苦八苦していて、VXLANの理解不足・JUNOSの理解不足はこれを改善するためにやっているにせよ、凡ミスにもはまりこみ結構時間たってしまいました。それでも単純なケースで動いてく…

vMX(eval)18.2 on eve-ng

vMX(eval)18.2R1.9をeve-ngで動かしたときのメモです。 当初、vMX(eval)18.2R1.9をeve-ngで動かそうとしてうまくいかなかったです。どこがか、というと、サービスポートに一番単純なinetの設定をしてpingが飛ばない。show interface ge-0/0/0としてもtxカウ…

IPv6/udpでのフラグメント

IPv6で1500byte overのudpを投げてみると、例えば3000byteで投げてみると、ちゃんと届きます。このときやっぱりパケットはMTUサイズに起因したした分割が発生しています。 import socket UDP = somewhere, someport MESSAGE = "*"*3000 sock = socket.socket…

gobgp + flowspec by nodejs

python使ってgobgpにflowspec投入するを試してみた後、今度はnodejsではどうか?やってみた。nodejsはサーバサイドをスクリプトだけで構築するのに選択肢のひとつに持っておくといいかなぁ、と考えているので。 最初、@grpc/proto-loaderとゆうのを使えば co…

gobgpd on vultr

gobgpdにfull route与えてみた。vultr Tokyoロケーションでいつものbirdの代わりにgobgpd動かしてみた。 そうしたらいまさらながら、メモリが厳しい、ことが分かった。birdだと512Mインスタンスでも取り込みとroute参照とかなんとかいっていたのが、gobgpdの…

ordering flowspec by python via gobgpd

gobgpのgrpcとかbgpのflowspecとか見てきた流れで、ならばgobgpdつかっているときにcliスクリプトからflowspec投げるには?ということで、とりあえずできるようになる要点をピックアップ。デーモンconfigurationではafi-safi-name = "ipv4-flowspec", afi-sa…

junos-eznc

vmxも試してた流れで、今日は、junos用のpythonライブラリを味見。ubuntu18側で、 pip3 install junos-ezncvMX側で、 root# set system services netconf ssh [edit] root# set system login user admin authentication plain-text-password New password: R…