初心者ライダーが初心者ライダーに送るクソ雑魚初心者ライテク

本投稿は静大情報LT大会(メディア・文化) Advent Calendar 2018 11日目の記事です。コンニチハ、悟空です。 今年2018年3月に普通二輪免許を取得し、VTR250に乗っている初心者ライダーです。 乗るのもいじるのも、バイクの全てにドハマリしてしまい、他が手に…

Waylandプロトコルデザイン: オブジェクトの寿命

原題: Wayland protocol design: object lifespan 本記事は"Wayland protocol design: object lifespan"の翻訳である。 This post is translated from the original post, "Wayland protocol design: object lifespan" Date: 2014/8/4 07:50:42 (Tuesday) UT…

Waylandプログラミング入門

前回に引き続きX Window Systemの後継、Waylandに関する記事です。 今回は具体的にWaylandのクライアント側で動くWaylandクライアントが実際にどのように動くのかを、筆者が書いた単純なプログラムから説明しようと思います。前回も書きましたが、Waylandの…

Wayland/Westonについて

最近、WaylandとかWestonとかよく見聞きします。(主にPhoronixとかで...) で、何故か興味を持ってしまったので、近頃はWaylandがどんなものか見極めんと色々やっとったわけです。 Wayland公式サイト Waylandがなぜ必要なのか、X11とWaylandの歴史を追いなが…

planetfsで通信

planetfsは自分が作っているネットワーク透過性、ネットワークのファイル抽象化を目的としたファイルシステムです。 Github: pfpacket / fuse_planetfs当初の目標を一応のところ果たしたのでどんな感じになったか書いてみる。ここ にLinusのLinuxの音声ファ…

Plan9を理想としたネットワークのファイル抽象化ファイルシステム

Plan9を知ってからリソースをファイルで抽象化するという概念をネットワークにも適用するという考えがLinuxでも実現出来ればと思っていました。 Linuxでどうやったらそれっぽく実装できるか考えた結果、ファイルシステムを作ってプロセスのopen,read,write,c…

(zsh) rebuild auto-complete index

