Dai Tamesue (為末大)@daijapan
失望が多い人は期待している。そのうちに他者に期待をしては勝手に怒って疲弊している人がいる。誰も頼んでいないのに自分はこうあるべきだ、みんなもこうあるべきだと考えていて思い通りにならなくて怒り疲れる。他人は他人なのでコントロールできないだけなのだがそれがわからない。
Dai Tamesue (為末大)@daijapan
失望が多い人は期待している。そのうちに他者に期待をしては勝手に怒って疲弊している人がいる。誰も頼んでいないのに自分はこうあるべきだ、みんなもこうあるべきだと考えていて思い通りにならなくて怒り疲れる。他人は他人なのでコントロールできないだけなのだがそれがわからない。
S.F.@SFPGMR
まとめを更新しました。「オレオレ言語を作る」
オレオレ言語を作る - Togetter node.jsでWASMを吐くコンパイラを作っています。まだ完成には至っていません。。リポジトリ
masafumi@masafumi
C++でSIMDで最適化の話 masafumi.cocolog-nifty.com/masafumis_diar…
S.F.@SFPGMR
WindowsからLinuxファイルへのアクセスが可能に ~「Windows 10 19H1」におけるWSLの改善 - 窓の杜
@madonomoriさんからWindowsからLinuxファイルへのアクセスが可能に ~「Windows 10 19H1」におけるWSLの改善 - 窓の杜
Oguchi T/小口 高@ogugeo
ベゼライト(ベゼリ石)はハンガリーの鉱山技師のベゼリ氏にちなむ銅の二次鉱物で、美しい青色が特徴。日本では秋田県の荒川鉱山や岐阜県の神岡鉱山で見つかり、当初は荒川石や神岡石と呼ばれた。ベゼライトを多く含む球状の石の動画。 imgur.com/gallery/9tSMBtB 外部もかなり青いが内部はさらに青い。 https://t.co/AdIyvlNlh6
ボタQ@bota9
映画「ファースト・マン」に日本の新聞が出てきた。ウチにも当時の新聞があったはずと探したら、ありました。中日新聞の号外。ボロボロですが、50年前のモノなので、ご勘弁。 https://t.co/YVypANULmW
人工知能・機械学習ニュース [公式]@A_I_News
100ページ以上の強化学習の資料が公開(日本語)
強化学習について分かりやすくまとめられています。
《対象読者》
・強化学習について知らない
・機械学習に興味がある
・生物学の分野出身でモデル生成の行動に興味がある
・ゲームを AI に解かせたい
@komi_edtr_1230
github.com/komi1230/Resum… https://t.co/pEmDu2nwR5
FM-7好きの姪bot@fm7mei
お父さんに「プログラムをしたいなー」とアピールしてNew3DSとプチコンをねだったんだけど、伯父さんが「んー、手軽だけどBASICより速いぞ」って言って、FM-7用のKコンパイラをくれたよ。
…お、おう。姪は頑張るぞい(汗 goo.gl/YJmf1C https://t.co/VhZ8zaiIDj
I-zk tom@Izk_tom
締めはこのゲーム。
よく喋るなぁ。 https://t.co/Jgx4Dv9zHN
S.F.@SFPGMR
ランタイムのデバッグを可能にするためにglsl-simulatorは作られたんだよな。cpuでglsl動かしたらそれが可能になるもんね。。
makeって軽くていいなあ。。
まずはglsl-simulatorをes6モジュール化することから始めることにする。
と思ってソースに手をつけ始めたけど、これはちょっと方向が違うよなあ。。元の路線に戻るか。。って元の路線ってなんだっけ?
要するに型変換のコストをなくしたいんだよな。。あとはglsl風の文法とプリプロセッサ、文字列対応すればいいのだよな。。
ただglsl-simulatorのコードは参考にさせていただこう。。
pratt parser ベース → peg.js ベースと来たけど、最初のバージョンの路線でいいのではという気もする。が、なんかだんだん夢が広がってきてオーバースペック気味だしそのあたり自分の身の丈に戻さんといかんよなあ。。
pegブランチを捨てる決断をせんといかん。。というような大袈裟なことではないが。所詮下手の横好きだからね。。
しかしながらオレオレ言語を作り始めてはや1年が経過しようとしている。wasmの情報もアップデートせねばいかんな。。おそらく今年は何らかの成果物を作ることができると思ってるが、甘いかもしれん。。
でもちょっとどこまで作ってどうしようとして放置したのか思い出せんな。。今年の1月の頭までは作ってたはずなのだが。。
こういう時のためにつぶやきをTogetterにまとめといたんだった。。まさに備忘録。。
オレオレ言語を作る - Togetter node.jsでWASMを吐くコンパイラを作っています。まだ完成には至っていません。。リポジトリ
そうかあ。
・pratt parserのコードをもとに手書きパーサ&コードジェネレータを作りかけ
・グラマーの文書化の重要性に気づき、peg.jsで文法を書き直し
・glslに立ち返り、仕様書のBNFをPEGに変換しはじめた
でしたな。。
この辺も読んどくか。
コンパイラ勉強会 まとめ #compiler_study - Togetter 2018/11/10(土) コンパイラ勉強会 @ Fixstars のまとめです。
これも読まんとな。。
No Image低レイヤを知りたい人のためのCコンパイラ作成入門
ベクトル解析の本を図書館で借りたんだけどこれも全然読んでない。というか読む時間がない。。
binaryen.jsの現バージョンをちらりと見たらなんかSIMDというキーワードを見かけたけどひょっとして実装されたのかな?
これですかな。
SIMD by tlively · Pull Request #1820 · WebAssembly/binaryen · GitHub This PR has:
Parsing and printing
Assembling and disassembling
Interpretation
C API
JS API
and their respective tests. It does not have:
Fuzzing
あかん。wasmのインストラクション半分忘れとる。。
GitHub - AssemblyScript/binaryen.js: A buildbot for binaryen.js, a port of Binaryen to the Web, with TypeScript support. A buildbot for binaryen.js, a port of Binaryen to the Web, with TypeScript support. - AssemblyScript/binaryen.js
そうかそしてbinaryen.jsをwasmでビルドすると動かなくなってしまったんだっけ。。確か。対応しないといかんなあ。。
ビルドしなおすと確かに命令増えとるな。。SIMDですがな。。これでベクトルの演算書いたらいいかんじになるのでは。。 https://t.co/SsTEy1xBLv
前にbinaryen.jsをwasmでビルドしたときの記録はこれだ。
Promiseチェーンがどこで切れてるかをもうちょっと詳細に書いておけばよかったよ。どこで切れてたのか忘れちゃったよ。。
S.F. Blog:binaryenをwasmでコンパイルしなおす 今作っているオレオレ言語はbinaryen.jsというライブラリでwasmバイナリを出力している。これを使うことによってJS上でwasmオペコードを編集・バイナリ出力・テキスト形式出力などが簡単にできる。https://github.com/AssemblyScript/binaryen.jsbinaryen.jsはbinaryenをemscriptenでコンパイルしたjsファイルである。これを今...
そこが修正されてるかどうかわからんもんな。。それとemscriptenが吐くJSはES5レベルっぽいのでちと古い。。なんかES6で吐くオプションがありそうな気がするけれど。
このSIMDインストラクション群たぶん内部でエミュレーションするんだろうなあ。このインストラクションをそのまま受けることができるブラウザは存在するのかな。 https://t.co/RuXa8JMG2C
ちなみにビルドするときはbuild.jsをこのようにしている。
compileWasm({
post: path.join(projectDirectory,"scripts" ,"binaryen.js-post.js"),
pre: path.join(projectDirectory, "scripts" ,"binaryen.js-pre.js"),
out: "binaryen-wasm.js"
});
binaryenの中身見たらエミュレーションかどうかすぐわかることだけどな。。
いずれにしろSIMDでベクトルの演算を吐くようにしとけばブラウザやnode.jsがよしなにしてくれるようになるのだろうし、利用しない手はないな。。なんかうれしいなあ。。
一応ビルドはできたんだけど、動かしてみるのはこれから。。動くかなあ。。
GitHub - sfpgmr/binaryen.js at support-binaryen-wasm-esm A buildbot for binaryen.js, a port of Binaryen to the Web, with TypeScript support. - sfpgmr/binaryen.js
やっぱり動かんな。でも直せそうな気がする。。
どこでダメになってるのかは分かった。binaryen.jsはparseText()というメソッドがある。
GitHub - AssemblyScript/binaryen.js: A buildbot for binaryen.js, a port of Binaryen to the Web, with TypeScript support. A buildbot for binaryen.js, a port of Binaryen to the Web, with TypeScript support. - AssemblyScript/binaryen.js
bynaryen独自のs式を渡すとモジュールバイナリを返してくれるというメソッドである。
でこれを使って、watで書いたヘルパ関数をwasmバイナリ化してJSから呼んでいるのだが、このparseText()メソッドで以下のエラーが発生していた。以前のバージョンではエラーは起こらなかった。
[parse exception: f32.reinterpret/i32]Fatal: error in parsing wasm text
ちなみにf32.reinterpret/i32というのは、i32のビット配列をそのままに型だけをf32にするというインストラクションである。これ自体は特に問題ないのだが、なぜかここでエラーが発生してしまう。
ソースはこれである。実際これをwat2wasmに食わせるとエラーなしでwasmバイナリを吐く。だがparseText()に渡すと先ほどのエラーが出るのだ。。
sgl2/generateCode.mjs at binaryen-debug · sfpgmr/sgl2 · GitHub TDOPパーサをベースとした言語を作っていく. Contribute to sfpgmr/sgl2 development by creating an account on GitHub.
私が書いたS式は「official stack-style text format」で、「Binaryen's s-expression text format」じゃないからかな?と推測してるところだが、この「Binaryen's s-expression text format」って何?ちゅうのが今今の状況。。
S式って論理的・あいまいさがなく・無駄もない感じがしてちょっと好きになった。LISPが根強く残るのもよくわかる気がする。
しかし以下のS式はいけるんだよな。
(module
(export "test" (func $test))
(memory $memory 1)
(export "memory" (memory $memory))
(func $test
(drop(grow_memory (i32.const 3)))
(i32.store
(i32.const 0)
(i32.mul (current_memory) (i32.const 65536))
)
)
)
reinterpret/i32という記法がいかんのだろうか。。ちょっとbinaryenのソースを覗いてみるとするか。。
これがS式のパーサのコードっぽいな。。
binaryen/wasm-s-parser.cpp at 1.38.10 · WebAssembly/binaryen · GitHub Compiler infrastructure and toolchain library for WebAssembly - WebAssembly/binaryen
ここがreinterpretインストラクションを判別してるコードなんだけどなかなか効率的ですわ。。
binaryen/wasm-s-parser.cpp at 1.38.10 · WebAssembly/binaryen · GitHub Compiler infrastructure and toolchain library for WebAssembly - WebAssembly/binaryen
reiまで見ればreinterpretだと判別できるからな。。ただこのコード見ると、型を見てソースの型を判断してるようだから、reinterpret/i32の「/i32」はあってもなくてもいいような気もしないでもない。
ちょっと気になるのはreinterpret/i32と書いたときにトークナイザーがどういう処理をしてるかなんだな。
このエラーを見る限りはきちんと解釈しているようには見えるのだが。もし「/」を区切り文字として解釈してるのであれば違うエラーがでそうな気もする。。
[parse exception: f32.reinterpret/i32]Fatal: error in parsing wasm text
もうちょっとコードを読まないといかんなあ。。
ここを読んでる。
SExpressionParser::parse()
binaryen/wasm-s-parser.cpp at 1.38.10 · WebAssembly/binaryen · GitHub Compiler infrastructure and toolchain library for WebAssembly - WebAssembly/binaryen
わかった。。
記法が変わったんだ。。
f32.reinterpret/i32
↓
f32.reinterpret_i32
binaryen/gen-s-parser.inc at master · WebAssembly/binaryen · GitHub Compiler infrastructure and toolchain library for WebAssembly - WebAssembly/binaryen
いろいろ変わっとる。。
get_local → local.get
i64.extend_u_i32 → i64.extend_i32_u
これはwatと互換性なさそうな感じだけどこのインストラクションでwat2wasmやるとどうなるのかな。。
やってみたらエラーでたわ。。
wat2wasm ./sgl2lib2.wat
./sgl2lib2.wat:10:6: error: unexpected token "f32.reinterpret_i32", expected an instr.
(f32.reinterpret_i32
^^^^^^^^^^^^^^^^^^^
./sgl2lib2.wat:12:12: error: unexpected token local.get.
(local.get $i)
^^^^^^^^^
.
.
ちゅうことはこの一文は正しいなあ。。
parseText(text: string):
Module Creates a module from Binaryen's s-expression text format (not official stack-style text format).
binaryen.js API · WebAssembly/binaryen Wiki · GitHub Compiler infrastructure and toolchain library for WebAssembly - WebAssembly/binaryen
masterブランチのコードは修正した。binaryen's s-expression text formatにね。。
sgl2/generateCode.mjs at master · sfpgmr/sgl2 · GitHub TDOPパーサをベースとした言語を作っていく. Contribute to sfpgmr/sgl2 development by creating an account on GitHub.
コンパイラのエラーも消えたわ。。
https://t.co/yr0KIbHB4e No Imageオレオレ言語を作るオレオレ言語を作る
インストラクションから特殊文字を消すという提案があったのですな。。
Text format revisions · Issue #884 · WebAssembly/spec · GitHub At the Oct. 2 CG meeting, there was unanimous consent to consider making changes to the text format to improve the consistency of instruction names and remove special characters. Specifically, interest has been expressed in removing slas...
変わっとる。。「/」が消えたのですな。。
No ImageInstructions — WebAssembly 1.0
wabtもビルドしなおすか。。
GitHub - WebAssembly/wabt: The WebAssembly Binary Toolkit The WebAssembly Binary Toolkit. Contribute to WebAssembly/wabt development by creating an account on GitHub.
まあいずれにしろ、動かなかった原因はテキスト・フォーマットが変わったということでいいかな。。
wabtをアップデートしたら新しいインストラクションでも大丈夫だったわ。とりあえずよかった。
しかしSIMDのサポートが入ったのはちょっと大きいよな。。
ようやくというか、考え迷っていたオレオレ言語の方向性が昨日固まったので、それに従って進めていこうかなと。キーワードは「CPUとGPUコードのシームレスな統合」なんだけど。きれいに言うと。ただそれを実現することは私にとっては容易いことではない。
ちょっとスッキリした。。
S.F.@SFPGMR
wasm SIMDって今開発中のステータスなのね。。
No ImageWebAssembly SIMD - Chrome Platform StatusWebAssembly SIMD will expose hardware SIMD instructions to WebAssembly applications in a platform-independent way. Implementations will explore using SIMD.js as a basis for WebAssembly SIMD. Add three SIMD vector types: float32x4, float64x2, and int32x4, and corresponding Typed Array views.
SIMD can speed up applications that process lots of data that is naturally organized as 2, 3, or 4 element vectors. SIMD is also useful when compiling native code to WebAssembly.
S.F.@SFPGMR
とりあえず眠いので寝ることにしよう。おやすみなさい。。
S.F.@SFPGMR
こ、これは。。
Alon Zakaiさんのツイート: "Binaryen now has experimental wasm SIMD support, thanks to tlively https://t.co/wQwux5liE6 probably the largest PR we've ever had!"
S.F.@SFPGMR
まとめを更新しました。相当紆余曲折してますな。。「オレオレ言語を作る」
オレオレ言語を作る - Togetter node.jsでWASMを吐くコンパイラを作っています。まだ完成には至っていません。。リポジトリ
そろそろGLSL/C++の仕様書読みを再開しようか。。
仕様書読みでなくて「オレオレ言語」作りだった。。
気がつくとC++ のドラフトも N4800に上がってるな。。日々進化し続けるC++。
draft/n4800.pdf at master · cplusplus/draft · GitHub C++ standards drafts. Contribute to cplusplus/draft development by creating an account on GitHub.
オレオレ言語もまずは可能な限りglsl es 3.0に忠実に実装を進めようかなと。できる限りだけどね。文字列関係はC++の仕様を借りようかなあと思ったりしてる。
でももうこういうのあるんだよねえ。これをベースにしてwasm化するのがいいかもね。。
No Imageglsl-simulatorglsl-simulator : A simulator for OpenGL ES 1.0 Shader Language written in JavaScript.
これのデモページもかなりいい感じ。。
No Imageglsl-simulator: debugger
このglsl-simulatorはglslのデバッグ目的なんだよね。確かに変数トレースやブレークやステップ実行とかできんもんな。ふつう。CPUでそれをシミュレーションすればできるわな。。
まあでもプリプロセッサを自作したいちゅう欲望が渦巻いてるので、まずはそこから再開しようかなと。今年中にできるだろうか。。
去年はコンパイラをどうやれば作れるのかが多少理解できたレベルで終わった。今年はまともなやつを作りたいよねぇ。。でもソースをコンパイルして実行できた時のうれしさは去年第一位ですよ。。
しかしまずは勉強のため、glsl-simulatorの中身を見てみようか。残念ながらレポジトリは4年前で更新が止まっている。
GitHub - burg/glsl-simulator: A simulator for OpenGL ES 1.0 Shader Language written in JavaScript. A simulator for OpenGL ES 1.0 Shader Language written in JavaScript. - burg/glsl-simulator
とりあえずglsl-simulatorをforkした。
中身見るとES6化したくなったり、binaryen使ったりしたくなるだろうだけど、それは成り行きで。。趣味ですから。。
GitHub - sfpgmr/glsl-simulator: A simulator for OpenGL ES 1.0 Shader Language written in JavaScript. A simulator for OpenGL ES 1.0 Shader Language written in JavaScript. - sfpgmr/glsl-simulator
binaryen.jsはforkしてwasm化した。ASTのレベルでこれを使ってwasmを吐けばいいかなあと。
S.F. Blog:binaryenをwasmでコンパイルしなおす 今作っているオレオレ言語はbinaryen.jsというライブラリでwasmバイナリを出力している。これを使うことによってJS上でwasmオペコードを編集・バイナリ出力・テキスト形式出力などが簡単にできる。https://github.com/AssemblyScript/binaryen.jsbinaryen.jsはbinaryenをemscriptenでコンパイルしたjsファイルである。これを今...
あとはちょっと考えてるのはAssemblyScriptを使ってコンパイラを書き直すというパターン。
GitHub - AssemblyScript/assemblyscript: Definitely not a TypeScript to WebAssembly compiler 🚀 Definitely not a TypeScript to WebAssembly compiler 🚀 - AssemblyScript/assemblyscript
AssemblyScriptって筋のいいプロジェクトだと思ってるんだよね。私。。
binaryen.jsというのは、binaryenをemsciptenでjs化したもの。
GitHub - WebAssembly/binaryen: Compiler infrastructure and toolchain library for WebAssembly Compiler infrastructure and toolchain library for WebAssembly - WebAssembly/binaryen
これをインフラにしてtypescript風のsyntaxを載せたのがAssemblyScriptである。
これ使って書き直せば、コンパイラ自身もwasm化できるんだよな。でまあ最終的にはセルフ・コンパイルしてAssemblyScriptから卒業するというパターンとかどうかなあとか。
とりあえずレポジトリをforkしてビルド環境を整えている途中。AssemblyScriptで書き直せるか試してみよう。ん。ちょっとまてよ。。
GitHub - sfpgmr/glsl-simulator: A simulator for OpenGL ES 1.0 Shader Language written in JavaScript. A simulator for OpenGL ES 1.0 Shader Language written in JavaScript. - sfpgmr/glsl-simulator
pegjsを使うということはpegjsが吐くコードをAssemblyScript化しないといかんよな。うわぁ。。ちゅうことはpegjsも改造が必要。。ちょっと無理かもな。。
パーサー部分を手書きすれば回避できるんだけど、どうしようかなあ。。pegjs自体をAssemblyScriptで書き直すという考えもあるけど、そうなるとそれ自体の依存モジュールをAssemblyScript化しないといけなくなるよなあ。。この筋はちょっとあきらめるか。。
結局ファイルI/Oとか考えるとJSを使わないといけないように思うから、JSをまとめ役として考えて、モジュールレベルでAssmeblyScriptの使用を検討するのがいいよなあ。。使うのなら。
binaryen.jsで直接wasmを吐く形で当面は進めるかな。。
スナップドラゴン1.3GHz@ドラガリ@Snapdragon_XZ
パソコンの改造に欠かせない知識
パソコンの分解中にネジ山が潰れてしまった時の緊急的な対処方法。
#パソコン改造 #パソコン分解 https://t.co/R8shDHr8mO
Adam Samson@adamshmamshon
Wave 3.1 - Made a rotating version to show just how bonkers the shader turned out to be #madewithunity #unity3d #HDRP https://t.co/8WHPjfszxM
S.F.@SFPGMR
40年近く前だと静止画でもレイトレでレンダリングするのに数日かかってたんですよね。。隔世の感がありますな。。
はのばさんのツイート: "レイトレ動いた〜! #UE4… "
Kumagai, M@kumarobo
おっかねー(笑
というか、宇宙開発ってコンサバ技術で積み上げる物だとおもっていたのだけど、ここに見えるだけでもアグレッシブ。
> apollo11号のソースコードを読みつつ - aerith7’s blog aerith7.hatenablog.com/entry/2016/12/…
S.F.@SFPGMR
昔作ったShadertoyで作ったシェーダーで2Dラインを引くコード。なんとも地味なGPUの使い方。。
Shader - Shadertoy BETA
それを作った時の記録がこれ。「対象ピクセルが線分上にある場合はそこに色を付ける」っていう考えで作ったんだよな。
S.F. Blog:フラグメント・シェーダー(Shadertoy)で2D Line(線分)を描く フラグメント・シェーダー(Shadertoy)で線分を書いてみようと思った。Shadertoyのフラグメント・シェーダーは描画するピクセルごとにmainImage(out vec4 fragColor, in vec2 fragCoord)が呼ばれる。画面のピクセル個数分このmainImage()が呼ばれるのである。この関数で描画色を決め、fragColorに色をセットする。fragCoordは描...
でもっと簡単に線を引いている人がいて、衝撃を受けたという。。
下のポストのコメントに書いてあったんだけど。。
Shader - Shadertoy BETA
引用するとこれなんですが。
float line( in vec2 p, in vec2 a, in vec2 b )
{
vec2 pa = p - a;
vec2 ba = b - a;
float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 );
float d = length( pa - ba*h );
return clamp(((1.0 - d)-0.99)*100.0, 0.0, 1.0);
}
まあこのコメントの人はiqさんだったのですが。。かの有名な「elevated」という4k intro デモを作った人だったという。。
これのwebgl版がこれ。今にすれば「ふつう」なのかもしれないが、当時は衝撃を受けたんだなあ。こういうのに。。
Shader - Shadertoy BETA
これとかもすごいよねえ。。
https://t.co/eCTlmy6HWdShader - Shadertoy BETA
シェーダーだけで作ったパックマンとかもうどうやってんだ。。
Shader - Shadertoy BETA
3DCGは数学や物理の知識が役に立つというか、知識があればあるほど生産性向上に繋がる分野だと思うなあ。。
S.F.@SFPGMR
No ImageGLSL Sandbox Gallery
全手動ドラム式でこぽん@saku2kosaku
メンがヘラって何もやる気が起きないから、photoshopで金星をたこ焼きにしてる。結構いい感じにできたので才能を感じている。 https://t.co/PgoaMtWCZU
S.F.@SFPGMR
TLにモジュラー接続の画面が出てきてた。私も昔WebAudioのNodeをモジュラー接続して鳴らすやつ途中まで作ってたのを思い出したな。。
https://t.co/gmQjDZWuoK No Image
結構頑張ってたみたいだな。。
S.F. Blog:キーワード「webaudiomodular」 のアーカイブ キーワード「webaudiomodular」 のアーカイブ
放置してもう3年以上になるのか。。
WebAudio自体中身変わってるだろうから、実際に音が鳴るかというと怪しい。。が、触ってみたところUIはちゃんと動いたな。。
ほう。。EGのエディタとかも一応作ってたのか。すっかり忘れとるわ。。 https://t.co/7xPzSwcyDv
一応使い方はここに書いてあるな。。
S.F. Blog:Web Audio APIのモジュラー接続デモを作ってみる(17) - localStorageを使ってデータ保存・読み込みを作る コードを改良するたびにテスト用のモジュラー接続を作ったりデータ入力をするのが面倒なのでlocalStorageに保存するようにしてみた。Bugはあるがとりあえず保存・読み込みができるようになった。データ形式はJSONである。例によってChromeのみで動作する。http://sfpgmr.github.io/webaudiomoduler/dist/20151206/使い方だが、マウス操作は以下の...
Masatatsu Nakamura@mattatz
インプットから複数アウトプットへのデータフロー、コネクションのオーバーライト、Ctrl+Dragで描けるPolylineでコネクションを切るUIを実装した💯 #javascript #svg https://t.co/5dagS38jKK
寺町電人@DentoTeramachi
おまけ。<VECTOR PILOT(ベクターパイロット)>。ゲーム本体の完成度はもちろん、ほぼ”まんま”のサウンドがたまりません! 5面をクリアすると何かが起こる・・・! #ocyame https://t.co/aEVJcKEBKE
イスラエルエリカちゃん@syuu1228
カーネル構造にかなり手を加えた「新しいWindows 10」が噂されている、みたいな話なんだけども、そこまで手を入れたものも10って呼ぶの… twitter.com/syuu1228/statu…