アジョブジ星通信

進捗が出た頃に更新されるブログ。

Xvfbのスクリーンサイズを変更する

Xvfb といえば、以前(主人公の好感度問題 完結編)、仮想環境に X Window System のディスプレイを用意するのに使ったツールです。使い方は Xvfb :0 -screen 0 1280x720x24 みたいな感じなのですが、 Xvfb を起動した後に、指定したサイズから変更したいと…

私、ValueTaskは限定的でって言ったよね!

C#

メリークリスマス! みなさんは、見てないアニメをネタにするなんてしてませんよね? 私は「俺を好きなのはお前だけかよ」しか見てません。さて、並行並列プログラミングを愛し、スレッドプールに日々感謝を捧げているみなさんは、 ValueTask を活用している…

比較的安全に Docker で Pleroma サーバーを建てる

みんな大好き「やってみた」、今回は Pleroma サーバー構築をやってみました!以前 Kubernetes で隔離 Mastodon 環境を作ったりして、 ActivityPub のデバッグ環境を整えたりしていましたが、 ActivityPub をしゃべるサーバーを自作するという夢に挑む時間と…

バタフライ図も行列も見たくない人のための高速フーリエ変換

高速フーリエ変換(FFT)を実装しようと思って、まず理論を知らねばと調べたところ、まったくチンプンカンプンだったのですが、とりあえず、なんとか証明を追うことができました。というわけで、バタフライ演算の図を見てもなんもわからん人が FFT を実装す…

いまさら使う TPL Dataflow

C#

みなさん、並列処理、書いてますか? つらい、つらいよね、わかるよ。ある部分は高速化のために並列で実行し、ある部分は整合性を取るために直列で実行し、入力ジョブのキューが膨大にならないように流量を調節しながらジョブを入力して……。こんなプログラム…

Kubernetesで隔離Mastodonネットワークを作った

はじめに 前回、 k3s の紹介をしましたが、もともと Kubernetes に興味を持ったのは Docker のネットワークが、簡単だけれど細かい設定ができないという問題を抱えていたからです。細かく設定したネットワーク環境を使って何がやりたかったかというと、 Mast…

k3s の中身とメモリ使用量の調査

コンテナに対するあらゆる需要に応えるソリューションこと Kubernetes が流行りですね(雑なはじめかた)。僕も何度かこのビッグウェーブに乗ろうとしましたが、新しい概念の多さと、ズボラ運用には厳しいメモリ使用量で断念してきました。動かしたい環境と…

僕のラブコメ史

21歳になって半年弱経ちました。段々アニメを見る体力はなくなり、今期のアニメなんてひとつもわからないような状況ですが、逆に、大学生になって得た財力によって、ライトノベルを読むことが増えたと思います。とはいえ、ラノベにかける予算は、月2000円程…

主人公の好感度問題 完結編

遡ること 2017 年 4 月、「主人公の好感度問題」と題された、あの一大プロジェクトが、今日完結する……。 「主人公の好感度問題」とは 生まれて初めて買ったエロゲ―こと、ワガママハイスペック(以下ワガハイ)をプレイしていたときのこと。このゲームは、共…

カーネルモードドライバーをそこそこデバッグできるようにした話

「はじめての仮想HID」では、デバッグ手段が手に入れられなかったという終わり方をしてしまいましたが、それなりにデバッグできるようになったので、その方法をまとめておきます。 1. KdPrintEx でログを出力する KdPrintEx マクロを使うと、デバッグビルド…

MSBuildのバッチ機能とは

みなさん MSBuild プロジェクトの手書き、していますか?プロジェクトの手書きはさまざま苦労はあると思いますが、そんなご時世に、知っているとちょっと楽に書けて、しかもインクリメンタルビルドがしやすくなるバッチ機能について、詳しく見ていきましょう…

はじめての仮想HID

半年ぶりです。崇高な計画を遂行するために、仮想 HID が欲しくなったので、ドライバーから作ってみようと思い、いじってみた記録を書いておきます。 HID ドライバーのサンプル Microsoft 公式のドキュメントで HID ドライバーのサンプルが公開されています…

MPMアルゴリズムのNSDFの求めかた

