速度規制中2017年05月09日 01:56

速度規制中
速度規制中


2台のウインドウズ10を、1703(クリエイターズアップデート)に上げたので、ワイマックスギガ放題の通信量規制値である、3日で10G超えに引っかかった。

明日も夕方から深夜にかけて、通信速度が激減する(浮沈子の場合、10Gbpsから1Gbps以下)。

まあ、サクサクというわけにはいかないが、OSのISOイメージとかダウンロードしたりしなければ、まあまあのスピードが確保されていると言える。

選りによって、クロームブラウザーのアップデートも行う。

別に、今日やらなくてもいいんだがな。

余り変わらない。

夕べ夜更かしして、今日は昼過ぎから寝てしまった。

鼻水が止まらなくて、午前中に出先で閉口した。

ああ、口で息してたから、閉口じゃないか・・・。

まあ、どうでもいいんですが。

UNIX考古学は、第3章まで読んだ。

本当は、ここら辺りが、もう少し詳しく書いてあるといいんだがな。

資料の関係で限界があるんだろう。

マルチクスが完成して、何十台ものコンピューターで稼働していたこと、ベル研がその開発から離脱して、関係者が一時期あぶれていたこと、その時に調達できたマシンが、非力だったこと、グラフィカルな表示が出来るマシンだったことなど、細かい点も分かった。

いくつかの偶然が重なって、マルチクスとは異なるアプローチで開発が始まる。

まあ、有体に言えば、実力行使だな。

個人的研究として、強引に始めた感じだ。

そこに、文書管理用マシンの開発という名目を立てる。

今でいえば、ワープロのようなもんか。

文書の中に、字下げとか、段落とかのコードを埋め込んで、整形して印刷する。

従来のタイプライターから比べれば、いくらかマシというレベルだ。

特許申請部門で評価されて、実用に供されることになる。

その見返りに、新しいマシンの導入が認められ、いよいよ、名実ともにUNIXとしての開発が始まるのだ。

というところで、おしまい。

ベル研内部の組織的な位置づけとか、予算の状況とかは、良く分からないが、ワープロを開発して新規OSの開発マシンを手に入れるという、物々交換的、義理人情的、裏技的、騙し的、ホントはゲームやりたい的手法とかが興味深いな。

当事者の本音がどこにあったのかは分からない。

とにかく、マルチクス開発から公式に離脱したAT&Tとしては、この時期、自前のOSの開発なんて、表立ってはご法度だったわけで、何か他の名目を立てなければ、スタートを切れなかったわけだから、全ては水面下で始まることになる。

ゲリラ的なわけでもある。

UNIXは、AT&Tが開発したOSだ。

表の世界では、それは間違いない。

しかし、真実はそうじゃない。

日の当たらないところで、ひっそりと、少人数の有志が始めた闇のプロジェクトだ。

OSを作るだってえ?。

とんでもない・・・。

しかし、ワープロの作成と引き換えに新しいマシンを手にした彼らは、その、とんでもないプロジェクトを始める。

続きは、第4章以降だな。

まあいい。

本の文章は、いささか読みづらく、ドラマチックでもない。

大きな組織の中で、研究者として比較的自由度が与えられていたとはいえ、当時、数千人が関わらなければ開発できないと言われていた本格的なオペレーティングシステムの開発が、非公式の状況で、どのように可能になったのか。

小さく産んで大きく育てると言えば聞こえはいいが、そうせざるを得ない状況があったわけだ。

それは、思想でもなんでもない。

今、浮沈子は、シェルスクリプトにおける日付処理について調べていて、ユニックス時間(UNIX time)というのがあるということを確認した。

2000年問題というのがあったが、2038年問題の原因にもなっている。

まあ、その頃までには、64ビット実装されていて、問題にはならないと思ってるけどな。

1970年1月1日午前0時0分0秒(GST)。

JSTでは、朝9時になる(時差があるんで)。

UNIXの歴史は、まあ、象徴的にはここから始まる。

それ以前の話として、PDP-7で動いていた怪しげなシステムがあったということ、それをUNIXと呼ぶかどうかは別にして、その上でゲームが動いていたこと、それは、アセンブラで書かれていたことが確認できたことは、本を読んだ収穫だな。

その後、1970年にPDP-11でワープロソフトを動かしたのが何だったのかは、本を読んでも良く分からない。

公式にバージョン1と呼ばれるUNIXが生まれるのは、その翌年、1971年になってからの話だ。

もちろん、Cで書かれたわけではない。

UNIXは、アセンブラで書かれ、後に(1972年)Cに移植された(書き直された)OSだ。

「数々の伝説に彩られたUnix開発の真実を探る」

本のカバーには、そう書かれている。

OSとは何か。

ハードウェアの仕様を吸収し、プログラマーから隠ぺいして、抽象的な概念の上でプログラミングを可能にする魔法だ。

ファイルとか、コマンドとか、ドライブとか、そんなものは、実体としてはない(ドライブはあるか・・・)。

