origistan

もう研究はこりごりだよぉとほほ

origistan

もう研究はこりごりだよぉとほほ

マガジン

  • 自作キーボードで言いたいこと

  • C言語を完全に理解したい

    C言語を完全に理解したい男のCを言語そっちのけのllvm学習

  • キーボードを作る

    知られざるキーボードオタクの顛末

最近の記事

遅延が少ないコーデックと言われるaptX-LLとはなんだ

bluetoothオーディオといえば低音質で遅延大というイメージが未だにあるし、標準で搭載されているコーデックであるSBCはその風評を一身に背負っている。まんざら嘘というわけでもないんだろうけど一応弁解の余地はあって、SBCは接続したときにビットレートを決めるという仕組みがあり、いまよりデバイスの性能が悪かった頃は通信の安定性を重視してわざと低ビットレートにしてたんだとか。なのでSBC=低音質という図式は大分昔のものだということだ。ただし遅延に関しては言い訳はできない。なので

    • スマホでマイニングしてみた

      scalaという仮想通貨がある。なんでもRandomXを改良したようなPantheraというアルゴリズムを使っているため、CPUマイニング、とりわけARMのようなエネルギー効率のいいプロセッサとの親和性が高いと謳っているようだ。なんとAndroid用のマイナーが用意されているためスマホで気軽にマイニングすることができる。スマホでマイニングというとelectroniumとかを思い出すけど、これは試すっきゃない。 やってみた ちょっと怪しいけど公式ページからリンクされてるgi

      • レオナルドの悲しみ、ESP32の喜び、僕の慈悲、彼女の厚意

        中身はいつもの自作キーボード談義とbluetoothについてです。前のbluetoothの話とも関連するかもしれません。 AVRマイコン高くない?そうでもない? 自作キーボードといえばAVRマイコンと相場が決まっているが、その値段は決して安いものとは言えない。スイッチサイエンスで売ってる純正(?)品のpro microは何千円という値段で、より安価なセカンドソース品を求めるユーザーも多いことだろう。安価なものなら1個300円あれば余裕で買えるため、そういうのに抵抗がなければ

        • bluetoothで使われてるaptXコーデックとは何だ

          例えばaptXでググるとこのような記事が最初の方に出る 僕はこの記事をどう解釈していいかはわからないが、これが本当ならまるでaptXをつかってなにかやろうと血道をあげていた僕が馬鹿みたいじゃないか。 僕がaptXに期待しているもの それはもちろん低遅延性である。CD並とか言われてもブラインドテストしたらわかんないだろうけど(少なくとも僕はわからないと思う)、無線の遅延に関しては気づく人結構居ると思うし、それだけ大変な問題だ。なので遅延が小さいと言われているaptXに期待す

        遅延が少ないコーデックと言われるaptX-LLとはなんだ

        マガジン

        • 自作キーボードで言いたいこと
          2本
        • C言語を完全に理解したい
          7本
        • キーボードを作る
          2本

        記事

          キーボードをつくってしまった

          たっちたいぴんぐできないこわい この文章はわがsymsym64で書かれた最初の文章だ と、ここまで書くのに何分もかかったのでいつものキーボードに戻ります。前から設計していたsymmetric staggered 64キーキーボードsymsym64の試作品がとうとうできました。こてで中の線を切ってしまったこと以外は大体うまく行きました。数字の6を押すこと以外では問題ありませんね。 所感 試作する前から分かっていたことだが、この配置は少し極端が過ぎる。 そのためか、まった

          キーボードをつくってしまった

          C言語完全に理解したい LLVMと変数編

          お約束 C言語なんもわからん≒C言語のコンパイラ書ける C言語完全に理解≒ズルすればC言語のコンパイラ書ける C++のライブラリを使って、C言語からLLVM-IRを出力するフロントエンド部を作りたい。 変数を扱ってみよう 前回か前々回の投稿までで、数式を評価できるところまで行きましたが、まだ変数を扱う機能は入れていません。変数を扱うのはそんなに難しいことではないのですが、LLVMのレジスタにはいくつか著しい特徴があるのでそれに気をつけなければなりません。 LLVMってなん

          C言語完全に理解したい LLVMと変数編

          C言語完全に理解したい 再帰とフィボナッチ数

          こんかいはただのC言語の話です。半分くらいは 再帰ってかっこいいよね どのプログラミング言語でも使える、定石ともいっていいテクニックに再帰というものがある。これは自分自身を呼び出す関数を使う手法で、漸化式とか数列とかそういった問題についてエレガントにたちどころに解いてしまうすぐれものだ。よく階乗とかフィボナッチ数を求めるとかの問題が例題になるが、階乗は少し考えるとわかるけどすぐにオーバーフローしてしまうのでやりづらい。ここではフィボナッチ数を例としてあげてみよう。 フィボ

          C言語完全に理解したい 再帰とフィボナッチ数

          C言語完全に理解したい 木構造編

          お約束 C言語なんもわからん≒C言語のコンパイラ書ける C言語完全に理解≒ズルすればC言語のコンパイラ書ける C++のライブラリを使って、C言語からLLVM-IRを出力するフロントエンド部を作りたい。 生きています 前から更新が大分空きましたが生きています。よかったですね。勉強はちょっとずつ進んでいるので木構造とLLVM-IRについて書こうと思います。 木構造木構造は自己参照構造体などで実装される、平たく言えばリスト構造の仲間です。リスト構造ではノードとノードが直線的につ

          C言語完全に理解したい 木構造編

          C言語完全に理解したい2.2

          今回はC言語あんまり関係ないです。 複雑な文法のパース A * B * C みたいな決まりきった並びの文字列から情報を取り出すのはさほど難しくないことは前回まででやった通りだが、もうちょっと自由な形式の文章をパースするのは途端に難しくなる。再三例に出している四則演算でいうと (1 + 2) * 2 + 4 みたいなものは人間なら簡単に理解できるけど、なんの直感も使わずにこれを説明するのは難しい。ましてやそれをプログラムに落とし込むなんてとてもとても… ところが、BNFとb

          C言語完全に理解したい2.2

          C言語完全に理解したい2.1 またはboost::spirit::qiの所感

          お約束 C言語なんもわからん≒C言語のコンパイラ書ける C言語完全に理解≒ズルすればC言語のコンパイラ書ける 前回までのまとめ C言語完全に理解したい C言語なんもわからんレベルになりたいと思いコンパイラを書こうとするが、しんどいのでLLVMの中間表現に変換するやつをC++で書こうとした。この方法だと低レイヤーについては学ぶことは期待できないし、コンパイラでコンパイラをコンパイルするみたいなself-containedな遊びができない。 構文解析について 典型的な構文

          C言語完全に理解したい2.1 またはboost::spirit::qiの所感

          C言語完全に理解したい2 または小学校におけるポーランド記法の是非

          お約束 C言語なんもわからん≒C言語のコンパイラ書ける C言語完全に理解≒ズルすればC言語のコンパイラ書ける 構文解析 プログラミング言語の処理系というのはいってしまえば構文解析器、横文字で言えばパーサーだ。構文解析器というのはって…なるともう僕には手に負えないので浅い理解でいうならば文章の構造を解析するものである。解析結果は構文木という木構造に保存される。自然言語ならいざ知らず、よく書かれたプログラムは仕様上、解析するにあたりなんのあいまいさも残さない。というか曖昧だった

          C言語完全に理解したい2 または小学校におけるポーランド記法の是非

          C言語完全に理解したい

          C言語なんもわからん≒C言語のコンパイラ書ける C言語完全に理解≒ズルすればC言語のコンパイラ書ける C言語完全に理解できますか? およそコンピュータに関わる人でC言語に触れたことがない人はいないだろうが、C言語なんもわからんレベルで理解できる人はそう多くないだろうし、すなわちCコンパイラ書けますよなんて人はあんまりいないだろう。 Cコンパイラを書くということはすなわちC言語の仕様を学ぶということなので、これをやるだけで経験値がどんどん溜まっていくという腹筋ローラーなみ

          C言語完全に理解したい

          キーボードを作ってみる その2

          前回(https://note.com/origistan/n/nd2fc2965b832)の続き 今回はケースについてになると思います。 何もしてないのにキーボードが壊れました 不慮の事故により普段使っているキーボード(FKB8769)が壊れてしまった。まったくこれだからメンブレンは……。今は持ってた青軸キーボードを使っているのだが、存外悪くない。なのでキーボードを作るモチベーションが上がったようでまるで上がってないのだが、作ろうとする姿勢は見せますよ。 基板が到着 発

          キーボードを作ってみる その2

          ポインティングデバイスの賛否両論

          前回作ろうとしたキーボードについての補完的な話をしたい。 夢のポインティングデバイス ポインティングデバイスがついているキーボードは夢のような存在だ。とりわけ60%キーボードみたいに指を動かさなくてもいいキーボードを使っている人ほどそう思うはずだ。とはいってもThinkPadだったりelecom製品やFUJITSU COMPONENT製品で実現されている。 そう思ってキーボードにポインティングデバイスをつけたのだけれど、トーシローの僕が用意できたのはアナログスティックだけ

          ポインティングデバイスの賛否両論

          キーボードを作ってみる

          今回は画像ありますよ! 必要は成功の母と言うけれど あんまり自分でキーボードを設計する必要性を感じていない。多分仕事したら自作のキーボードなんて持っていけないし、旅行にキーボードを持っていくわけにはいかない。そういうことを考えるとどこにでもあって、どこにでも売ってるようなキーボードに慣れるのがいいのではと思う。日本だったら英語配列すらどこにでも売ってるかは怪しいけど。 じゃあなんでキーボードを作ろうと思ったかというと、電子工作がしたかったからというのが大きいと思う。見事に

          キーボードを作ってみる

          自作 キーボードは こんなに 楽しい

          *注意* 文字しかありません。 なんでキーボードを自作するの キーボードは毎日使うものだからやっぱり手に馴染むものを使いたい。 既成品も悪くはないけど、もうちょっと自由に使いたいと思う人、いるんじゃないかな。作れます。自分だけの配列、自分だけのスイッチの組み合わせのキーボードが。 メカニカルキーボードです メカニカルキーボードはキーの一つ一つがスイッチとして独立しているタイプのキーボードである。自作キーボードはプリント基板上にスイッチをはんだ付けして作るので100%(?)

          自作 キーボードは こんなに 楽しい