最近描いた絵とその話

まず絵の一部

読者はふつうスクロールする前に帰ろうとするので、その前に非文字の一部をババーっとして過度な期待をさせるのがキャッチするコツ f:id:Ieshoriveul:20161203032010p:plain

0

この記事は以下のアドベントカレンダーの3日めの記事です。 www.adventar.org

いまのところ誰もこのアドベントカレンダーについて説明せぬままやっていっていますが、ちょっとお初の人にむけて説明を。 某県某所での悪ノリの一つとして神絵師になっていきをしていく/名乗っていきをするというのがあり、そういうことになっています。コトの発端は @0x_osyoyu が「俺はプログラマじゃなくて神絵師になりたかった」と突然言い出し衝動的に絵の練習を始め、まわりの人間が一緒になって練習に付き合ったり先んじて練習をやっていったりするようになりました (共感できる発言をすると共感されがち) 。

そんなこんなで僭称天皇よりも高頻度に神絵師になる/神絵師であるという主張などアレやコレが起きていっています (このムーブメントの前に私は皇帝を名乗って勅令や戸籍を乱発する遊びをしていたが、すぐ飽きた。それにくらべ持続的にコトが起きている) 。もともと @0x_osyoyu は衝動的なところがあって、先日も突如夜中に航空券を取得して夜明けとともに札幌旅行にいった末帰宅困難になりフェリーで帰ってくるなどをしていたので、そんな彼のおもいつきに長期間にわたり数人が乗っかっていっているということはやはりみんなプログラマじゃなくて神絵師になりたかったんだろうね。

そいうわけで神絵師アドベントカレンダーですが、以上のノリでアレコレがゴーイングオンという感じなわけで、とはいえホンマモンの神絵師による解説記事などがあったりするとうれしいし勘違いした本物が無双してくれたら超ラッキーっすね。はい。

こういう状況を敢えて挑んでいっていくのはけっこうたいへんなんですよというリンク

また絵の一部

前置きが長くなったところでもう一発かますと良い気がする インフルの予防接種と同じ f:id:Ieshoriveul:20161203032146p:plain

これはなにの記事か

今日はイントュオス・フォーを某県某所にフリーでレンドした @nullkal くんに感謝して (単純に液タブを買って使わなくなったので置いてくれたという経緯っぽい) 、いろいろワチャワチャした話などですね。

某所の slack に #kamieshi チャンネルというのがあり、練習したアレコレをベタっとすると気心のしれたピーポーから指摘がタダでもらえるサービスになっています。もちろんそこに私もベタベタしているとはいうものの、ジ・オープンインターネットに公開するにはためらわれることがあり、ためらわれる理由の一つに描く顔に納得してないというのがあるので、逆にいえば非顔絵を貼るとセーフになりがちというのがあり、そういう絵を描きました。

話2

話として、一応役立ち情報をいうと pixivsensei というのがあり、そこの講座はまともにみてないんですが、みると役立つはずというのがあります。あと、練習するネタとして pixivsensei が毎日出すお題に沿って描くとモチベーションが維持しやすいというのがあり、これは私が確かめたのでガチです。たとえば次の絵は昨日 (一昨日?) のお題であるところの「映画」の絵です。ところで映画というテーマでなんか描くというのは若干むずかしいっすね。

話3

ふだん ThinkPad とめちゃ古いペンタブでカキカキしていたのですが、某所のまともなディスプレイを使うと色が全然違ってマジビビっしたね。いや、 ThinkPad のディスプレイがゴミゲロカスということははっきりしていたんですが、さっき描きながら見比べたら、善良なディスプレイではウニのように鮮やかに見える色が ThinkPad のディスプレイでは色あせたウンコの色に見えるという感じでした。これは本当です。絵を描くにはまず ThinkPad を捨てるところから着手するのがよさそう。人は手元に ThinkPad があると使ってしまうので、捨てなければならない。絵を描くのにトラックポイントはいらないぞ。

これは様子です。

