Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

Windows標準搭載のフォントで長いURLの表示に適したもの

デフォルトフォント 游ゴシック 日本語入り等幅フォント BIZ UDゴシック MSゴシック 英文等幅フォント lConsolas Courier Courier New Lucida Console 英文プロポーショナルフォント Bahnschrift Light Condensed 固定幅でないことに目を瞑れば、Bahnschrift…

情報システムのアーキテクチャの線形表記法

情報システムN個の設計情報があって、それがデータベースに登録されているとして、たとえば以下のようなクエリを投げて答えを得たいわけですよ。 JavaからCのプログラムを呼んでるシステムはよくあるけど、CからJavaを呼んでるシステムってどれだろう? 認証…

Npcap alternatives for Windows environment

Npcapのライセンスはちょっとややこしくて、無償版のライセンスは5システムまで使用可能、またNmap, Wireshark, Microsoft Defender for Identityで使う場合は何ライセンスでも利用可能となっている*1*2。使っているソフトウェアのライセンスをUEM製品で管理…

単にUTF-16と言ったときのエンディアンネス

Oracle DatabaseのAL16UTF16はUTF-16BE *1。UTF-16LEに対応するのはAL16UTF16LEだが、AL16UTF16LEはDatabase CharactersetやNational Charactersetには指定できない*2。 Javaのクラスファイルフォーマットではchar型の値はUTF-16で表される。クラスファイル…

Googleスライドでは異体字セレクタを指定した文字を表示できない

問題 Googleスライドに異体字セレクタつきの文字(たとえば「辻󠄀」)をコピー&ペーストすると、異体字セレクタなしの文字で表示されてしまう。 異体字セレクタの扱いを考慮していないソフトウェアでは、異体字セレクタつきの文字を選択しようとした際にIビ…

Use Invoke-CommandInDesktopPackage as countermeasure of "failed to run: Access is denied"

Problem When you launch in some .exe in C:\Program Files\WindowsApps, sometimes you will get the error message like this: Program 'wsl.exe' failed to run: Access is denied At line:1 char:1 This error will happen even if you have launched a…

Get all available event IDs for each source on Windows Event Log

