ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

寸法が違う・・・

引き続きL4カー(L4型貨車加減速装置)のモデリングしていたら、想定外のことに気づいた。 自分が写真を撮ったのは新南陽ヤードに納められたもの。全長は20,085mm。 L4型貨車加減速装置 一方、自分が寸法の参考にしていた日立評論1975年6月号は塩浜操作場に納…

プッシャカーの図面

L4カー、まずは一番おもしろそうなプッシャカーからモデリングしてみる。日立評論にある図面の一番右の車両だ。 L4カーの構成(日立評論1975年6月号より) 拡大してみる。全長と全幅は寸法があるので、他の場所も寸法が割り出せそうだ。 L4カー プッシャカー…

L4カー(L4型貨車加減速装置)のCGを作ってみる

先日の日立製作所 水戸工場 さつきまつりで見かけたL4型貨車加減速装置のCGを作りたくなってきた。・・・なんか、10年後には誰も記録に残さないまま朽ち果ててそうなのよね・・・。 今ある資料は、日立評論1975年6月号にあった簡単な図面と、自分が撮って…

GetLastError()の結果をCStringで出力するクラス

GetLastError()で得たエラーコードを毎回FormatMessageで変換するのが面倒だったので、両者をひとまとめにしてCStringまたはLPCTSTRで返すクラスを作った。 注意! LPCTSTRは一時オブジェクトのアドレスを返すので、長時間使わないこと。すぐに無効なアドレ…

CString等でUnicodeとマルチバイトを相互に変換する

CString等でUnicodeとマルチバイトを相互に変換する方法のメモ。こんな便利なマクロ(実態はクラス)があったとは。例えば、UnicodeからANSI(マルチバイト)に変換する場合はCW2A(string)でOK。逆に、ANSIからUnicodeならCA2W(string)。マクロの返り値が変換…

東京大学 本郷地区の昔の地図

東京大学 本郷地区の昔の地図を入手したので、なんとなく公開。・・・なんか、弥生地区に遺跡が見えるんですが・・・ H12 (2000) 本郷地区 H13 (2001) 本郷地区

GIGABYTE GA-Z87X-UD3H (rev. 1.x)のBIOS設定方法

GIGABYTEのGA-Z87X-UD3H (rev. 1.x) BIOS?にはちょっと酷いバグがあって、USBキーボードからはBIOS設定画面に入れないことがある。すでに5年も前のマザーボードなので需要は無さそうだけど、Windows10での解決方法を書いておく。 1. 「すべての設定」を開く…

日立製作所 水戸事業所 さつきまつり

日立製作所水戸工場の2018さつきまつりに行ってきた。一般人も参加OKだが、基本的に社員向けのイベントらしく情報が殆ど無い。そこで、来年へのメモも兼ねて行き方等を。 開催日は、6月第1土曜日。時間は09:00~13:00, 開場は08:45から。 入場は、水戸工場の…

A4ドキュメントスキャナのランニングコスト

A4ドキュメントスキャナが欲しくなってきたので、どれがいいかを決めることにした。 必要な機能は、 ・オートフィーダ ・両面スキャン ・多重搬送の検知 (紙の長さ以外で) また、ランニングコストに優れることも必要。生涯スキャン枚数を30万枚として、消…

式の中で複数のインクリメントは危険

会社で他の人が作ったコードをデバッグしているときに見つけた、ひどい罠。 例えば、下記コードにおいてsum, pはどう表示されるだろうか? An example of code including 2 increments in a lin ... これ、sum=1, p=2となりそうだが、少なくともVisual C++ 2…

Intel CPUのSpectre対策パッチ

Intelが、Spectre対策パッチの状況をアップデートしていた。 https://newsroom.intel.com/wp-content/uploads/sites/11/2018/04/microcode-update-guidance.pdf 自分の使ってるCPUはProduction StatusがProductionになっていたので、すでにパッチがあるらし…

logicool M705を買い替えたらモデルチェンジしていた

logicoolのM705を愛用していたのだが、ホイールボタンの効きが悪くなってきたので買い替えたら、モデルチェンジしていた。せっかくなので、変化した場所をまとめてみた。 比較画像(左:新モデル M705m (M-R0073) 右:旧モデル M705t (M-R0009)) 差異 表: …

A列車で行こう9メモ:駅、配送所の有効範囲

A列車で行こう9 Version 4.00 Build 2522 x64メモ 1:1のマップサイズ:10239 × 10239 駅、配送所の集客範囲:すべて400。以下証拠。小さすぎだよ・・・orz 地上駅(小)の範囲:400 地上駅(中):400 地上駅(大):400 高架駅(小):400 高架駅(大):400 …

アースにフェライトコア

PC不調の原因だった電源を、分別のために分解していたらアース線にフェライトコアがついていることに気づいた。これ、なんのためだろう?本来ならここに電流流れないはずだし、流れる場合は積極的に流さないとまずい場所だから、むしろフェライトコア無い方…

Raspberry Pi 使用開始

WT1520HのNASサーバー化に失敗したので、死蔵していたRaspberry Pi 1 BをNAS化してみることにした。ただ、空いているSDカード、2GBのしかなかった。最低4GB, できれば8GB、16GBあれば嬉しいってどこかに書いてあった気がするのだが・・。大丈夫なのだろうか…

