C++ ときどき ごはん、わりとてぃーぶれいく☆

Wonder Rabbit Projectのなかのひとのブログ。主にC++。

あるマシンの GPG 鍵ペアを別のあるマシンでも使いたい場合にすること、手順のメモ。Git, GitHub, VSCode 関連のおまけ付き

さいきんは多くの作業は WSL / Ubuntu でしているのだけど、 WSL の親になってる Windows でも VSCode や Visual Studio で作業する機会が増えてきました。git のコミットだけ WSL で /mnt/c/... へ辿ってやったりすればいいのだけど、事実上同じ(だけど論…

人生ポエムの記録、ルアード化、神の認識と定義と信仰、現実世界への帰還

まえおき 今回の記事は「心の技術」かもしれないけれど、このブログでふだん書いている類の技術についてではまったく無いし、この現実世界の宗教としての神に関してでも無いし、表現はともかく私自身のこころの話であり、すなわちポエムというのが適当そうな…

.net の System.Xml.Linq の XDocument/XElement で Element/Elements メソッドの挙動が意図せず null になったり空になったり、あるいはそもそも名前空間を与えたつもりの実装で例外が飛んだりした時に思い出すため、のメモ

<A xmlns:bbbbb="http://example.com/bbbbb" xmlns="http://example.com/aaaaa" > <bbbbb:Z>z-value</bbbbb:Z> <B>b-value-0</B> <B>b-value-1</B> <B>b-value-2</B> </A> とかなんとか適当に XML があって、 System.Xml.Linq.XDocument / System.Xml.Linq.XElement の Element / Elements を使おうとした…

ProMicro が Unknown USB Device (Device Descriptor Request Failed) になってしまった!?と思ったけど問題はケーブルだった話

ぎゃー はりゃ…手元の実験用のProMicro4個あるんじゃが、全部 Unknown Device になっちゃった…。これは寝ろという神の…— デス味(デス・ウェイ)のうさぎ=ネオウサギデス // Usagi Ito (@USAGI_WRP) March 7, 2019 と、昨晩なったんだ。本当に手元の ProMic…

Metasequoia と RenderMan とカラープロファイル。 It で暗く出力されちゃって途方に暮れないための手順メモ

Metasequoia + RenderMan の連携機能で遊んだら出力画像が暗くなってしまって「なんでーー」ってなった。そうならない方法がわかったのでメモ。 問題の現象 https://twitter.com/USAGI_WRP/status/1102521345227649025 悲しい 何が起きているのか? Metasequ…

KiCad 向けオレオレ 3Dモデリング Pro Micro 編、後半。

https://github.com/usagi/usagi.kicad note: この記事で作成した KiCad 向けの ProMicro などの3Dモデルは OSS として公開しています。 昨晩の 「Pro Micro の KiCad 向け 3Dモデル を作ってみるはなし。 Metasequoia の画像計測を使ったり 3DCG 方面の人っ…

Pro Micro の KiCad 向け 3Dモデル を作ってみるはなし。 Metasequoia の画像計測を使ったり 3DCG 方面の人っぽいアプローチでやってみるよ💁

自分で作ったものを自分で使いたいお気持ちのホビーとして作ってみました。 先ず、ノギスで主要な図りやすい部分の長さを測って記録して…、それから、今回は表面に箱をたくさん生やす必用がある上にノギスでは図りにくい極小部品もあるので画像計測すること…

はじめての KiCad の 3Dモデル 作成メモ

さいきんは Fusion 360 で作る話が一般的なようだけど、私は Metasequoia に慣れているので、 Fusion 360 で作るより速いかなーって思い Metasequoia で作ってみた。 Metasequoia は VRML-1.0 を吐けるのでモデリングから KiCad で必用なフォーマットでの出…

C# こわい話: LINQ でパスのサニタイズしたくらいでテストが通らないなんてそんな事が

起きた 現象 public static class x { public static string f( string input ) { var targets = Path.GetInvalidFileNameChars(); var intermediate = from c in input where !targets.Contains( c ) select c; var result = string.Concat( intermediate )…

ラヴ・クロイガメンの処方箋: Chrome の DARK READER の動作モードの切り替えと良い感じの闇ぐあいについて

概要 いぜん、 Qiita に 「白い画面恐怖症患者のためのChrome系ウェブブラウザーの処方箋」なる文字列を投稿していました。今回はその続編というかおまけ。 現在の DARK READER は動作モードを4つの切り替えから選択できるようになりました。 Filter Filter+…

KiCad 初見プレイ完結編。最初の練習用 PCB の完成まで

(※前回の続編です。前回 「自作キーボード界隈で賑わうそのハッシュタグの謎をあきらかにすべく我々は KiCad の入り口へ向かった」) 現在の状態 KiCad で練習用に簡単な回路を eeschema と pcbnew で設計 eeschema 完成したつもり pcbnew 部品配置、配…

自作キーボード界隈で賑わうそのハッシュタグの謎をあきらかにすべく我々は KiCad の入り口へ向かった

(※今回の記事は技術冒険譚の第0話、主人公の手記みたいなものです。ただの KiCad 初見プレイメモにつき、正しい解説や知識をお求めなのにこのページへ導かれてしまわれた不幸な方はそのままそっ閉じされる事をおすすめします。) 自作キーボード界隈の賑わ…

UE4 の Material における Sampler の Sampler Type の Color と Linear Color の違い、対応する Texture と使い所について

Quiz: どんな描画結果が得られるでしょう? ↓のX軸方向にR値が 0 から 255 へ線形に変化するだけの 8 bit/channel の PNG 画像を UE4 へテクスチャーとしてインポートし、 マテリアルを作成して↓のノードを組み2値化を実装した サンプラーノードの Parameter…

Windows 10 で 64GB 以上の USB マスストレージデバイスを FAT または FAT32 でフォーマットしたい時のメモ

状況 メインボードの BIOS アップデートに USB マスストレージデバイスを使おうと思ったら FAT または FAT32 じゃないと認識してくれないとかそういう状況がたまによくある。 Windows 10 で 64 GB 以上の USB マスストレージデバイスは exFAT または NFTS で…

ピンヘッダー&ピンソケットの切断加工は OLFA 167B で綺麗な仕上がりを簡単に

↓ピンヘッダー&ピンソケットのソケットの方。電子工作で直接はんだ付けせずに部品を脱着可能に接合するコネクターとして定番のやつ。ピンヘッダー&ピンソケット、QIコネクター、ブレッドボードの穴などなど、多くの電子工作の接合部分に抜き挿しできる。 …

Pro Micro の I2C とプルアップ抵抗値の計算メモ

Pro Micro で I2C を使った通信を行う設計をしたい場合にプルアップ抵抗の適正値の計算方法を知らないので調べたメモ。 調査前の既知の知識は Let's Split では 4.7kΩ の抵抗器を使う回路が特に説明も無く登場しているのを知っている程度。 qmk_firmware/key…

Pro Micro と qmk_firmware と WSL-Ubuntu と avrdude のメモ

自作キーボードを Windows 10 な PC で楽しみたいけど WSL-Ubuntu でにゃんにゃんしたいメモ。 WSL-Ubuntu での AVR 開発環境の準備 sudo apt install -y gcc-avr avr-libc binutils-avr avrdude WSL-Ubuntu での qmk_firmware の make によるビルド git clo…

Pro Micro と Arduino IDE と VSCode と Windows 10 のセットアップのメモ

note: Pro Micro は install 前から挿しておいても特に問題ないし、 Windows 10 では COM ポートとして認識される。 install Arduino IDE を install する。 Windows は Installer, ZIP, Store-App から導入方法を選べる。 Store-App で install すると inst…

tetraface Metasequoia ユーザーが Autodesk Fusion 360 を使うときの QUICK SETUP メモ

自作キーボード設計に Metasequoia では少々つらいので Autodesk Fusion 360 を導入しました。趣味の工作で売り上げもへったくれも無いので無償使用できます ↓ Metasequoia のユーザーは最初の QUICK SETUP の CAD Experience は Thinkercad を選択するとそ…

CITIES: SKYLINES の MOD 開発環境の整え方、デバッグ出力の出し方

(note: Windows 10, Visual Studio 2017, STEAM 環境向け) ① MOD 開発環境の整え方 理屈はめんどくさいので解説しないよー CITIES: SKYLINES を STEAM で導入 Visual Studio Installer で Workloads タブの Game development with Unity を導入 Visual Stu…

usagi.notes 開発始めてました。

Note: 今回は技術的なはなしはたぶんありません。 Sticky Notes アプリってどうもいまひとつわたしが欲しい納得のアプリが無いのよねー、と数年おきくらいにちょっとアプリを調査しては結局ふだん使いとは別にテキストエディターを用意してメモやコードスニ…

C#, XAML: Windows 10 の Ligth/Dark テーマ状態を確認してそれっぽいテーマを採用するアプリにする方法

// Windows のテーマが Light か Dark か取得するヘルパー using Microsoft.Win32; namespace usagi.example { static public class ThemeHelper { const string WindowsThemeRegistryKeyPath = @"Software\Microsoft\Windows\CurrentVersion\Themes\Persona…

C#: C# コードから ECMAScript ソースを翻訳&実行する処理系を組み込む方法; WebBrowser, JScript, V8 ( ClearScript )

いくつか手段がある。 ECMAScript の Microsoft 処理系の1つ ChakraCore を内包する WPF の WebBrowser コンポーネントを組み込む方法 ECMAScript の Microsoft 処理系の1つ JScript を組み込む方法 ECMAScript の Google 処理系の V8 を組み込む方法 ECMASc…

XAML: DataContext へ Properties/MySettings.settings を XAML だけで完結して束縛する方法

前提: Visual Studio 2017 でプロジェクトを作成してWPFアプリをデザイナーを使って作る際のはなし。 1. はじめに。 C# コードで束縛する場合 // 例えば MainWindow の DataContext へ // MainWindow の ctor で Properties/MySettings.settings に // 用意…

C#: generics<T> + object 黒魔法 vs. 非ジェネリクスメソッド 実行速度編

前回の記事「C#: 組み込みの数値型を扱いたい generics の 型と IConvertible の肝っぽい事、それと object 型を暗躍させる必要性のメモ」で C# の generics で数値計算を実装すると結局 object の暗躍が必要なので実行時コストが気になるよ、でもまあ実行コ…

C#: 組み込みの数値型を扱いたい generics の <T> 型と IConvertible の肝っぽい事、それと object 型を暗躍させる必要性のメモ

// 前提; この記事の Fail とか AreEqual とかはこいつの↓ using static Microsoft.VisualStudio.TestTools.UnitTesting.Assert; // 任意の IConvertible を別の IConvertible に数値を保持して変換したい場合 public static B C<A, B>( A a ) where A : IConverti</a,>…

C#, LINQ, Lambda-expression: LINQ の query-expression の中の select 句で lambda-expression を吐かせたい。でも C# ちゃんが翻訳死しちゃったの、ってスタック・オーバーフロー・チャンスしたら .NET イケメンの Reza Aqhaei が助けてくれたメモ。

// Example-0; 突然の翻訳死が訪れるよ var xs = from v in Enumerable.Range( 0, 4 ) select w => w; こういう事をしたいけど、これじゃ C# コンパイラーちゃんが死んじゃう error CS1942: An expression type in select' clause is incorrect. Type infere…

C#: null れる class と null れない struct いずれの可能性もある object を as<T> したい場合の限界、あるいは C# らしい結論

// これはコンパイルできない(´・ω・`) // object -> T static public T As<T>( object o ) { return o as T; } // as T できるためには T に class 制約が必要。これはコンパイルできるし、期待動作するかもしれない。 // object(class=nullれる何か) -> T st</t>…

C#, WPF, XAML: System.Windows.Controls.Control が "いわゆるコントロール" の共通基底だと思い込んで実装したら TextBlock であっさり null 例外に殺された件

// 前提、 C#-7.0 using System.Windows.Controls; var c = new Control(); if ( c is Label l ) Console.WriteLine( $"Label.Content={l.Content}" ); if ( c is TextBlock t ) // <--ここでコンパイルエラーが生じてくれる。 Console.WriteLine( $"TextBlo…

C#-7.0: 滲み出すスコープ

Visual Studio の C# プロジェクトでも Error も Warning も1件も見逃さない綺麗なビルドを心掛けていますが、 Messages は見落としていました。何件か来ている。 まず、一番上を見る。 IDE0018: Variable declaration can be inlined とやら。 IDE0018 "Var…