Stack Exchange - rebuild auto-complete index (or whatever it's called)zshを実行中に新しいソフトウェアをインストールするとなぜかその新しくインストールされたコマンドがタブ補完されない問題。 結構長い間放置してたので解決策をググって上記を発見…

std::mapで参照

題名通りなんですがstd::mapで参照を使いたい時は std::map<Key, Value&> map; がいいのか、それとも std::map<Key, std::reference_wrapper<Value>> map; のどちらがいいのか。 というのも過去にどこかで「参照のmapはダメだ」というのを聞いたような気がしたので。一応どちらも使ってみたのですが #include <iostream></iostream></key,></key,>…

BumblbeeなArch Linuxでpaeカーネル用の現時点での最新nvidiaドライバー(310.19)を使う

自分はDELL XPS15をメイン機に使っています。 こいつはNVIDIA GT540Mを積んでいるのですが、面倒なことにGPU切り替え技術「Optimus Technology」が採用されています。普通にはNVIDIAの公式ドライバーは使えず、Bumblebeeというオープンソースプロジェクトを…

How to extend Boost.Asio

この記事はC++ Advent Calendar 2012 12日目の記事です。Boost.Asio、みなさんもお使いのことと存じますが、あれこのソケットなかったっけ? とかこれもAsioで使いたいなぁと思ったことはありませんか? そんな時のためにこの記事ではBoost.AsioのProtocol, so…

Ubuntu上でのgccビルドの問題

結構前の話でUbuntuでgccのビルドをしようとした時multiarchの関係でldが「crti.oが無い」って死んでしまう自体が発生。 それで解決したんですが今また同じ事に嵌ったのでメモ。たぶんこれと同じ http://gcc.gnu.org/ml/gcc/2012-02/msg00210.html export CP…

printk(KERN_* ...) より pr_*()を使う

Linuxでデバイスドライバを作るとき標準出力が無いので代わりにカーネルバッファに情報やエラーを出力します。 普段はprintk()を使っているのですが、思いたちでLinuxのメーリングリストに投げるパッチの体裁をチェックするscripts/checkpatch.plに書けてみ…

回答求ム!

Linux bridge of my own making: arp request never succeeds - stackoverflow http://stackoverflow.com/questions/13082706/linux-bridge-of-my-own-making-arp-request-never-succeeds

前の記事でイーサネットフレームを非同期に受信するプログラムについて書きましたが、 あれを起動している最中、イーサネットフレームのtypeが0x26なものが出てきました。 この値はarex::ether_typeのどの値にも該当しません。 ちょっと気になったので調べて…

libarex: パケットレシーバー

pfpacket / libarex https://github.com/pfpacket/libarex引き続いて、libarexにethernetのサポートとその他変更を加えたので、 これを使って簡単に何か作ってみようと思ったのでパケットレシーバーを作ってみました。イーサネットフレームを受信してその中…

前からやろう、やろうで先延ばしにしていたBoost.Asioでのpacket socket対応をしてみました。pfpacket / libarex https://github.com/pfpacket/libarexpacket socketの説明は`man 7 packet`か http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/packet…

コンソールでの日本語環境

自分のラップトップにArch Linuxをインストールして1ヶ月以上たちました。 自分がプログラミング用に使うサブ機なんですが、性能が低いのでXなんか重くてストレスがたまるだけなので、 いつもXなしのコンソールで作業します。しかし、調べものやメールを見る…

wpa_supplicant

最近Arch Linuxがお気に入りで、ずっと使ってるんですが無線LANの調子が悪い。 無線LAN子機としてUSBWLAN(WLI-UC-GN)を使っていて、何もせずすんなりと認識してくれたのは良いんですが、 wicd使ってるとなぜかDHCPでアドレスがもらえない。ということでwicd…

(実装) クワインマクラスキー法を用いた論理関数の簡単化

一ヶ月ぶりの投稿です。 自由課題でクワインマクラスキー法を実装すれば点数がもらえるという事で早々に実装。 pfpacket / Quine-McCluskey https://github.com/pfpacket/Quine-McCluskey ・クワインマクラスキー法とは 実際のところwikipedia http://ja.wik…

Welsh-Powellで彩色数にならない例

昨日、[グラフ理論 Welsh-Powellの頂点彩色アルゴリズムを実装してみた] http://d.hatena.ne.jp/devm33/20120616/1339811432 という記事を書いたが、教科書に載ってあった例はどれも彩色数になるものばかりだったのでいい問題がないか ぐぐってみたがなかな…

グラフ理論 Welsh-Powellの頂点彩色アルゴリズムを実装してみた

そこら辺にあった離散数学の教科書をペラペラめくってるとグラフ理論の話があったので 「これBoost.Graphつかえば...」 と急に思い立ってBoost.Graphをいじり始めて、 Welsh-Powellのアルゴリズムという手頃な問題を見つけたので実装してみた。(頂点)彩色と…

SYN floodのコードをgithubで公開

SYN floodのコードをgithubで公開しました。 gitはやっと「一人」で作業するには問題ない程度になりました。Linux Kernelが送信先からの[SYN,ACK]セグメントに対し[RST]セグメントを送信するのはIP_HDRINCLを設定していない うんぬんかんぬんでは無く、[SYN,…

Boost.Asioの各種socketでsocket optionを有効にする

Boost.Asioでsocketのsocket optionを有効にする方法は2つあるんですが(もっとあるかも)1. socketのnative_handle()を呼び出す。 native_handle() http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/reference/basic_socket/native_handle.html を…

Androidプログラミング

図書室にはAndroid HacksなどのAndroid本がいくつかあったのでサラっと読んでみて ネットで調べながらいろいろいじくりまわすこの頃。ついに今日「作ればわかる! Androidプログラミング」を買ってしまった。Javaなのは微妙だが(慣れてないから)、なんだかと…

スマートフォンを手に入れた

自分の携帯電話(ガラケー)が壊れたので、先週、auショップにてAndroidスマートフォンに機種変更した。 LinuxカーネルということもありAndroidに興味があり、さっと調べた感じでは概ね評価が良かったので、機種はiPhoneではなくXperia Acro HDにした。クラウ…

CASL2 シミュレータ

最近、思い立ったようにCASL2シミュレータつくってます。 CASL2はとっても仕様が簡単なので。x86とかやり出したら死ぬ...勉強のためにコンパイラにバイナリコード吐かして、シミュレータで実行する形になる予定。 ただ、自分の乏しい知識と技術では: 命令コ…

カーネル/VM勉強会@関西 其の参

4/1に行われた「カーネル/VM勉強会@関西 其の参」に参加してきました。 駅から京大とは真逆の京都御所まで行ってしまい、最初の発表を半分くらい聞きのがしてしまいました。 初勉強会だったのでちょっと緊張しました。 - 以下敬称略@mayahu32「マルウェアの…

BOOST_IOSTREAMS_USE_ DEPRECATED

ー追記,結論ー の enum file_descriptor_flags { never_close_handle = 0, close_handle = 3 }; をつかって、 boost::iostreams::stream<boost::iostreams::file_descriptor> iosfd(fd, boost::iostreams::close_handle); という風に使う。 http://www.boost.org/doc/libs/1_49_0/libs/iostreams</boost::iostreams::file_descriptor>…

Boost.Iostreamsがわからない

ファイルディスクリプタをストリームで扱いたいと思い、Boost.Iostreamsを使おうとおもいたったはいいが、 コンパイルがことごとく通らない。ファイルディスクリプタ や FILEポインタ を C++ iostream から使う http://ameblo.jp/topazbc/entry-10095665489.…

-ftemplate-depth

またもやTwitterネタなんですが、 「「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな? 」というツイートが流れてきて、C++erの方々…