(Get-WinEvent -ListLog * -ErrorAction SilentlyContinue).ProviderNames | Sort-Object -Unique | ForEach-Object { $SourceName = $_; try { (Get-WinEvent -ListProvider $SourceName -ErrorAction SilentlyContinue).Events | ForEach-Object { $Event …

PostgreSQLの教育にPGliteを使う

satob.hatenablog.com SupabaseのPostgres-WASMだと、大量(1,000件)のINSERTができない等の問題があった。 最近PGliteがリリースされ、REPL環境もあるようなので試してみた。 pglite.dev ファイルをアップロードして\i /mnt/foobar.sqlみたいなことはでき…

SpotBugsのプラグインを作ったらそのライセンスは?

SpotBugs自体のライセンスはLGPL v2.1。 github.com SpotBugsにはプラグイン(カスタムルール)を作る仕組みが用意されていて、AnnotationDetectorとかBytecodeScanningDetectorとかOpcodeStackDetectorとかを継承したクラスを作っておいて、findbugs.xmlに…

-XX:+AlwaysPreTouchでJavaVM起動時に全ヒープを物理メモリに載せたらどれくらい起動が遅くなるの?

結論: ヒープサイズ4GBのときWindowsで2秒程度、WSLで3秒程度。ヒープサイズ1GBのときWindowsで1秒程度、WSLで0.5秒程度、起動時のオーバーヘッドが増える模様。 動機 JavaVMの起動時に-Xmsと-Xmxに同じ値を指定しても、JavaVM起動時点でそれだけの物理メモ…

「外字」とは何か?

あるシステムの設計者に「このシステムでは外字を使いますか?」と質問したとしましょう。そのとき、「はい、使います」と答えたとして、その意味として考えられるものは…… 私用領域のコードポイントにある文字を、正規のデータとして処理する Windowsの日本…

non-GPL alternatives of MySQL Connector

Background Oracle distributes MySQL Connector/J under the dual license of GPLv2 and a commercial license. MySQL commercial license is sold as subscriptions for MySQL itself. https://shop.oracle.com/apex/product?p1=MySQL You cannot bring yo…

名探偵マイコンマンの「竜と地下牢ゲーム」とアルファ電卓

約20年前、就職活動をしていたときに「名探偵マイコンマン」の話を本ブログに書いた。 アルファ電卓 - Lazy Diary @ Hatena Blog 便利な世の中になったもので、ちょっと古い本であれば今ではInternet Archiveが電子化したものを参照できる。「名探偵マイコン…

DevToolsでExtensionなしに任意のHTTPヘッダを送信できない

動機 追加のソフトウェアのインストールが制限された環境で、任意のHTTPヘッダを指定したリクエストを送信したい。 実行環境が認証つきプロキシサーバの後ろ側にいて、使用するプロキシサーバはアクセス先ごとにproxy.pacで制御されている。Windowsのcurl.ex…

undefined referenceに対するldのオプション--warn-unresolved-symbolsと--noinhibit-execの効果

/mnt/c/tmp$ cat caller.c #include <stdio.h> #include "callee.h" void main(int argc, char *argv[]) { if (argc == 1) { callee(); } else { printf("caller\n"); } } /mnt/c/tmp$ cat callee.h extern int callee(); /mnt/c/tmp$ cat callee.c #include <stdio.h> int cal</stdio.h></stdio.h>…

大規模なバージョン管理システムのリポジトリサイズ

Git

FacebookのGit monorepoのサイズは一時期54GBになっていた。 Facebook's git repo is 54 GB. pic.twitter.com/zLNSzDlFYF— Feross (@feross) 2014年4月24日 その結果、性能的に耐えられなくなりMercurialを魔改造するに至った。 魔改造したMercurialにはMono…

Get the MAC address of the connected Wi-Fi AP with PowerShell

Background I want to get where I am using my PC with PowerShell, without GPS information like Windows Geolocation Service. I can retrieve the MAC addresses of Wi-Fi APs at the places I often go to, so I tried to get the MAC address of the …

URLエスケープされる文字の範囲(ChromeとGoogle検索の挙動を例に)

URL中に含めてもよい文字(URLの表現上エスケープする必要のない文字)はRFC3986で定められている。 stackoverflow.com 一方、Webアプリケーションの処理中で実際にエスケープしなければいけない文字はそのアプリケーションの実装によって変わる。 ChromeとG…

Windows Nano ServerコンテナでPostgreSQLのインストーラが実行できない

EnterpriseDBが配布しているWindows用のPostgreSQLインストーラにはサイレントインストール用のオプションが指定できて、各オプションの詳細は以下で説明されている。 silentinstallhq.com コンテナへのインストールなのでサイレントインストールにすればOK…

researchmapへの登録のしかたいろいろ

researchmapは大学や研究機関に所属している人の業績を管理するシステムということになっている。で、情報工学なら著書や論文を登録して、引用数が多いほどエラい!ということになるわけだけど、じゃぁ科研費もらって論文書くより作品を作ってる方が多そうな…

Windowsコンテナを対話型セッションで起動しようとすると80070002エラーが発生する

PS C:\docker> docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 -it cmd.exe docker: Error response from daemon: container 23562ad343abb674269577807f3915b8e596bb557b9623f62a32b8920f685889 encountered an error during hcs::System::Crea…

ChromeとEdgeの挙動差

ChromeとEdgeって同じエンジンを使ってるけど、挙動の違いってあるの?対応OSとか機能の違いは分かるけど、Webアプリを実装する上で特に気にしないといけない点はあるの?という話。事例が見つかったら追加していく。 History APIに関する挙動の差。 blog.ma…

Pentestっぽい常設CTFの比較(特にビジネスプランの有無の観点から)

Hack The Box HTB Academy academy.hackthebox.com 無料プランとビジネス向けプランがあるけど、ビジネス向けプランの機能 は受講者管理とかみたい。 User AggrementのURLは個人向けプランも商用プランも同じ。 商用利用が可能かをUser Aggrementで確認した…

文化的まちがいさがし - スレッドセーフ

ある処理がスレッドセーフであるというとき…… (A) 複数のスレッドから同時に処理を実行したときと、複数のスレッドが別々で処理を実行したときとで、処理結果が変わらないように設計されていること (B) あるスレッドで処理されている値が、別のスレッドから…

報道機関のドキュメンタリーと社史の関係

プロジェクトX見た。京の開発責任者で、その後富士通と道を違えた父が一切出ず、直属の上司や部下で、今も富士通との関わりが深い人たちのみが登場する内容には、家族としては非常に複雑な気持ちである。集合写真で真ん中でガッツポーズ決めてたのに。— Taka…

JavaVMのスタックのガードページ幅を変更する必要性

luozengbin.github.io pangin.pro -XX:StackYellowPagesに指定できる最小値は3(4kbページとして12kb)。 $ java -XX:StackYellowPages=1 Test1 intx StackYellowPages=1 is outside the allowed range [ 3 ... 8 ] Improperly specified VM option 'StackYe…

JavaVMの起動オプションについてのメモ

起動オプションの初期値 起動オプションの初期値は何か、最終的にどのような値が指定されたか、そのうちコマンドラインで渡した値は何か、は以下のオプションで表示できる。 -XX:+PrintFlagsFinal: 最終的な設定値 -XX:+PrintFlagsInitial: 初期値 -XX:+Prin…

COBOLの小数点演算

qiita.com そういやCOBOLはどうなんだっけ?ということで確認。 やっぱり除算は鬼門で、できるだけ乗算で処理できるように仕様を決めるのがベターということでしょうね。 IDENTIFICATION DIVISION. PROGRAM-ID. DECUMALTEST. DATA DIVISION. WORKING-STORAGE…

業務システムの開発プロセスと、モダンなバージョン管理システムの機能のインピーダンスミスマッチ

ISO 12207、ISO 9126、IPAの情報システム・モデル取引・契約書のような契約に基づくシステムの開発プロセスって、モダンなバージョン管理システムで管理できるんだろうか? たとえば以下のような仮定を置いた場合に、ソースコードに対する変更はどのようにモ…

サティア・ナデラが言った「Appleは端末屋、Googleは広告屋、じゃぁ俺たちは?」の出典

日本語で「サティア・ナデラ マイクロソフト アップル 広告 端末」とかで検索しても全然引っかからないし、出てくる検索結果は会員限定記事ばかりなので、英語で2015年以前の記事に限定して検索したらTechCrunchの記事がすぐに出てきた。 Here's What Micros…