2025-01-21

Legacy HP

不意に手書きHTMLをFTPでアップロードして公開するような,昔ながらのホームページを作りたくなった.

そもそも論,自分の年代でFTPでアップして~のようなことをやった経験のある人間はどの程度いるんだろうね…
自分が触ってたのはだいたい小学校中学年程度の頃なので,だいたい2010年代に入るか入らないかというあたりだった.
いまは亡きYahoo!ジオシティーズで50MBくらいの無料枠があったので,そこで遊んでた.
CGI, PHPは無料枠じゃ使えず,その辺は手元で遊ぶしかできなくて残念だった記憶.
PerlとかRubyのCGIも全然聞かなくなったけれど,現在進行形で稼働しているものはどの程度あるんだろうか.少し気になる.

というわけで,まずはホスト先を検討.
とりあえずローカルの仮想基盤に載せたVM上に置いたが,契約してるISP (GMO) が昔ながらのホスティングサービスを提供してたのを思い出してそっちに移した.


ISP契約とセットのホスティングサービスは昔からあったけども,段々と無料でやらなくなっていった覚えがあり,現存しているのには驚いた.
かつて実家ではODNとフレッツADSLのプロバイダ契約をしていたが,あそこは確か2010年になる前あたりで無料でのホスティングをやめてしまった.

ただ,現代じゃ考えられないことにSSL/TLSに対応してない.まあ秘匿しなきゃいけないものを扱うわけじゃないからなくても良いのだが,近頃のブラウザはNon-TLSにうるさいので適当にCloudflare Tunnelを通した.

ホスト先を確保したので早速HTMLを手書きしていく.
令和7年にもなってこんなことやってると,逆に新鮮でいいわね.
ちなみにDOCTYPE宣言も当時にならってHTML4.01…

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

せっかくだからアクセスカウンタを置きたいよねってことで,ここから拝借した.
GMOさん,無料でPerl CGI使わせてくれるのはちょっとありがたい.

今じゃDeprecatedだけども,やっぱりFrameを使わないとねってことで,こんな感じになった.
フォントは最近のやつだと味がでないので,MS ゴシックをprefer.やっぱこれだよな.

ていうかmarqueeってまだ動くんだね.消えたかと思ってた.感動.

一通り書いたら,FTPでアップロードしていく.まずはエクスプローラから試してみたが,ローカルVMには繋げたものの,GMOの方には繋げられなかった.
まあこちらは余興のようなものなので,ここで本命FFFTPを召喚!


この画面,やっぱり実家のような安心感がある.良い…(しんみり)
いまもメンテナンスしてくれている方がいるんですね.ありがとうございます…

伝家の宝刀ミラーリングアップロードで全てを投げつける.
動作は全然変わっていなくて,もう懐かしいという言葉しか出てこないですねこれ.

できあがったのはこれです. https://legacy.myuu.dev/
新旧並べてみると面白いなこれ()

2025-01-13

プロキシ環境下でのNix

新環境のセットアップ時によく忘れるので.
nix-daemonに環境変数が渡っていないとバイナリキャッシュ等に到達できない.

systemd serviceのunitに以下をドロップインで追加する.

[Service]
Environment="http_proxy=<PROXY URL>"
Environment="https_proxy=<PROXY URL>"
Environment="no_proxy=<EXCLUDE DOMAIN>"

Windows環境でのwezterm

普段からターミナルエミュレータとしてwez/weztermを使用している.
クロスプラットフォーム対応で Linux / macOS / Windows のどれでもイケるのがよく,かれこれ3年近く使っている.

ただWindows環境だといくらか難点があり,なぁなぁのまま使っていたが,そろそろ真面目に使い勝手を改善しようかと作り込み始めた.

個人的に一番やっかいなのが,SSH周りである.
weztermはlibsshがバックエンドの独自のSSHクライアントを実装している.
これの利用してSSH接続を1つのドメインとして扱えるようになっており,Linux / macOSでは重宝している.
しかしWindowsでは,おそらくlibsshの実装上の問題か,認証エージェント(1Password)と多段SSHを使うとまともに動作しない.

