line-height は相対指定しよう、というサンプル

他のCSSとの相互干渉を避けるため、個人のウェブスペースに置いてあります http://metanest.jp/lineheight.html

PCを別のケースに入れ替えた話

先代の Antec P182 が、先日の分解清掃の際にフロントパネルの爪をいくつか折ってしまったりなどだいぶ老朽化した感じもあり(また、マザーボード取付部にメンテナンスホールが無いなど設計も古いので)、新しいケースに入れ替えることにしました。ケースに…

技術書典に申し込みました

詳細は後日(の予定) えーと、詳細です。技術系よろず(?)同人誌「ElectroComplex」創刊号*1を持っていきます。(サークル名と同名ですが、〆切ぎりぎりに寝不足状態で作業していたためか、サークル登録にはtypoがあります)内容は記事1本になってしまいま…

「IME文節」という謎のジャーゴンについて

はじめに 日本の仮名漢字変換関連の某システムの一派の方面が発信元のようですが(その集団ないし個人を糾弾することが目的ではないので、ここでは明示しませんが)、「IME文節」という謎の(良くない)ジャーゴンが広まっているようですので、注意喚起の意…

「トロン―国産OSが世界標準になる」とかいう見出しの記事について

結論 いつものアレなのになんで今回はこう騒ぎになってるの? 事実関係 2017年11月のニュースとして、μT-Kernel(従来のμITRONにおける小さめのプロファイルに相当)を、IEEE標準の「2050」にするために、著作権の移管などがあった。(IEEE 754(浮動小数点…

TypeScriptにおけるobject typeのunionの、あまり期待されてないのではないかと思われる挙動について

結論 Discriminated Union ( http://www.typescriptlang.org/docs/handbook/advanced-types.html#discriminated-unions ) を使おう サンプルコード 'use strict'; type A = { a: string } type B = { b: number } type C = { c: boolean } type T = A|B|C …

「Windowsの標準電卓で4の平方根が2でなかった仕様がようやく修正」の件について

「Windowsの標準電卓で4の平方根が2でなかった仕様がようやく修正」というニュース( pc.watch.impress.co.jp )がありました。現時点では私の手元にそんなに情報が無いので、 以下で述べる内容 以前の仕様のあらまし 修正に関する憶測と心配事 以下で述べな…

タッチパッド機におけるブラウザのJavaScriptの、エミュレートされたマウスイベントと、インタラクティブなコンテンツとの干渉について

サンプルを https://github.com/metanest/mobileBrowserMouseEmulationInteraction に置いてあります。仕様としては、W3Cによるタッチイベントの仕様 https://www.w3.org/TR/touch-events/#mouse-events に含まれているのですが、タッチパネル操作のスマート…

JavaScriptのモジュールのimportの循環が必要な場合について

サンプルを https://github.com/metanest/jsMutuallyRecursive に置いてあります。実行するには、package.json と package-lock.json を同梱してありますので*1、まず npm を次のように実行して必要なモジュールをインストールした後*2、$ npm install . # …

NKF.guess はもう古い。国際化時代のコードセット(エンコーディング)推測法

柄にもなく釣りっぽいタイトルですが、本文中には特にそんな派手なものはありません。 はじめに Rubyの多言語化に関してまず読むべき、るびま記事である「Ruby M17N の設計と実装」が2009年の記事ですから四捨五入すればもう、ひと昔前のことですが、それで…

「James Clark 記法」に関するメモ

備考1 XML の James Clark 記法の件なんですけど生前に直接聞いてみた.結論から言うと James Clark 記法という表記は存在しない.渕さんがページを書く際に,そういえば James Clark がこういう記法使ってたなのを書いただけだった.— Koichiro Eto (@eto) …

X Window System の Meta キーを設定した話

Macのキーボードにはコマンド(Cmd)キーがあり、シフト・コントロール・オルト(Alt)と同様の修飾(モディファイヤ)キーとして使えます。Linux等ではメタ(Meta)キーが相当するキーとして扱える場合がありますが(たとえば、Mozilla の JavaScript のド…

Antec P182マシン、大改修・完結篇?

というわけで、その後以下のように手を加えました。 大騒ぎの原因の一つだったグラフィックカードですが、結局ロープロファイルでショートサイズのカードに変更 PCIスロットの空きスロットの蓋を、空気穴が無いタイプに総取替 上面排気ファンは、中段前面で…

Antec P182マシン、大改修

前に書いた通り、電源とマザーボードを新調したわけですが、この際ということで大幅な改修を行うことにしました(画像は改修後)。 大型のグラフィックボードとの干渉で難儀していたHDDを下段に移動、中段ケージを撤去 同様に、張り出していて、パラレルATA…

PCの電源を買った

無理な延命等が祟ったようでもあり、PCの電源が、2代目か3代目となるマザーボードと一緒に(原因がどちらの側かは不明瞭)壊れたため、現行のCPUとDIMMとの組合せでは多分最後となるマザーボードと、電源を買った。というわけで以下検討過程などのメモ。 せ…

SICPと、6.001の話

調べていたところ、「弱LisperがMITでSICP(シクピー)を受講した結果」( http://qiita.com/kaz-yos/items/d1ecd4bfe9989c290e99 )というQiita記事を見つけたのでリンクしておきます。噂の(?)SICPを懐かしむチューターたちによって実施されている特別授業に…

ARMの設計(デザイン)

Oral History of Sophie Wilson( http://www.computerhistory.org/collections/catalog/102746190 )から、ARMの設計(デザイン)に関することのメモ(主に、6502との関係について) ARM以前のほとんどのマシンで6502を使用しており、6502での経験はあった …

Rubyスクリプト中からアセンブラを呼んでアセンブルして .so 作って動的ロードして実行するサンプル

Rubyスクリプト中からアセンブラを呼んでアセンブルして .so 作って動的ロードして実行するサンプル

Macr055発表の反省

プロシンでいただいたコメントとかに対するメモ 再帰的なマクロの例が欲しい (言い訳: 「マクロに展開されるマクロ」がちゃんと再帰的に扱えれば、あとはそのマクロが自分自身でも同じことだ、と思っていたのですが)質疑応答のかなり最後のほうで、「再帰…

簡易回転計算

その昔、高校の先輩が8ビットマシンで背景が回転するゲームを作るにあたり、sinθ=1/8、cosθ=127/128として、Z80の機械語でいとも簡単に回転行列の計算をしてしまっていたのを見て、この人には追い着けないなあ、と感じたものです。どうやったらこんなの思…

process reaperの実験

procctlという、プロセスの属性の一部を制御するAPIはFreeBSD 10で追加されたものですが、10.2 でそれに reaper facility と呼ばれている機能が追加されました。基本的な機能性はLinuxを参考に(Linuxでは prctl(2) というAPIです)、APIの設計はDragonflyBS…

総和の計算は、なぜどのように難しいのか

プログラミング入門で、forループを使う例題としてよく出てきたりするように、総和計算は一見簡単そうですが、実はどのように難しいのか、という点を書いてみます。まず、対象が整数であれば、大きな問題はありません。昔のようにintが16ビットの場合は、160…

Ruby 2.4 の新機能, Array#sum

Ruby 2.4 で追加されている新機能のひとつに Array#sum があります。(参: ドキュメントは http://ruby-doc.org/core-2.4.0_rc1/Array.html#method-i-sum )共立『アルゴリズム辞典』でも「総和計算」を立項しているように、情報落ち*1*2による「積み残し」…

拡張ライブラリでキーワード引数を処理する定番プラクティス(ベストじゃないかも)

ruby 2.4 リリースおめでとうございます。つい先日まで「拡張モジュール」と「拡張ライブラリ」の、どちらの呼称がobsoletedなのかいまいちはっきり認識していなかったきしもとです(ClassクラスのスーパークラスであるModuleのほうのモジュールがあるので、…

移植性が(ほとんど)あり性能問題が無い(かもしれない)、負の値に対応した算術右シフトのCコード

普通は、自分のマシンでどのようなコードが生成されるかを確認して、うまくいっていればそれで良しとする所ですが、右シフトは凝ったコードを書こうとするCプログラマにとって悩みの種です。しかし、手元の環境( FreeBSD clang version 3.4.1 )で、次のよ…

SICP的な状態を共有する複数のクロージャをJavaScriptでどう書くか

某展示会の学術系ブースで、このようなSICP的な状態を共有する複数のクロージャをJavaScriptで書きたいわけだが、"use strict" var [getVal, setVal] = (function () { var v return [function () { return v }, function (new_v) { v = new_v }] })() setVa…

「Trusting Trust」攻撃に対抗する

シュナイアーさんによるblogエントリ( https://www.schneier.com/blog/archives/2006/01/countering_trus.html )は、もう10年も前ですので、その世界では特に新しい話題というわけではないようですが、私が知ったのは今年のはじめのことでしたので*1、この…

POSIXとのつきあいかた

コンピュータ関係の技術的なものや技術的でないもの(標準規格とかいったようなものの半分は技術仕様ですが、もう半分は業界政治で出来ていると言えるでしょう)との「つきあいかた」にはいろいろあります。私のこれまでの経験などから、POSIXとのつきあいか…

numo-lapack というブロジェクトを作りました(始めました)

numo-lapack というブロジェクトを作りました(始めました)。 https://github.com/metanest/numo-lapack Numo::Linalg( https://github.com/ruby-numo/linalg )からのフォークをベースに、column-major ←→ row-major 相互の変換をライブラリ側では行わな…

同名だが(違う場所にあって)異なるダイナミックリンク(共有)ライブラリの問題(適切な解決法を求む)

FreeBSDにおいて、プログラムの起動時に次のようなエラーで起動に失敗することがあります。/lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/lib/gcc48/libgfortran.so.3 not found(GCC に gcc-4.8 を使っている場合)原因は、libgcc_s.so.1 …