全体像 (「#映画」 の絵)

f:id:Ieshoriveul:20161203025236p:plain

練習についてなど

さっきいったコトの発端のときにボールペンでやっていったというのがあり、そのときはこんな感じでした f:id:Ieshoriveul:20161203033839p:plain (これは模写です) f:id:Ieshoriveul:20161203034632p:plain (これも模写)

ところでペンタブで描いて練習したときよりも最初に腕試しでボールペン絵をやっていったときの正直綺麗に見える気がするんですが、そういうギャップをね、やっていきたいとおもうわけですよ。 最初にペンタブで描いたときは……その後練習をして判明したんですが……おっと

また次回 (なぜなら 25 日分を数人で埋めねばならないから。多くの人がエントリーすればするほど私の記事は長くかつ有益になります)

広告

@0x_osyoyu の絵描きアカウント @ka3e4 の更新が滞りがちになっています。やっていってほしいですね。次回、ついにコトの発端の張本人 @0x_osyoyu の番です。ステイチューンド

追記

公開してから直すのずるい気がするけど、公開した直後に気づくこともありがち。寝る直前に眺めてたら影を足したくなったんで足しました。

f:id:Ieshoriveul:20161203061800p:plain 新しいレイヤを一番上に作って適当にほぼ真っ黒なペンでベタベタクソ雑に影を足して burn に設定して透明度をいじったほんの1〜2分の作業でも絵の魅力が変わってくる気がします、まず目が自然にいく箇所が目について欲しい箇所に誘導されやすくなって、それもいい感じですね。

秘伝のアドレス帳のこと

ガラケーがあらゆるフォーマットをぶっ壊しながら突っ走っていて、そのまわりでみんなが生まれ、そだち、そして死んでいった古き良きゼロ年代のある年末のこと。 殊勝なことに私は年賀状を人々に出そうと思って、当時持っていた京セラの小さなガラケーから microSD カードを経由して MS のなんか email みるやつ (名前もうわすれた) へエクスポートしては年賀状を (メールで) 送信したりして有意義な年始を向かえました。(容姿端麗成績優秀、さらに明るく社交的な性格なので皆に好かれていたし友だちも多かった)

それから寒い寒いと言って手を擦りながら初詣から帰ってくると、家ではパソコンに入っているメーラーが色々破滅的になっているアドレス帳とともに待っているわけですね。これをいつしか ThunderBird にエクスポートし、さらにいつしか (中3くらいかな) gmail にエクスポートしてそのたびにソフトウェアの時空の隙間を通ったアドレス帳は着実に破綻していきました。破綻です。

いつしか、名前と電話番号が入れ替わっている、住所やメモ欄がおかしくなっている、名前がなくなっている、同じ人間が二重三重に登録されている、プロフィール中に同じ電話番号が3つも並んでいる、どれが最新のメールアドレスか分からない (これは管理を怠った私に問題があるが……) と個性豊かなデータが何百件か gmail に入っているということになります。

ときは下って スマートフォン/クラウド全盛期時代、何が起きているかというと、ちょっと説明が難しいのですが……… 例えばあんまり仲もよくなかったクラスメートの住所が Google Maps 上に表示されていたり (たくさんある連絡先のうちわずか3件だけ。彼・彼女らにこれといった共通項はなさそうだ) 、 携帯を介して LINE や facebook にこれが輸出されていってとにかくすごいことになったり、すごい。すごいことになってきたな〜〜〜。これはもう解きほぐす気力もないし一生私はこの乱雑に破滅したデータと緩やかにつきあって暮らしていきます。

アラブねこ

この記事は猫写真 Advent Calendar 2015 - Adventarのやつです。撮りためた猫写真をひたすら貼っていってくだしあとのこと

f:id:Ieshoriveul:20130818183957j:plain 猫の餌

f:id:Ieshoriveul:20130822164204j:plain 魚市場ねこ。湾岸ねこの食文化は海産物も多いねこ。

f:id:Ieshoriveul:20130822184317j:plain みずたまりは涼しげアラブねこ。

f:id:Ieshoriveul:20130822184423j:plain f:id:Ieshoriveul:20130822184435j:plain きのぼりねこ。きのうえにも涼しげねこ。

f:id:Ieshoriveul:20130822232253j:plain f:id:Ieshoriveul:20130822232318j:plainf:id:Ieshoriveul:20130822232302j:plainf:id:Ieshoriveul:20130822232329j:plain ゆうぐれおさんぽねこ。

f:id:Ieshoriveul:20130827122835j:plain UNIX

f:id:Ieshoriveul:20130829232227j:plain ねこの敵、野犬。夜中山の中で吠える。

f:id:Ieshoriveul:20130902023450j:plainf:id:Ieshoriveul:20130902023525j:plainf:id:Ieshoriveul:20130902024303j:plain ねむいけどねつけない微妙な夜のねこ。

bitviorでvirtio-net

[この記事はbitvisorのステマ記事です][この記事はBitVisor Advent Calendar 2015の3日目の記事として先輩に書かされました][怖い]

みなさんご存知BitVisorですが、最近virtio-netに対応したことは知ってます?

check it out

BitVisorの最新版はbitvisor.orgじゃなくて、bitvisor / bitvisor — Bitbucketにあります(安定版はない)。 テストも安定版tagもないので運が悪かったらそれまでですが、EDK2とかもそんな感じだしまあいいでしょ(よくない💢)。

 hg clone ssh://hg@bitbucket.org/bitvisor/bitvisor

make config

なんやいろいろありますが、NET_*系があれば機能的にはOK。

defconfig

機能的に足りていても設定されないと動かないのが世の常。 イケてる系だとそんなの起動時オプションとかでサクッとヨユーなんですが、芋いVMMは無理、許して。機能の使い分け・ペリフェラルの設定は config.oとかいう物体に格納された全設定項目入り構造体の実体で制御します、こいつの値はビルド時にdefconfigをいじるといじれる。

もっとdefconfig

defconfigがないとmake時に勝手に作られます、っていうかconfig.cでのincludeもこの名前決め打ちってそれデフォっていうかタダの設定ファイルやんけ!

そういう仕組みなので、手でdefconfig.tmplからコピーしてmakeしたほうが上品だが、makeしてビルド終わってから後で変えてもすぐ反映されます、これは救いっぽい

virtio化について

Q: bitvisorってパラパスじゃねえの、なんでわざわざ準仮想化デバイスすんねん

A: パススルーのほうが楽だけど、VMMのデバッグとか謎機能の実装とかで、VMM側もネット使いたいことあるやろ!

Q: 今までじゃあどうしてたの?

A: 例えば、VMMでもう一本ガメる(別居)とか、あるいは、パススルーっぽくしておきつつも割り込みはVMMに引き込んで自分宛のだけ盗む(同棲)という技を使ってた

Q: え、それって…………

A: デバイスが二度リセットしたりするけど、映画みたいに避けるとなんとかなる

Q: ……

A: 準仮想化いいよね

では

defconfigの下の方に空気を読みつつ以下のようにショドーすべし

                :
                :
        .driver = {
            .pci = "device=pro1000, driver=pro1000, virtio=1, net=pass, tty=1, and,"
                   "device=bnx, virtio=1, net=pass, driver=bnx, tty=1"
        },
                :

こうすると

PRO/1000などのPCIコンフィグ空間が盗まれてvirtioのPCIコンフィグ空間になる

# 速度

どうせGigabit etherしか対応してないし、ベアメタルと同じく931Mbps出る

FAQ

Q: 俺のパソコンで動かない

A: lspciして本当のデバイスが見えてしまっている場合はアレや、アレをみるんや……………

drivers/net/<your-bitch-netcard>.cの下の方の

 .device     = "class_code=020000,id="
              "14e4:165a|" /* BCM5722 */
              "14e4:1682|" /* Thunderbolt - BCM57762 */
              "14e4:1684|" /* BCM5764M */
              "14e4:1686|" /* BCM57766 */
              "14e4:1691|" /* BCM57788 */
              "14e4:16b4", /* BCM57765 */

みたいなとこにアレとアレがないんや………

僕は例えばこれを足しました:

           "14e4:165f|" /* BCM5720 */

そんなときは

lspci -nnk

以上

Cプリプロセサを使い、#includeディレクティブにマクロで生成したファイル名を読ませる

タイトルのとおりだが、難しいぞ。

例えば、こういうのなら簡単だ:

#define _CONCAT(X,Y) X ## Y
#define CONCAT(X,Y) _CONCAT(X, Y)
#define HEY(X) CONCAT(X, X)
#define YO yo

int HEY(YO);

int yoyo;になるはず。

この、一段プリプロセサの命令を使う前に展開させるためのクッションを入れるテクを使うと、例えば、

#include CONFIGFILE(def)

が、

#include "defconfig"

になってほしいなら、

#define QUOTE(X) # X
#define QUOTIFY(X) QUOTE(X)
#define _CONCAT(X,Y) X ## Y
#define CONCAT(X,Y) _CONCAT(X, Y)
#define _CONFIGFILE(X) _CONCAT(X,config)

#define CONFIGFILE(X) QUOTIFY(_CONFIGFILE(X))

#include CONFIGFILE(def)

とすればいい。

では、次に

#include CONFIGFILE(def)

が、

#include "../defconfig"

となるにはどうすればいいだろうか。

#define UPDIR ../
#define __CONFIGFILE(X) CONCAT(UPDIR, _CONFIGFILE(X))

を足すと、 error: pasting "/" and "defconfig" does not give a valid preprocessing token と言われて怒られる。なぜならドットやスラッシュはC言語では一つのトークンをなすからだ。しかし、これを文字列として扱うと、""../""と"defconfig"の連結となってしまい、意図したものとは違うものになってしまう(と言うか以下でも怒られる):

#define _UPDIR ../
#define UPDIR # _UPDIR

しかし、この場合は、文字列連結ではなく、トークンの連接で解決できる、すなわち以下のとおり。

#define QUOTE(X) # X
#define QUOTIFY(X) QUOTE(X)
#define _CONCAT(X,Y) X ## Y
#define CONCAT(X,Y) _CONCAT(X, Y)
#define _CONFIGFILE(X) _CONCAT(X,config)

#define CONFIGFILE(X) QUOTIFY(../_CONFIGFILE(X))

#include CONFIGFILE(def)

やったぜ

Jailでresolv.confどないすんねん問題

jail中でpkg installできないと思ったらそもそも名前引けなかったみたいな事例、普通にresolv.conf書けば治るんですが、それはそれとして

Resolvconf with FreeBSD jails

こういう、Jail中のresolv.confはpublic DNSにしたら?みたいなクソどうでも良い回答でスレッドが終わってて悲しかったので一応言っとくと、

#!/usr/local/bin/zsh

#This file is located /etc/resolvconf.conf

for i in /var/jails/*/etc; do
        cp /etc/resolv.conf $i
done

(ただしすべてのjail環境が/var/jailsの下にある場合)

以上です