WindowsではCtrl-cでPythonのスクリプトを即時中断できないことがある

CPythonの既知の不具合に遭遇した。処理系本体ではなく、標準ライブラリの問題のようだ。界隈では有名な話かもしれないが、忘れないように個人的なメモを残しておく。具体的には、標準ライブラリのsocketを使用して自前でUDPパケットを受信する、以下のよう…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.14

2022-06-19現在のステータス。 https://eel3.hatenablog.com/entry/2021/06/20/211327 から1年経て、こうなっている。なおCSS、HTML、XMLはひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる…

Debian stretchからbusterにアップグレードした環境でiptablesからnftablesに乗り換える

Debian 10ではパケットフィルタリングまわりの設定に使用するフレームワークがnftablesに変更されたのだが、この変更が「既に運用中の『iptablesを使用しているDebian 9』」をアップグレードする際にどのような影響を及ぼすのか、メモを残しておく。(Debian…

河豚板のi386版でfiupdateを使いたい

先日Super-microDXにインストールした河豚板をfiupdateでアップデートしようとしたところ、すこしつまづいてしまったので、メモを残しておく。前提というか背景を書いておくと、Super-microDXにはコンパクトフラッシュのドライブ(リーダ?)が内蔵されてい…

お願いお助けOpenBSD

10年前に新品で購入したPCにインストールできるメジャーなOSが減ってきた。思案した結果、ひとまずOpenBSDベースの河豚板を使ってみることにした。件のPCは、ピノーが販売していたSizka Super-microDXという、少し癖のある代物だ。*1ピノー Sizka Super-micr…

プログラマはコミュ障じゃないよ

時にコミュ障とプログラマがセットで語られることがあるのだが、そもそもプログラマに占めるコミュ障の割合は他の職業と比較して有意に大きいのだろうか、という疑問がある。世間一般でいう「コミュニケーション能力」が具体的にどのような内容であるのか、…

さよならSDelete

新しいPCに環境を移行してから、SDeleteを使う機会が激減した。ここ1~2ヶ月は1度も使用していない。何のことはない、ようやくSSDモデルのPCに買い替えたのだ。以前のPCは2013年に購入したノートPCだ。当時は「クラウド・サービスのストレージにデータを置く…

Better C的なC++の使い方

C++をあまり深入りせずにBetter Cとして使うとこうなる。 事前準備:文法面の細かな差異を押さえる 細かいところにC言語とC++の非互換な部分があるので、それを押さえておく。例えば: 標準ライブラリのヘッダファイル名 例えばassert.hではなくcassert。ま…

汝テストアプリと侮るなかれ

信頼性のあるテストアプリやテストデータを用意できないと、十中八九モジュールは爆発する――私の職業プログラマとしての経歴の大半は、モジュールの開発に費やされてきたのだが、その中で悟ったことだ。振り返ると、何らかのアプリケーションなりシステムな…

人はなぜPCを自作していたのだろうか?(Re: 自作PCってなんで人離れていったんだろ)

自作PCってなんで人離れていったんだろ興味深い疑問である。そもそも人はなぜPCを自作していたのだろうか? この疑問に思いをはせる際に、人々の「PCにたいする姿勢」に注目すると、ほんの少しだけ見えてくるものがある。 PCはあくまで手段である、という人…

まだ生きているMIDI:「神田伯山のこれがわが社の黒歴史 (2) ヤマハ・半導体の落とし穴」の感想にかえて

NHK「これがわが社の黒歴史」第2回はヤマハの半導体。23日放送 - AV WatchYMF715EやYMF744-B*1の元ユーザとして、興味深く視聴した。放送では「半導体」と一括りにされていたが、個人的にはアレは「音源チップ」の話だと解釈した。ざっくりといえばMIDI音源…

Re: オブジェクト指向はすでに粒度が時代にあっていない

この記事はオブジェクト指向はすでに粒度が時代にあっていない - きしだのHatenaの個人的補足である……本当は書くつもりはなかったのだけど、ちょっと気になったので。あの記事の趣旨なのだが、乱暴に言うと: 「OOA + OOD + OOP」の勝利の方程式でV10達成必…

Re: シェルスクリプトを書くのをやめる

この記事はシェルスクリプトを書くのをやめる - blog.8-p.infoの個人的感想である。なお元の記事を書いた人と私は全くの赤の他人であり、何の接点もない。つまりこの記事は単なる外野のたわ言である旨をご承知いただきたく。 Re: シェルは悪いプログラミング…

なぜGitは難しいのか(あるいは「難しいツール」だと感じるのか)?

ユーザとして2~3のバージョン管理システムを扱った後、4つ目に出会い今も使い続けているGitだが、使い始めてから7年以上経った今でも「難しいツールだな」という感想を抱く瞬間がある。私は元々、集中型のバージョン管理システムを長らく使用してきた。Git…

シミュレーション用のREPL環境としてPowerShellを使う

プログラマにとって、使い慣れたプログラミング言語のREPLは非常に便利なものだ。電卓代わりの計算機としても、コーディング時にちょっとした機能を探求的に実装していく実験環境としても、REPLは非常に重宝する。ここ2~3年は、ちょっとしたシミュレーショ…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.13

2021-06-20現在のステータス。 https://eel3.hatenablog.com/entry/2020/06/30/201935 から1年経て、こうなっている。なおCSS、HTML、XMLはひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる…

Windows 10 Version 2004でのネットワーク名の扱いについてのメモ

Windows 10にてネットワーク名を変更する方法について、ネット上の情報は若干の混乱というか両論併記的な記述が多いようなので、少し整理してみる。要は、Windows 10 ProやEnterpriseの場合: ローカルセキュリティポリシーでネットワーク名を設定する方法 W…

コードリーディング対象としての標準ライブラリのすゝめ

年頭において、初心を忘れないように書いておく。新しいプログラミング言語の使い方を学ぶ時、個人的に、公式のチュートリアル/コーディングスタイル/リファレンスを参照するのと並行して、当該言語の標準ライブラリのソースコードを読むことが多い。全く…

シェルスクリプトを生成するシェルスクリプト

超小規模な社内サーバの管理に関わることが多いためか、管理用に「スクリプトを生成するスクリプト」を作成することがある。「スクリプトを生成する」と書くと、なにかしら大層なことをやっているように聞こえるが、何のことはない、単に可変のパラメータを…

2020年Objective-Cの旅

まだObjective-Cで消耗してるけど、なんか質問ある?いや、別にSwiftが嫌いな訳じゃない。「Xcode + Swift」とか「Android Studio + Kotlin」みたいな「開発環境込みでの『モダンな静的型付け言語』」の便利さは体験済みな訳で、私だって今からiOS/macOSアプ…

EdgeRouter Xに組み込む自作ツールを作るなら、どの言語を使うか?

故あってEdgeRouter Xを触っている。中身のEdgeOSがVyattaベースで、Vyattaの大本はDebianで、さらにコンソールがvbashで割と普通のシェル環境っぽく使えるので*1、自作のコンソールアプリを組み込めそうだと思ったのだ。というかsshログインのホームディレ…

Dockerのコンテナ停止時にバックグラウンド・プロセスとして動作しているデーモンを適切に終了させたい

続き。前回、下記のような書き方だとコンテナを停止する際に問題を引き起こす可能性がある、と書いた。 FROM amazonlinux:latest # 色々と準備(省略) # コンテナ起動時に秘伝のデーモン magic-daemon を起動する。 # その後、コンテナを終了させないように…

Dockerのコンテナ起動時にバックグラウンド・プロセスとして動作するデーモンを起動させたい

Dockerのコンテナを起動する際に何らかのデーモンを起動させたい、という要求は結構多い(というか実務的にはむしろそれが主目的ではないか)と思うのだが、「何らかのデーモン」がバックグラウンド・プロセスとして動作する代物だと、若干ハードルが上がる…

21世紀に新たにMakefileを書く意味はあるのか?

物心ついた頃は昭和で、十代まるまる20世紀だった地方民にとって、21世紀は「超音速原子力旅客機が飛び、潜水可能な豪華客船が航行し、海底の透明チューブの中を列車が走り、マイカーは自動運転でホバーで空だって飛べるさ」な時代になるはずだったのだが、…

『プログラミング言語C』とは何であったか?

言語ではなく本の話である。ついでに言えば第2版の方。最近、新人向けのC言語の本として『プログラミング言語C 第2版』を推そうとする声にストップをかけたのだが、その辺を含めて、この本についての2020年時点の個人的所感を書き残しておこうと思う。プログ…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.12

2020-06-30現在のステータス。 https://eel3.hatenablog.com/entry/2019/06/30/000000 から1年経て、こうなっている。なおCSS、HTML、XMLはひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる…

「IT業界の『奥が深い症候群』」について:バッドノウハウと「奥が深い症候群」再考

IT業界には「奥が深い症候群」って言葉があってな使いにくいシステムを使いこなすことに喜びを感じて、使いこなせない人間を見ると罵倒するそういう人が幅を利かせていつまでも改善がされないそんな症状だ https://anond.hatelabo.jp/20200603093957 ソフト…

コードに愛を注ぐ

愛のないコードは好きになれない。機能仕様は満たしているものの、中身はネット上のコードのコピペで、複数のコピペ元のコーディングスタイルが絡み合った、使われない変数とステートメントがあちこちに残ったままのスクリプト。正常系での見た目の振る舞い…

コンソールアプリを自作する時のお約束

長らく――というほどではないが、そこそこの期間をコンソールアプリの自作に費やしてきたので、コツのようなものを晒してみる。 対話型を避け、他のツールとの連携を重視する 今、この時代にコンソールアプリを新たに作成する場合、ユースケースの大半は「自…

シェルスクリプトでJavaScript文字列リテラル用のエスケープ

「JavaScript文字列リテラル用のエスケープ」という表現は微妙だけど、要はサーバサイドでJavaScriptを動的生成する時に、文字列リテラルとして任意のパラメータを出力したい場合のエスケープ処理。先日(というか先月)書いたHTMLエスケープ用のシェルスク…