koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

Figure-riseLABO 式波・アスカ・ラングレー パチ組レビュー

念願の初Figure-riseLABOを手に入れた(これまでは買いそびれていた)ので組んだ。

これ。

bandai-hobby.net

  • 組みあがり
  • 説明書通りに組めば出来上がる
  • パーツの合い
  • 悲しみ
  • 余談
続きを読む

Findy”ユーザーサクセス”面談

受けた。

これ。

findy-code.io

動機などはこれ。

ここしばらく勉強会とかで不特定の人と話す機会がなくて、自分の周囲以外はどんな感じなのか? のアンテナが折れてるのでちょっと受信したいと思った次第。

「転職の意思はないのですが」と前置きしての面談なんかも受けていきたいと思っている。

この面談はソフトウェアエンジニアの転職、求人事情をざっくり、何より気になったことを「これはどんな感じなんですか?」とその場で聞けるのがよかった。IT用語が普通に通じるので気楽に聞ける。

今の転職市場どんな感じなのか気になる人にはおすすめ。

尚一番の発見はこれでした。

GitHubとかから生成されるスコアは見られているぞ!

余談

Findyの面談担当の人は普通にこのブログも読み込んでました。真面目。

.NETでShift_JISからUTF-8に変換するNuGetパッケージを作った

VBのソフトをC#に移植していて、ちょいちょいShift_JISのファイルをUTF-8に変換したいことがある。

その都度スニペットをコピペするのも飽きてきたのでパッケージにしてみた。

www.nuget.org

Package Description

ダサいDescriptionだ。

github.com

using System.IO;
using ShiftJISExtension;

using (var utf8stream = await File.Open("sjis.txt").ToUTF8Async())
using (var reader = new StreamReader(utf8stream))
{
    // ...
}

多分こんな感じで使えます。Shift_JISUTF-8に変換したいぜ!!! という人はどうぞ。

続きを読む

言葉狩りなんてクソ食らえ

狩るのはモンスターにしといてくれ。

自由で低俗な雰囲気が好きだ。

言葉狩りで表現が変わった漫画を見ると哀しくなる。嫌いだ。

これはそんな感情の吐露記事だ。

現代のインターネットでこんなこんなことを公に書いていたら、自分はリスク人材ですって触れ回るようなもので得なことはなにもないのだけれど、そんな閉塞した雰囲気こそがマジムカつくので損得勘定もクソくらえだ。

そのうち「クソくらえ」とも書けなくなるのか? ソーシャルメディアのダイレクトメッセージなんかだと既に書けないかもね。息苦しい。

現代のインターネットではポリコレは避けられない。

僕は色んな分野で差別されてきたと思ってるし、無意識に差別してきたとも思ってるけれど、臭いものに蓋をしてもただ言葉が貧しくなるだけで本質的には何も変わってないだろう。

僕はイエローなのでブラックだけ特別視されててムカつく。

奴隷って言葉を狩ってる奴らは現代の奴隷の労役の上で暮らしてる層だ。上っ面だけで心底ムカつく。

お陰さまでmaster ->mainへのURI変更でサラリー暮らしの僕のとても貴重な時間と会社の金とコンピュータリソースを浪費したばかりだ。

どうしても言葉を狩りたいなら原子爆弾を連想してムカつくからACID特性からAを消して、エディタのAtomは公開停止してから出直してこい。ついでに黄色も一切使うな。


スラングはその時代の雰囲気が産み出したものであって、その時代のものはありのままであって欲しい。

半面、現代で差別的な用語を使い続ける必要性はないので穏当な言葉を使うようにするのはやっていくといいんだろうな。

WinHelpをMarkdownにして編集しやすくする

最近弄っているOSSのヘルプがWinHelpで編集が厳しいので各ページをMarkdownに変換してみた。

WinHelpの構造もよく分かっていないし、特に汎用的な変換ツールにしたりはしていないのだけれど、こんな考え方で変換できるのでは? という事例になるかもしれないので備忘しておく。

f:id:koudenpa:20210322205822p:plain
ヘルプファイル(画像はchm)内容を

f:id:koudenpa:20210322205946p:plain
Markdownにして編集しやすくする(画像は変換したままなのでリンクが壊れたりしているが)

続きを読む

定例会議でジブリ制作日誌眺めの薦め

僕が所属しているチームでは毎日メンバー全員で集って昼会を行ってる。その重要なアジェンダの一つに『ジブリ製作日誌コーナー』がある。

二十数年前の同日のスタジオジブリ日誌を眺めて雑談し懇親を深めるコーナーだ。

ジブリ日誌は以下のように雑談のネタとしてとても優れている。

  • みんなジブリの名前くらいは知っている
  • 当時の世相を窺い知れる
  • 程よくジェネレーションギャップがある
  • 単純にコンテンツとして面白い
  • 近所に住んでいるので個人的に親近感がある

f:id:koudenpa:20210312123839p:plain
ある日のコーナーの様子

いいコーナーなので機会があれば宣伝している(先日エンジニアの集まる勉強会でチーム紹介した際にも厚く取り上げた)のだけれど、流行の兆しがない。

何故だ?

.NETでMIDIファイルの再生にほぼ失敗した

ので出来事として記録しておく。

https://github.com/7474/SRC を弄るうえで避けて通れないのがMIDIファイルの再生なので少し手を付けてみた。できれば移植性のあるコードで再生したいので依存関係に.NET Standard 2しか入っていないっぽいNAudioを使って試してみた。バーンってMIDI対応してるっぽいこと書いてあるしな!!

github.com

結果、とりあえず再生はできたけれど聴けたものではなかった。

MIDIも音楽もほぼ何も知らない状態なので何も分からん状態。いい感じの再生のためには何か色々な手続きがあるのだろう。

試していた状態のコード。

var midiOut = new MidiOut(0);
var midiFile = new MidiFile(path, false);
var task = Task.Run(async () =>
{
    var sw = new Stopwatch();
    sw.Start();
    var startMillis = midiFile.Events.StartAbsoluteTime;
    foreach (var melist in midiFile.Events)
    {
        foreach (var me in melist)
        {
            var eventTime = me.AbsoluteTime - startMillis;
            if (eventTime - sw.ElapsedMilliseconds > 0)
            {
                await Task.Delay((int)Math.Max(0, eventTime - sw.ElapsedMilliseconds));
            }
            midiOut.Send(me.GetAsShortMessage());
        }
    }
});

NumberOfDevices1 だったので使うデバイスを変えれば音源が変わる環境ではない模様。

> MidiOut.NumberOfDevices
1

おとなしくWindows向けのええ感じのライブラリを使うのがいいのだろう。

NAudioのMIDIもどう見てもWindows専用だしな!!!

NAudio/MidiInterop.cs at master · naudio/NAudio · GitHub

いい感じのソフトウェア音源を.NETマネージドな世界で使えれば、環境非依存でMIDI再生はできそうなものだけれど、需要はなさそう。