はとのーと

エジソンノート(アイデア、思い付き、メモ)として使っています。誰かの役に立つかもしれないので公開しています。

メモ 2019-06

目次:

2019-06-01

TI99/2, TMS9995

PinterestTI99/2 texas instrument(vintage) を発見。 リンク元OLD-COMPUTERS.COM Museum ~ Texas Instruments TI 99 / 2

http://www.old-computers.com/museum/photos/texas-instrument_ti99-2_2.jpg

搭載CPUのTMS9995について調べた。

参考ページ:

上記ページから次のことがわかった。

  • TMS9905はTMS9900を3電源→単一電源、データバス幅を16ビット→8ビットに変え、クロックジェネレータと256BytesのRWMとタイマカウンタ回路を内蔵し符号付き乗除算命令など4命令を追加したもの
  • TMS9900のコードがほぼ変更なしで動く
  • TMS9900/9905ではレジスタはすべてメモリー上に置かれ、1つだけあるWPが16本のレジスタセットを指す
  • TMS9905では256Bytesの高速なRWM(内蔵メモリー)がアドレスのF0000からマップされている
  • 日本ではぴゅう太に使われた

2019-06-03

Cambridge Z88, Amstrad NC100, Nakajima ES210

乾電池で動くハンドヘルド・コンピュータ。 CPUはZ80ワープロ表計算、VT52ターミナル、BBC BASIC等がROMに入っている。 兄弟マシンらしい。 製造はNakajima(中島オール)とのこと。

Cambridge Z88: Old Computers.com, Wikipedia

http://www.old-computers.com/museum/photos/Sinclair_Z88_System_2.jpg

Amstrad NC100: Old Computers.com, Wikipedia

http://www.old-computers.com/museum/photos/Amstrad_NC100_System_2.jpg

Nakajima ES210: Old Computers.com

http://www.old-computers.com/museum/photos/Nakajima_ES210_System_s1.jpg

2019-06-05

Chromeでページ全体のスクリーンショットを取る方法

Chrome なら Web ページ全体のスクリーンショットが簡単に取れる - Qiita

Chromeのコンソールを開く → Developer Toolsのプロンプトを開く(Ctrl+Shift+P) → full と入力するとスクリーンショットがダウンロードできる。

Domain-Driven Designのエッセンス

[ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場

『エリック・エヴァンスのドメイン駆動設計』のエッセンスをわかりやすく3回に分けてまとめたもの。

ゴム印が剥がれたらボンドG17で接着できる

ゴム印が剥がれた時の対処法 | 鈴印ブログ

ゴム印が剥がれたらアロンアルファやアラビックヤマトで接着してはいけない。 ボンドG17を使うのがよい。

2019-06-09

PHILIPS Videopac G7200, Intel 8048

http://www.old-computers.com/museum/photos/philips_g7200_1s.jpg

OLD-COMPUTERS.COM Museum ~ Philips Videopac G7200

珍しくディスプレイが右寄りのコンピュータ。 左側にはソフトウェアカートリッジが入る。 CPUはIntel 8048 (MCS-48)。

Intel 8048 - 半導体コレクション によると8bitアキュムレーター1本、内蔵64バイトRAM(RWM)上に8bitレジスタ8本×2バンク、PCは12bitで内蔵ROM1KB+外部3KBにアクセス可能。 アドレスを扱う場合にはPCを修飾する形で以下のようになる(ここでaddrは11bit値、rは8bit値、(MB)はMBフラグ1bitの値)。

  • オペランドに11bitが指定される命令の場合: (PC10..0) ← addr, (PC11) ← (MB)
  • オペランドに8bitが指定される命令の場合: (PC7..0) ← r, (PC11) ← (MB)

この頃のCPUには小容量のRAM(RWM)と比較的大容量のROMにアクセスする構造のものや、命令用とデーター用で主記憶が完全に分かれているハーバード・アーキテクチャ(Wikipedia)のものがあり、Z80で育った自分には馴染みが薄い。

2019-06-12

キャメルケースよりスネークケースの方が良い?

キャメルケースよりスネークケースで。 - 偏見プログラマの語り!

上記ページにはキャメルケース(camelCase)よりスネークケース(snake_case)が良い理由として以下のものが挙げられている。

スネークケースの利点:

  • 横方向の幅を変えない
  • 元の単語の大文字小文字を変えずに書ける

はてブコメントには「頭字語」(Wikipedia)の大文字小文字を考えなくてよいのが利点という意見があった。 たとえば XML + HTTP + request を考えたとき

一方、キャメルケースの方が良いという意見では「キャメルケースはトークンの数がひと目でわかるので有用」というものがあった。

2019-06-13

bashでジョブ番号を指定する記法

実行中のプログラムをバックグラウンドにもっていく。フォアグラウンドにもってくる(bg、fg)

  • %ジョブ番号 … 指定のジョブ
  • %%, %+ … カレントジョブ
  • %- … 前のジョブ
  • %文字列 … 文字列から始まるジョブ
  • %?文字列 … 文字列が含まれるジョブ

2019-06-18

パイプライン演算子

Rubyにパイプライン演算子を導入する話から、他言語でのパイプライン演算子的な機能やマクロまで。

UNIXパイプ、ソフトウェア配線、関数の合成

Unix Pipe as Functional Language には「UNIXパイプはネストのための後置記法であり関数型プログラミングである」と書かれている。

ソフトウェア配線 はソフトウェアコンポーネントをICに喩えて「配線しておいてデーターを流す」考え方。

これはひどい誤解だ -- フローチャートは手続き型…だってぇー?! - 檜山正幸のキマイラ飼育記 (はてなBlog) には関数の合成をフローチャートで表した図がある。

UNIXパイプ、ソフトウェア配線、関数の合成には「つないでおいてデーター(値)を流す」という共通した特徴があると思う。

この方式でプログラムを作成することはできるだろうか? たとえば 「フローチャート」騒ぎ、もう少し頭使って考えてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog) からリンクされている 若手プログラマー保存版!フローチャート徹底解説と作成カンニングペーパー に出てくるバイナリサーチのプログラム(アルゴリズム)をUNIXパイプやソフトウェア配線で記述することはできるだろうか?