結論だけ知りたい人向け NSDF の式の について、前から求めると後ろから求めるととなるので、好きな方でやってください。 実装(C#) https://github.com/azyobuzin/PitchDetector/blob/81b5b4e3ff5cf20dce2b1f01fd36294360323722/PitchDetector/PitchAccord…

さぁ fixed を捨てて Unsafe だ

C#

早すぎる最適化が好きな人のための C# 7 の有効活用ガイドです。ある構造体をそのまま byte 配列に突っ込みたくなるとき、ありますよね?構造体ならメンバーに名前がついていて書きやすい、でも相手が byte 配列だから 1 バイトずつ手書きするしかないのか………

それでも僕はWineでMonoを動かしたかった

Wine 上で動く Windows アプリを制御するにはどうしよう?と考えた結果、制御する側も Wine 上で動かせば Windows 上と同じように操作できるじゃないか!と思いやっていった記録。残念ながら、結局 Docker 上で動かすことはできなかったので、僕の意志を引き…

I/O待ちのためのTaskとバックグラウンド処理のためのTask

C#

ポエポエ~~I/O 完了待ちを行う OS 機能の抽象化としての Task とスレッドプールに積んだ処理の抽象化としての Task をごっちゃにしてて反省— 優勝したい (@azyobuzin) 2017年6月2日の一連のツイートのまとめでもしておこうかと。 I/O 待ちのための Task I/…

TargetFrameworksからビルドできそうなフレームワークだけビルドする

これから1ヶ月以上ブログ書いてなかった。というわけで、これの続き。この記事では PCL や Xamarin 用のアセンブリを dotnet build でビルドできるようにしましたが、これだと MS の不自由アセンブリや Xamarin がインストールされていないとエラーになって…

新しい csproj に負けないレガシーな心を持ち続けて云々

Sdk="Microsoft.NET.Sdk" なプロジェクトファイルで使える小ネタ集です。 NETStandard.Library への参照をいじる PackageReference を何ひとつ書かなくても NETStandard.Library を勝手にダウンロードしてくるのは、手軽にコードが書けるという点ではいいか…

MySQL Connector/.NET の TreatTinyAsBoolean のバグと Dapper

C#

MySQL Connector/.NET、長いので MySql.Data と呼びます。 バグについて MySql.Data の接続文字列で使用できるオプションとして、「TreatTinyAsBoolean」または「Treat Tiny As Boolean」というものがあります。これはデフォルトで有効になっていて、このオ…

自分のスキルセットを確認してみる

シャワー浴びながらふと気づいたこと、自分には何ができるのだろうか。いつも自己紹介が苦手といってきたけれど、いい加減自分をアピールできる材料くらい知っておかないと思いリストアップしてみようと思います。

書きはじめ

あけましたね、おめでとうございます。2016年の振り返りと2017年の抱負を豊富に書くのが恒例行事らしいのでやるか。知らんけど。AbemaTV ではっぴぃにゅうにゃあしながら書いてるので自分でも何書いてるかわからなくなりそう。 2016年の振り返り 去年のこと…

CoreFXで進化したLINQのお話

C#

昔々のお話 こんなライブラリを作った記憶があったのですが、最近 C# パフォーマンスヤクザ[要出典]になりかけている僕に、 IReadOnlyCollection<T> を使用することで、 リスト→LINQ→ToArray といった処理を効率化できるのではないだろうかと考えて、このライブ</t>…

取り急ぎ古いNuGetでもインストールできるパッケージをつくる

CoreTweet 0.7.0.339 を NuGet 2.x 系を使う環境(Visual Studio 2013 でアップデート入れてない or MonoDevelop/Xamarin Studio 6.0.x以下)でインストールしようとすると、こんな感じのエラーが出ることは知ってましたがリリースしてしまいました、が思っ…

System.Stringのコンストラクタを許すな

C#

String のコンストラクタ、ありえてはいけない存在だよな— ウィンドウズ青山 (@azyobuzin) 2016年8月2日ということは、コンストラクタを FCall にするとあり得ない型のインスタンスをお返しすることができるわけですね!!— ウィンドウズ青山 (@azyobuzin) 2…

Unicode正規化を実装する (4) クイックチェック

バックナンバー Unicode正規化を実装する (1) UCDにふれる - アジョブジ星通信 Unicode正規化を実装する (2) 正規分解・互換分解 - アジョブジ星通信 Unicode正規化を実装する (3) 正規合成 - アジョブジ星通信 本当は正規化の高速化全般について書きたかっ…

Unicode正規化を実装する (3) 正規合成

バックナンバー Unicode正規化を実装する (1) UCDにふれる - アジョブジ星通信 Unicode正規化を実装する (2) 正規分解・互換分解 - アジョブジ星通信 PCの死亡を言い訳に3ヶ月空いてしまいましたが、その間に Unicode 9.0.0 がリリースされたようです。サン…

ツイートの新構造対応のメモ

これです。 CoreTweet 0.6.3 で API の変更には対応したのでその使い方について説明を書いておこうと思います。 1. とりあえず tweet_mode=extended をつけておく 新構造のデータを受信するには tweet_mode=extended を指定する必要があります。 CoreTweet …

Unicode正規化を実装する (2) 正規分解・互換分解

前回: Unicode正規化を実装する (1) UCDにふれる - アジョブジ星通信さて、前回 UnicodeData.txt の読み方をやりましたので、これを使って実際に正規分解・互換分解を実装してみましょう。 UnicodeData.txt の読み込みコード 今回のやることを実装したサンプ…

株式会社はてなに入社しました

株式会社はてなに入社しました株式会社はてなに入社しました - hitode909の日記

ルータを新調した

買いました。BUFFALO【iphone6S 対応】11ac/n/a/b/g 無線LAN親機(Wi-Fiルーター)エアステーション バンドステアリング対応 1GHzデュアルコアCPU搭載 1300+600Mbps WXR-1900DHP2 (利用推奨環境6人・4LDK・3階建)出版社/メーカー: バッファロー発売日: 2015/12…