仕方ないのでいつもssh.exeを直打ちしていたが,だんだん面倒になってきたので,Windowsに限ってSSH domainのエントリを元にssh.exeを叩くエントリを作成するようにした.
ssh.exeを使うのであれば認証エージェントに関しても多段に関してもOpenSSH側の仕様で動くので,wezterm側の実装でどうこうなり得ない.
weztermのマルチプレクサ機能は使えないが,そもそもあまり活用していないのでどうでもよい.(バージョン制約がめんどくさくて使うのやめちゃった)

-- Windows Launch Menu
if is_windows then
    -- pwsh & cmd
    config.launch_menu = {
        {
            label = "Powershell",
            domain = { DomainName = "local" },
            args = { "C:\\Program Files\\PowerShell\\7\\pwsh.exe", "-nologo" },
        },
        {
            label = "Command Prompt",
            domain = { DomainName = "local" },
            args = { "C:\\Windows\\System32\\cmd.exe" },
        },
    }
    -- wezterm ssh does not work correctly on windows
    -- create launcher entry directly executing ssh.exe from ssh domain
    local ssh_domains = wezterm.default_ssh_domains()
    local ssh_executable = "C:\\Windows\\System32\\OpenSSH\\ssh.exe"
    for idx, dom in ipairs(ssh_domains) do
        if dom.multiplexing == "None" then -- ignore SSHMUX domain
            table.insert(config.launch_menu, {
                label = dom.name,
                domain = { DomainName = "local" },
                args = {
                    ssh_executable,
                    dom.remote_address,
                },
            })
        end
    end
end

is_windowsは設定の最初の方でOS判定をしているもの.
1つのファイルで複数OSの設定を細かく書けるのは,設定にLuaを用いる1つの利点だと思う.


こんな感じでLauncherにSSH domainと同じ名称を持つエントリが増えた.
しっかり動いたのでヨシ.

このあたりそのうち詳しく書きたい.

2025-01-05

12月はなにも書かずに新年一発目…

懐かしのUltrabook

実家より10年物のラップトップを発掘
2014年製のFMV LIFEBOOK UH90/M

今となっては死語になってしまったUltrabookに分類される代物である.

Ultrabook(ウルトラブック)は、インテルが2011年に提唱した、薄型軽量PCのカテゴリである。主に薄型軽量のノートPCや2in1PC、コンバーチブルPCなどがUltrabookの認定を受けている。認定を受けたPCはUltrabookのロゴシールが貼付される。また、マイクロソフトは規格の制定には直接関わっていないが、OSには通常最新のWindowsが搭載される。
—— Wikipedia

Ultrabookが発表され,認定品が販売されていた頃はまだ小学生だったが,当時から無類のPC好きだったのでよく覚えている.

このUH90を購入したのは僕の祖父母で,当時中学生だった僕が適当に見繕ってあげた記憶がある.

祖母「(物理的に)重いのは嫌だわ〜」
僕「Ultrabookでいいんじゃね〜」
と適当なことを言っていた

改めてスペックを見直してみると,なかなか面白い構成をしていた.

  • OS: Windows 8.1 64bit
  • CPU: Intel Core i5-4200U (2C/4T)
  • RAM: DDR3L 4GB
  • Display: 14インチ / 3200x1800 / 10点マルチタッチ
  • Storage: 500GB SSHD

Laptop向けi5が2C/4Tなのは時代を感じる
当時のメニーコアCPUクラスが今では一般向けクラスのレベルだもんなぁ…

とりあえず起動してみて驚いたのは,画面解像度.4Kに近い解像度をしていて,今でも非常にキレイだった.
2in1やコンバーチブルでもないのにタッチパネルは要らない派閥だが,そもそもUltrabookがそういう要件だったなぁと思い返しもした.まあ,あれば使うかな程度だろう.

そして,ストレージに関してはまた懐かしい言葉が…
SSHDである.ハイブリッドHDDとも呼ばれていた.

これは何物かというと,HDDにキャッシュのような形でSSDを搭載したもので,SSDと純粋HDDの中間程度のI/O速度があると謳われていた.
当時はまだSSDが高価格・小容量であり,コストを抑えて低価格化・省電力化を図るという目的での需要があった.

…だが実際にそこまで速かったかと言われると,イマイチだった記憶.結局SSD容量は8GB程度なので,それを超えるIOとなるとHDDと同等になる.そもそもキャッシュに載っていなければ一緒だしね.

動作は問題ないけれど,古いハードなので実験用マシンとしてでも使おうと思う.