抽象化を可能にするためには、それを実現するための構造が必要だし、それは人間の頭の中で作るしかない。

(ファイル (コンピュータ))
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)

「初期のころは格納されている中身の情報よりも、装置自体をファイルと呼ぶことが多かった。例えば、IBM 350 のディスク装置は「ディスクファイル」と呼ばれていた」

ああ、ファイルにも実体があったのかあ・・・。

秘密兵器2017年05月09日 03:30

秘密兵器
秘密兵器


SFの世界では、こういうものがないと、物語自体が成立しなくなる。

光線銃、ミノフスキー粒子、波動砲、エトセエトセ・・・。

最近は、あまりSFに興味がないので、良く分からないが、手を変え品を変え、秘密兵器は考案されているんだろう。

現実の世界でも、既に公開されている秘密兵器(って、秘密じゃないじゃん!?)がある。

(海軍・空軍に負けじとアメリカ陸軍も「レーザー砲」を導入。数ヶ月で納品へ)
http://www.gizmodo.jp/2017/03/us-army-get-laser-weapon.html

「光の速さで撃ち落とす…。」

ったく、ギズモードって、なんでこんなに低レベルなんだろう。

まあいい。

しかし、秘密兵器といえば、これに勝るものはないだろう。

(米空軍の「謎の」無人宇宙機X37B帰還、衝撃波に住民驚く)
http://www.cnn.co.jp/fringe/35100772.html

「X37Bがカリフォルニア州ではなくフロリダ州に着陸したのは今回が初めて。同機は718日間、軌道にとどまり続けるという記録も達成した。」

「しかし同機の任務は依然として謎に包まれている。空軍では「リスク軽減、実験、および再利用可能宇宙船技術のための運用開発コンセプト遂行」と説明」

んなわけ、ないじゃん・・・。

ボーイングは、大型化、有人化を提案しているそうだが、大きさ的には十分だな。

このペイロードベイに、秘密兵器を積んで、宇宙空間に滞在し続けるわけだ。

この第4回の実験の打ち上げの際の記事を見ることが出来る。

(米空軍の無人宇宙往還機「X-37B」、打ち上げ成功 4回目のミッションへ)
http://sorae.jp/030201/5528.html

「X-37Bのミッションは今回で4回目で、電気推進エンジンの試験や新素材の実験などが行われる。」

「もちろん、それ以外にも何らかの試験や実験が計画されているはずである。」

(X-37 (宇宙機))
https://ja.wikipedia.org/wiki/X-37_(%E5%AE%87%E5%AE%99%E6%A9%9F)

なんたって、毎回のように滞在日数が伸びているところが不気味だ。

「回数:機体:打ち上げ日時(UTC):帰還日時:飛行日数:打上げ間隔(浮沈子追記)
1:1号機:2010年4月22日23:52:2010年12月3日09:16:225日:-
2:2号機:2011年3月5日22:46:2012年6月16日12:48:468日:92日
3:1号機:2012年12月11日18:03:2014年10月17日9:24:675日:164日
4:2号機:2015年5月20日15:05:2017年5月7日AM8:00頃(EDT):718日:202日」

着陸から次の打ち上げまでの日数が、打ち上げの都度、長くなっているのも気になる。

(4th X-37B conducts first landing at Kennedy Space Center)
http://www.spaceflightinsider.com/missions/defense/fourth-x-37b-mission-lands-successfully/

今回は、フロリダには、初の着陸ということになる。

まあ、世界のどこへでも降りられるということだ。

テロリストには容易に手出しできない宇宙空間に、長期に渡って何かを置いておいて、いつでも必要な時に、必要なところに配達する。

ピザパイとかじゃないことは確かだ。

メンテナンスに当たっている地上要員が厳重な防護服を身に着けているのは、ヒドラジン系の有害物質を推進剤として使用しているからだと言われているが、本当にそうなんだろうか?。

細菌兵器とか、化学兵器とか、そういう危ないやつなんじゃないのかあ?。

宇宙空間での、耐久性を確認するということなら、そっちのほうが理由が経つような気がするな。

特に、細菌兵器の場合は、放射線による影響を見極めるという合理的な理由もあるしな。

滞在期間が長いのも、十分納得がいく。

概ね半年後には、あらたな打ち上げがあって、1号機が宇宙へ向けて出発するんだろう。

極秘の任務を帯びて。

秘密兵器の開発のために。

その真実が明かされることはない・・・。

立夏の頃2017年05月09日 06:15

立夏の頃


今年は、5月5日が立夏だったようだ。

(立夏)
https://ja.wikipedia.org/wiki/%E7%AB%8B%E5%A4%8F

「立夏(りっか)は、恒気法では冬至から3/8年(約136.97日)後で5月7日ごろ」

暦では、もう、夏なわけで、昼間の陽射しの強さと暖かさは有り難い。

体調は万全ではないけど、そろそろ活動を始めないとな。

近所の塀の上には、ジャスミンの花が咲き狂い、キョーレツな香りを放っている。