2019-06-20

ポータブルで障害に強いPC環境

USBメモリに『無料OS』をインストールして作る安心PC環境! | Report Hot Cafe

  1. ノートパソコン (箱としてのPC)
  2. USBメモリーOS
  3. データー保存用外付けHDD (オフィスファイルや画像データ―など各種データー)
  4. 大型ディスプレイ (PCが壊れてもそのまま使える)
  5. キーボード (独立しているので壊れても交換可能)
  6. マウス (独立しているので壊れても交換可能)

PCも含めて壊れた部品だけ交換すればよい。 HDDだけ残っていればすぐに環境を復元できる。

2019-06-21

UCSD p-System

Peter's z80.eu site blog - UCSD p-SYSTEM for IBM PC - bootable and not MS-DOS related, not the usual psys22.zip file

UCSD p-Systemの画面キャプチャがある。

本物のプログラマPascalを使わない

本物のプログラマはPascalを使わない | SEの良心

Real Programmers Don't Use Pascal の翻訳の全文。

2019-06-25

MBR形式ディスクでのマルチブート・マネージャー(MBM)

MBR形式のディスクでマルチブートするための前提知識や、綺麗な構造でマルチブートできるブートローダMBMについて。

上記公式ページで紹介されているページ2つ。

  1. Nobusan's Square ブートとハードディスク
  2. disklessfun’s Wiki*

ブート・ローダー対決: LILO と GRUB について IBM developerWorksの記事。 LILOGRUBの設定方法。

2019-06-28

ドメインモデル、賢いデーターは必要か?

ドメインモデルに対する日米の温度差 | Ouobpo

日本ではドメインモデルよりトランザクションスクリプトの方が優勢だということが考察されている。

業務アプリケーションは結局関数と構造体だけあれば充分? - yvsu pron. yas

上記ページで言及されているひがやすを氏のページ。 「伝票とアクティビティ」(データーとふるまい)を素直に「伝票とアクティビティ」用のインターフェースにマッピングするのがいちばん簡単で変更にも強くなると述べられている。

賢いデータは必要なのか - ペーペープログラマの日記

上記ページで言及されている鈴木雄介氏のページ。 「データにふるまいを持たせすぎ」にも注意が必要と述べられている。

Lispマシン、Prologマシンに関するスライドとドキュメント和訳リンク

www.slideshare.net

Lispマシン ドキュメント和訳とか、 ちびLispとか

昔のLispマシン、Prologマシンの紹介から自作マイコンLispまで。 Lispマシンの構成などの和訳ドキュメントへのリンクが複数ある。