WT1520HへのOpenSourceFirmware導入

WT1520HをNASサーバーとして使おうとしたが、HDDの容量上限が1TBという隠れ仕様に阻まれてしまった。しかも、公式ページがアクセス不能。どうしたものか・・諦めて新ハードを買うか? ・・いや。公式がダメってことは、誰かがファームウェア自作する確率が…

WT1520Hを使おうとしたが

WT1520Hという、Nexx Wireless社のNAS機能を持ったWiFiルータがお蔵入りしていたのを思い出して使ってみようとした。 とってもコンパクト。 ただ、不穏な気配もある。まず、メーカーの存続が怪しい。メーカーページに行くと・・・ どうも、中国でWebサイト開…

PC不調 その2

メインPCが起動中やファイルアクセス中に突然電源落ちるようになった。どうもソフト的な問題ではないようだ。そこでハードを疑い、以下をやってみたが解決せず。どうも、マザーボードか電源がおかしいようだ。 1. USB3.0機器の取り外し 2. BIOS設定の変更(消…

PC不調 その1

どうも最近、メインPCが不調である。Windowsの起動途中や、ファイルコピー中に突然電源が落ちるのだ。今のところデータは壊れていないが、なんとかしないと。 ということで、なんとかしようとしたのだが、手強い。定石通り、以下を実施したのだが・・。 1. …

米国の貿易赤字:日本はアメリカからモノを買っていないのか

トランプ大統領が、日本に対する貿易赤字でお怒りのようです。調べてみると、例えば2015年度は日本→アメリカ輸出額:15.1兆円に対し、アメリカ→日本輸出額:7.9兆円と、アメリカは7.2兆円の赤字を出していました。もっとも、これはiTunesや特許料等のアメリ…

フォルダ選択ダイアログの表示

フォルダ選択ダイアログを表示するため以前はSHBrowseForFolderを使っていたんだけど、MSDNによるとVista以降はIFileDialogを使うことが推奨されるらしい。 そこで、IFileDialogを使うよう、以下の通り実装した。 (2018/06/23追記:IFileDialogはWindowsVist…

error C2787 このオブジェクトに関連付けられた GUID はありません。

IFileDialogやIFileOpenDialogを使おうとしたら、「error C2787 このオブジェクトに関連付けられた GUID はありません。」というコンパイルエラーが出た。 原因は、元のソフトがWindowsXp以降で動作するようにしていたため。上記インターフェースは、Windows…

グラフィックボード更新の検討

なんとなくドスパラに寄って商品眺めていたら、GTX1060か1070あたりを買いたくなった。でも、グラフィックボードの場合大きさの問題が有る。いずれも、ボードが長かったり厚かったり(2枚分からはみ出る)しているので、そもそも自宅PCに挿せるのか調べてか…

CImageからcv::Matへの画像コピー

MFCで画像をお手軽に使えるクラスCImageから、画像処理の定番OpenCV用のクラスcv::Matへ画像をコピーするのは、一見簡単だが罠がある。CImageが保持している画像データへのポインタはCImage::GetBits()で取得できるのだが、このポインタ、データの先頭を指す…

Critical error detected c0000374

昔作ったソフトの改造をしていたら、突然「Critical error detected c0000374」というエラーが出て止まるようになった。実行継続して例外を処理させてみたら、 「ハンドルされない例外が 0x00007FFB1E01E6FC (ntdll.dll) で発生しました(伏せ字.exe 内): 0xC…

艦これで備蓄しておきたい装備数

艦これ、保有装備枠きつい。でも、レア装備を廃棄するのは怖い。使うかもしれないし。 ・・・本当に使うかな?使うとしたらいくつだろう? ということで、必要な数がいくつか考察&メモ。なお、必要数はプレイスタイルに依存するので、これはあくまでも自分…

OpenCVのmatchTemplateがうまく動かない!

以下のコードが上手く動かず、しばし悩む。 まったく同じ画像のはずなのに、どうしてもminMaxLocの結果が0.85になる。なぜだ。そこで、各画像のメモリを覗いてみた。 まずはイメージの探索対象側。イメージサイズは2×4, 32bit。0xf0f0f000 というパターンが7…

Windows10でバッチファイルをスタート画面にピン留めする

Windows10のスタート画面に拡張子が.batの所謂バッチファイルをピン留めしようとして苦戦したので、メモ。 セキュリティ的な理由からか、Windows10ではバッチファイルをスタート画面にピン留め出来ない。 図:バッチファイルを右クリックした時のメニュー。…

サムスン Galaxy SC-04E 工場テストモード

手元のスマホを照明のリモコンにしようと思いたったのだが、赤外線でどんなコードを出せばいいのか分からない。「スマホに赤外線通信機能があればデコードできるかな?」と思ったけど、残念ながら手元のスマホはサムスン製。送信機能しかないようだ。となる…

バグフィックス祭り

片道9時間の長距離飛行中、ReadMeを更新するために艦むすリストメーカーを動かしていたら、バグを5個も見つけてしまった。久しぶりにプログラミングする時間も確保できたので、さくさく修正。そろそろver.2.0を名乗ってもいいかな? 2017/05/07追記:肝心…