(引き籠る春)
http://kfujito2.asablo.jp/blog/2016/04/30/8081016

去年の記事だが、まあ、概ねおんなじ感じだ。

太陽活動も、大して変わっていないようだしな。

少し、運動を始めて、徐々に戻していかないと、急には動けない。

1か月くらい、殆ど運動らしい運動から遠ざかっている。

パソコンやタブレットを弄りながら、ああでもない、こうでもないと、唸り続けた1か月・・・。

そろそろ、身体の方も動かさないとな。

結局、4月中にジェクサーの店舗は回りきれなかった。

別に、それはそれでいい。

再開された大井町にも、まだ、顔を出していない。

動き出すには、何かきっかけが必要なんだがな。

どーしよー?。

まあいい。

慌てることはないし。

近所の散歩から初めて、徐々に慣らしていこう。

無理は禁物・・・。

と、そうやって、いつも先延ばしにしている。

そうして、先延ばしに出来ない事態になって、ようやく動き出すのだ・・・。

30年ぶり2017年05月09日 14:03

30年ぶり
30年ぶり


もっと前かもしれない。

(【日立】 2050,2020)
http://museum.ipsj.or.jp/computer/work/0002.html

「1985年9月,日立製作所はOAの中核となるワークステーションとして,日立クリエイティブワークステーション2050およびその普及型である日立パーソナルワークステーション2020を市場に投入した.」

「2020は,2050の普及型として開発された.高性能のマイクロコンピュータ80286を採用し,大容量メモリ,LSI化による高信頼性,大容量,高速アクセスハードディスク,さらに高速図形処理プロセサーを採用したハードウェアを持つ.」

「また,MS-DOSを組み込み,マルチタスク機能を実現するOSであるHI-MOSにより,OAソフトによるパーソナル処理はもとより,強力なネットワーク機能を搭載する.」

職場に配置された2020で、浮沈子が最初に走らせたプログラムは、ベーシックで書かれた完全数を求めるコードだった(もちろん、業務とは全く関係ないので、ここだけの秘密ですが)。

どうやって書いたかは、既に記憶にない(覚えてないということは、雑誌の記事のパクリだったかもしれない)。

(完全数)
https://ja.wikipedia.org/wiki/%E5%AE%8C%E5%85%A8%E6%95%B0

「自分自身を除く正の約数の和に等しくなる自然数」

シェルスクリプトを書き始めて、久しぶりに挑戦してみようかと思い始めた(それほどのことかあ?)。

まずは、1から順番に、自然数を発生させる仕掛けが必要だな。

次に、その自然数を割る数を、探していかなければならない。

別の変数を立てて、当該自然数を割り切れるかどうかを判定する。

割り切れたら、それを約数として認めてやって、約数の和という新たな変数にぶち込んでやる。

どんどん足していけばいいので、何が約数だったかは覚えている必要はない(覚えているように書くのは、なんかめんどくさそうだしな)。

んでもって、約数の和を当該自然数と比較しつつ、約数なんだから、当該自然数の半分以下に決まってるので、そこで打ち切りの判定もしなければならない。

半分になるまでに、当該自然数に等しくならなければ、その当該自然数は完全数ではないから、次の数の判定に移る。

今まで知られている中では、偶数だけが完全数だとされているが、そんなことは証明されていないし、ひょっとしたら見つかるかもしれないし、いちいち偶数だけ探すのもめんどくさそうなので、自然数は1ずつ増加させていくのがよろしい。

さて問題は、このロジックで見つかった完全数を、どうやって表示するかだな。

その辺りは、おいおい調べることにしよう。

で、とりあえず動いたのがこれ。

#!/bin/bash

i=2
while :
do
j=2
k=1
while test $j -lt $(expr $i / 2 + 1)
do
if test $(expr $i % $j) -eq 0
then
k=$(expr $k + $j)
if test $k -eq $i -a $j -gt $(expr $i / 2 - 1)
then
echo "出ました!:"$i
fi
fi
j=$(expr $j + 1)
done
i=$(expr $i + 1)
if test $(expr $i % 10) -eq 0
then
echo $i
fi
done

動くまでが大変だったが、動かしたら、遅くて使い物にならないということが分かった。

とりあえず、3つ目の496が出せたところでぶった切った。

判定をtestのままにしたり、exprで計算するのに、バックスクォートを使わなかったりしているのは、一応、お勉強のため。

最後のところで、経過を見るために10個ずつ表示するようにした。

いろいろ手を入れたけど、実行速度を気にしなければ、もっとシンプルに書けそうだ。

ちょっと苦労したのは、24を完全数と認識してしまったので、判定に条件を付けたところだな(ここは、プログラムミスで、後日修正しました)。

(速さは正義:修正あり)
http://kfujito2.asablo.jp/blog/2017/05/10/8552087

ちゃんと約数を格納しないで足し上げていくだけだと、全部の約数を列挙する前に表示されてしまう。

ああっ・・・。

甘いロジックで、他にも穴があるかもしれない。

さて、遅い飯でも食いに行くか・・・。