C++、15年とかいうレベルで書いてない気がする…

書いたとは言ってない

LabViewよりはつらくなかった印象(なにをやってたんだ

2018-07-11 01:56:54 松屋とすき家に行ったら金が溶けるから我慢の投稿 nacika@oransns.com

このアカウントは、notestockで公開設定になっていません。

さすがに$399はキーボード別の値段かあ(それでもLinuxが入ってHHKB BTがつながるなら悪くないかも)(キーボードのないマシンにLinuxをインストール)

2018-07-11 02:15:25 はまだ(てすとくん)の投稿 testkun@mstdn.beer

このアカウントは、notestockで公開設定になっていません。

紅い★のサッポロうらやま!

富豪ビット

ない

2018-07-11 04:02:41 unaristの投稿 unarist@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

2018-07-11 04:02:51 unaristの投稿 unarist@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

NaNのあまりビットに情報いれてるの、なんだっけ!

寝よう

@ksmakoto なるほど、そういう名前でしたか!何かの実装で使ってるよってどこかのポッドキャストかなにかで知ったのですよねー。

@tadd なるほど、そういう名前でしたか!何かの実装で使ってるよってどこかのポッドキャストかなにかで知ったのですよねー。

ルンバさんアプリ、ルンバさんが帰宅を始めた時点で「仕事無事終わり!」って報告してくれるので、そのあと遭難する可能性もある。

そもそも目の前の家電と通信するのに、たぶんバージニアかどこかの計算機経由なの、おもしろいよねー(今度どこ経由か調べてみたいな)

WeMoは電話が家のネットワークに居ればローカルでおさまってるっぽいよね(そして時々デバイスを見つけられないw

ああtogetterのmastodon版がほしい

2018-07-11 07:30:07 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

メモリ空間はまずカーネル空間とユーザー空間で分けられてるし,ユーザー空間のメモリも 1 のプロセスが全部占有できるわけではなくプロセスあたりのスタック容量とヒープ容量は決まってて,そうしたプロセスに紐付いた仮想メモリのページテーブルをガンガン切り替えていってプロセスを切り替えてマルチプロセス動作するので

2018-07-11 07:30:42 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

Linux なら sysctl とかでスタックの容量とかの制限はとっぱらえるんけど,Windows がそこらへんどういう設計でどうやっていってるのかはあんまり覚えてないから知らない

2018-07-11 07:33:21 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

Linux には kexec(2) というシステムコールがあって,名前の通りカーネルを起動するシステムコールなのですが,exec(2) が自分自身のプロセスを全く新しいプロセスとして作り替えて別のプログラムを起動するように kexec(2) は新しくカーネルを起動しなおしてソフトリブートみたいなことをする

2018-07-11 07:34:16 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

Wine は DirectX 9 はかなりの完成度で,DirectX 10 や DirectX 11 も一部はサポートしてる

2018-07-11 07:34:52 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

wine は互換レイヤーやエミュレーターとはまたやってることが少し違うので場合によってはグラフィック処理なんかでも Windows より性能向上することもあるよ

2018-07-11 07:37:18 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

とはいえ Windows と *nix は根本的に違う仕組みのモノなので性能が落ちるときこともあるし,Windows の user32.dll とか kernel32.dll とかを経由する普通のアプリとかじゃなくてわりと ntdll.dll を叩いちゃうとかあるいはもっとハードウェアに直接働きかけるようなソフトウェアは微妙になりがち

2018-07-11 07:39:48 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

DirectX 12 とか現に GPU ガンガン叩いてるじゃないですかヤダー

2018-07-11 07:40:34 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

あと ASIO みたいなオーディオミキサバイパスするやつも

2018-07-11 07:39:13 白坂/pepepperの投稿 reiden@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

2018-07-11 07:40:13 白坂/pepepperの投稿 reiden@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

2018-07-11 07:41:42 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

抜きもなにも,べつに Windows に限らずカーネルやソフトウェアスタックをある程度バイパスして性能稼ぐアプリなんて今時いくらでもあるじゃないですか

2018-07-11 07:42:36 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

それに Windows の常駐アプリとかシレっとカーネルドライヴァみたいなことしたりなんなら rootkit みたいなことするやつたくさんおるし……

2018-07-11 07:43:48 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

まあ DirectX12 じゃなくても Vulkan とか Metal とかみんなどんんどん低レイヤなので

2018-07-11 07:44:18 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

抽象化が厚すぎると性能出ないし思ったように操作できないってゲーム屋がみんな言うから

2018-07-11 07:45:26 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

MS-DOS の問題はそこじゃなくてメモリ保護がないことのほうが重大なので

2018-07-11 07:46:35 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

カーネルもアプリもフラットなメモリ空間に居るので,アプリがカーネルのデータを別のアドレスに勝手に移動するとかやりたい放題だったし,そういう環境だと素で C の for 文書き間違えたとかだったとしてもそのまま buffer overrun してカーネルの領域のメモリまで上書きしてブッ壊すとかそういうのだったんで

2018-07-11 07:47:02 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

まあ MacOS もそれは同じだったんだけど

2018-07-11 07:47:51 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

Windows NT カーネルはマイクロカーネルとしてキチンと設計されてたけれど,ver. が進むにつれてグラフィック描画とかはガンガンカーネルに戻して性能稼ぐようになって,ハイブリッドカーネルになっちゃった

2018-07-11 07:49:59 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

NT カーネルになっても行儀の悪いカーネルドライヴァーはいくらもでいるし,それに DirectX とかは野放図にみんながデヴァイスを勝手に奪いあって描画するのではなくて,そこにカーネルによる調停とを入れた上でアプリがハードウェアを直接叩く感じなので

2018-07-11 07:51:21 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

これは Linux もそうで,本来 Linux の描画はみんな X が変わりにやるハズだったのに,みんな X をスルーして Linux の DRM(Direct Rendering Manager)な GPU ドライヴァーを通じてガンガンデヴァイスに直で描画してるし

2018-07-11 07:52:19 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

そうしたらフォント描画も XFont は無視して DRM の上に実装したフォント描画ライブラリで描画するようになったりしたし,X がやってることがマウスやキーボードのイベント通知くらいしかやることなくなったから,じゃあ X 要らないじゃんねってのが Wayland です

2018-07-11 07:55:37 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

Dune とかみたいな,いっそのことプロセスという概念を仮想マシン(VM)に置き換えて OS のカーネルの変わりに kvm とか Xen みたいなハイパーヴァイザーが調停すればアプリケーションは DOS みたいにハードウェアを完全に OS 無しで叩くみたいなプログラム書けるじゃん!という研究があったりはします

2018-07-11 07:57:44 白坂/pepepperの投稿 reiden@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

2018-07-11 07:59:09 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

それは逆で,元々は OS がないあるいは OS がただのベアメタル(OS 無しの環境のことね)のアプリのライブラリでしかなかった時代に,CPU とメモリという計算機 1 台の概念をセットにして仮想的に複数作っちゃえば,複数のプログラムが同時に動作できるじゃん!という発明がプロセス

2018-07-11 08:00:40 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

んで,時代が 30 年とか 40 年くらい下ってきてハードウェアによる仮想化支援が一般的になってきてプロセスみたいな OS によるエミュレーションじゃなくて本格的に計算機複数台をご家庭でも仮想化できるようになった時代に,「じゃあプロセスじゃあなくてこの仮想マシンを使うのもアリじゃん」っていった天才が出てきたわけよ

2018-07-11 08:01:48 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

実際 Chrome なんかはプロセスをサンドボックスに突っ込んで仮想化することでセキュリティとかやってるけど,じゃあそもそもプロセスという形じゃなくても仮想マシンならもっと強いサンドボックスとして機能するじゃん,というのもまあ自然

2018-07-11 08:03:05 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

WSL なんかもこの方向の研究の別の枝みたいなもんっすね,あれ Microsoft の論文が元ネタだし

2018-07-11 08:03:43 白坂/pepepperの投稿 reiden@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

2018-07-11 08:04:49 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

そうするとアプリケーションが完全にハードウェアに先鋭化して書けるし,OS によるメモリ保護よりもハードウェアによる仮想化支援のほうがよっぽど強力に分離されてるから VM の中から外へ攻撃するのは難しいし

2018-07-11 08:06:21 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

ただ,この方法だとせっかく OS が抽象化していた部分を完全に抛棄してしまうのでアプリの実装がクソ面倒になるという問題があって,Dune は libDune みたいな OS の変わりになるライブラリを作ってるし,Dune 以前に仮想化が一般化する前にも仮想化を使わずに似たようなことをしようとした ExoKernel が 1995 年には既にありました

2018-07-11 08:07:35 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

まあいくら OS 代わりの library(libraryOS,LibOS)を用意しても,プロセスに比べて VM はやっぱり重いしプロセス同士は簡単に通信できるけど VM 同士の通信はめっちゃ重いので,みんなの家庭の OS のアーキテクチャを新しくしてしまうほどのブレイクスルーには至ってない

2018-07-11 08:08:09 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

ただその libraryOS という考え方やアーキテクチャ(設計)の一端が産業的に成果として応用されたのが WSL です

2018-07-11 08:08:06 白坂/pepepperの投稿 reiden@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

2018-07-11 08:09:20 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

ハイパーヴァイザーが介在する以上はたとえば kvm なら virtio なデヴァイスに限定できるから全部のハードウェアを制御しないといけないわけじゃないけど,とはいえドライヴァからアプリを書くのはやりたくないよなって感じ(だからこその LibOS ではあるのですが,まだクラウドとかでみんなが使う段階にはなってませんね)

2018-07-11 08:09:45 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

一応クラウド向けの LibOS である unikernel というアーキテクチャは商業製品も出てきたことがあるのですが

2018-07-11 08:10:49 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io

実は Xbox One はゲームが Hyper-V の VM として動作してるっぽいし PS3 とか PS4 とか Nintendo Switch とかも VM としてゲーム起動してたりするようなので,案外この概念自体は応用がされてる感じはする

@orumin 通知たくさんすんません!とても参考になります。ありがとうございます!

\Masterに/ :saba: \なりますたー/

Merged tootsuite/mastodon at 7ac5151b74510aa82b07e349373bd442176e1e94 aka v2.4.3

念のためリリースタグのアプリも用意してたんだけど自分が入れた変更のcherry-pickもたいへんだし止めちゃおうかな

ブーストの連投でSidekiqのトゥートの配信が25分まで遅延した様子です。1トゥートの配信に1秒弱かかるのようで、2スレッドで毎分130トゥートくらいずつ配信できてる。

かかるのようで

目玉焼きはベーコンとこしょうでシアワセ

そういえばイカリソースが箱でしか買えなくて今1.8リットルの瓶が6本あるよ。誰か買ってw

2018-07-11 09:32:33 かるばぶの投稿 babukaru@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

げんきでそう!

単発のトゥートなら配送先は120ヶ所くらいなので2スレッドのSidekiqが1分くらいで配り終わる。

ExcelもWordもちゃんと使えば便利なのにねえ

@yakitama それなー

2018-07-11 14:41:54 1日24時間睡眠健康法の投稿 yakitama@mstdn.yakitamago.info

このアカウントは、notestockで公開設定になっていません。

はっ! Coffee Dash Buttonつくりたい。押すとコーヒー淹れてくれるの (ムリです)

2018-07-11 14:57:52 SHIMADA Hirofumiの投稿 shimada@mstdn.maud.io

このアカウントは、notestockで公開設定になっていません。

うなし on fire

commitもタイプしにくいけどinstallもタイプしにくいよね

Mastodonにtwilogとtogetterのインターフェースはやしたいんだけど

ちなみにこのインスタンスからのトゥートは120ヶ所くらいに2スレッドのSidekiqでお送りしております。配達には1トゥート1秒くらいかかるので普段だと最大1分くらい遅延します

2018-07-11 16:18:36 rinsuki@末代の投稿 rinsuki@mstdn.maud.io

changelogの何を読んでるんだろう...

2018-07-11 16:55:07 estplsの投稿 estpls@mstdn.beer

このアカウントは、notestockで公開設定になっていません。

よく行くスーパーの隣りの中華料理屋さんおいしいよ!

お役に立たないw

2018-07-11 17:05:13 てるこの投稿 t@mstdn.beer

このアカウントは、notestockで公開設定になっていません。

2018-07-11 17:04:51 サンロードカマタ :kirakira_fuguri:​の投稿 currymantan@mstdn.beer

このアカウントは、notestockで公開設定になっていません。

あ、ビール買うのわすれてたw

そういえば新しくできたラーメン屋さんにカレーラーメンがあったな

TootCloudでワードクラウドを作成しました! masterいっぱいですたー!! https://tootcloud.ml

.oO(SideiqってPostgresにつなぐんだっけ)

Sidekiqのdyno起動して試してみー

@roman dockerさんchownしたりするからかな?

現在Postgresへの接続は3本(なんか少ないな)

$ heroku ps:scale worker=1
Scaling dynos... done, now running worker at 1:Hobby

したらPostgresへの接続は5本に。びみょうだなーw

Sidekiqじたいはお仕事をRedisから取って来るんだけどお仕事の結果をPostgresに書き込むかどうかはアプリ次第な気がするんですよね

Postgresへの接続数は6に。びみょー。

Sidekiqのスレッド数ちょっと増やしてみようかな

Sidekiqのスレッド数を2から6にしてみました。今は2つのdynoで稼働してるので合計で4から12。あー。Redisへの接続数制限を超えましたw

1 dynoあたり4でどうだ。

だーめーだw あとから起動してきたworker dynoの分の接続数がないw

あ、そうか。ちょっとだけPuma止めてみますね。しばらくの間このインスタンスからエラーが返ります。おさわがせします。

Mastodonのsidekiqは1スレッドあたりPostgresへ1本接続を確立するようです。

Pumaとstreamingを止めた状態で4スレッドのSidekiqを動かしてるとPostgresへの接続数は4、2スレッドにすると2になりました。

にゃーん

蛇足ですがこのインスタンスのPostgresはHerokuの安いやつなのでマルチテナントなので、サーバが管理してる接続数はむっちゃ多くて、自分の分は、heroku pg:infoか data.heroku.com/ から見えるのが一番信用できそうです。

LogEntriesからエラー出てたよってメールもらった。ありがたいのう。