速さは正義2017年05月10日 00:30

速さは正義
速さは正義


ちょっと、プログラムを修正した。

#!/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)
fi
j=$(expr $j + 1)
done
if test $k -eq $i
then
echo "出ました!:"$i
fi
i=$(expr $i + 1)
if test $(expr $i % 10) -eq 0
then
echo $i
fi
done

完全数かどうかの判定のところを内側のwhile文の後に持って行った。

そうだよなあ、全部の約数を洗い出す前に判定しちゃダメじゃん!?。

気付いたのは、人様のプログラムを見てから。

(1から1000までの完全数を表示)
https://webkaru.net/clang/perfect-number-1-to-1000/

ちょっと浮沈子的に手を入れたのが、こっち。

#include <stdio.h>

int main(void)
{
long i, j, sum;

for( i=2; i<34000000; i+=2 ) {
sum = 1;

for( j=2; j<i; ++j) {
if ( (i % j) == 0)
sum += j;
}
if( j == sum )
printf("出ました!:%ld \n", j);
if( i % 100000 == 0 )
printf("%ld \n", i);
}
return 0;
}

久々のC言語で、ドットインストールでにわか勉強して、コンパイルして走らせた・・・。

速い!。

速過ぎてわからん!。

実行速度なんか、10万倍以上かもしれない。

4つ目の8128なんて、あっという間に出てくる。

シェルスクリプトなんかでやってたら、1年経っても出てこなかったかも(ちゃんと計算してません)。

スピードを要求される処理は、みんなCで書くと聞いてはいたが、これほどの違いがあるとはな。

実感した。

速さは、正義だ!。

走らせたのは、BUW上で、一応、動くことは確認してある。

偶数だけとか、せこいチューニングしているけど、次のターゲットの33550336をゲットするのは、相当時間がかかりそうだ。

まあいい。

Cなんて、本当に久しぶりだな。

(C言語入門 (全22回))
http://dotinstall.com/lessons/basic_c

第8回くらいまでで理解できそうなプログラムだったので、そこまでしか見ていない。

昔は、こんな有り難い学習環境はなかった。

インターネット環境も乏しく、コンパイルしてハローワールド出しておしまい。

UNIXのカーネル書いた言語に触れるだけで幸せ(たんじゅん)。

今、こうしてみると、意外に読みやすい(っつーか、きれいに整形されているから)。

ブログでは、字下げが反映されないので(やり方が分からないもんで)むちゃくちゃだが、それでも、見通しはいい(短いからな)。

画像はシェルスクリプト版で、24が引っかからなくなったことの確認。

やれやれ・・・。

8桁くらいはintでも出せるはずなんだが、うまくいかなかったので、longにしてみた。

表示のところで、%dではじかれて、%ldにしてコンパイラをクリアする。

こういうのが楽しいのだ。

短いプログラムだと、コンパイルも苦にならない。

エラーチェックもしてくれるしな。

弄っているうちに、何度か暴走させたが、そこがまた楽しい(ヘンタイかあ?)。

パソコン暴走族だな。

ゲ-トウェイのノートパソコンが、うなりを上げて計算しているのを見て、ザマーミロという気になる。

電気代とか、あんま考えてないしな。

やっぱ、Cとかも、齧っとかないと、解説書について行けなかったりする。

最低でも、C言語の基礎が分かっていることを前提としている感じだしな。

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

だんだん小難しいことが出てきて、半分も意味が分からなくなってくる。

混とんとした状況から、やがて、バージョン6が生まれ、決定打となるバージョン7が登場するわけだ。

この頃には、UNIX哲学といわれるいくつかの特徴が明らかになっている。

(UNIX哲学)
https://ja.wikipedia.org/wiki/UNIX%E5%93%B2%E5%AD%A6

「・一つのことを行い、またそれをうまくやるプログラムを書け。
・協調して動くプログラムを書け。
・標準入出力(テキスト・ストリーム)を扱うプログラムを書け。」

「この哲学はしばしば、「一つのことを、うまくやれ」とさらに厳格に要約される。」

もっとかみ砕いたのはこっち。

「・小さいものは美しい。
・各プログラムが一つのことをうまくやるようにせよ。
・できる限り早く原型(プロトタイプ)を作れ。
・効率よりも移植しやすさを選べ。
・単純なテキストファイルにデータを格納せよ。
・ソフトウェアを梃子(てこ)として利用せよ。
・効率と移植性を高めるためにシェルスクリプトを利用せよ。
・拘束的なユーザーインターフェースは作るな。
・全てのプログラムはフィルタとして振る舞うようにせよ。」

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

哲学というよりは、文化だからな。

そこに集う人々の選択にゆだねられている。

今日、リナックスには、クソ重たいデスクトップ環境が付いて、コマンドラインを弄らなくても日常の作業には支障が無くなっている。

アンドロイドでは、基本的にユーザーがコマンドラインを弄ることを想定していない。

ⅰOSも、また然り。

人びとは、檻に閉じ込められて、その中で幸せになる。

しかし、UNIXだって、立派な檻だからな。

VRが、現実から人間を解き放ってくれるように見えるのと同じ話かもしれない。

今いる檻から出て、別の檻に入るだけだ。

どの檻の居心地がいいかは、人によって異なる。

ウインドウズがいいとか、いやいや、マックがいいとか、アンドロイドスマホか、アイフォーンか・・・。

果てしない論争は、いろんなレベルで行われるが、結論など出るわけがない。

BUWで日本語が扱えるようになって、必要もないのに「出ました!」とか、ワケワカのメッセージを書き加えては悦に入っている(たんじゅん・・・)。

M社(とC社:カノニカル)の用意してくれた快適な檻の中での慎ましい生活。

いつになったら、パイソンに取り掛かるのか。

それは、誰にも分からないのだ・・・。

謎のOS2017年05月10日 11:17

謎のOS


アンドロイドの開発元であるグーグルが作っていると言われれば、気にならないわけがない。

(Googleが開発している謎の新OS「Fuchsia」は独自のUIを備えるスマートフォンOSか?)
http://getnews.jp/archives/1731241

アンドロイドは世界最大のモバイルOSであり、リナックスカーネル上で動くOSとしても、巨大なシェアを誇る。

OS全体の普及度が、ウインドウズを超えたという話も伝わる。

(インターネットのトップOSはAndroid―初めてWindowsを抜く)
http://jp.techcrunch.com/2017/04/04/20170403statcounter-android-windows/

「Androidはインターネット利用において初めてWindowsより大きなシェアを占めた。」

企業の中で端末として使われていたりするので、ウインドウズの利用は遥かに大きいだろうが、アンドロイドは無視できない規模に成長した主要OSの一つだ。

そのアンドロイドと同じ、モバイルをターゲットとして開発されていると言われれば、穏やかではないだろう。

「Google が開発を進めている謎の新 OS「Fuchsia」について少なくとも独自の UI を持っており、スマートフォン上で実行可能な OS であることが最近の調査で判明しました。」

「Fuchsia はライセンスにまつわる様々な衝突や問題を極力避けるために新たらしく開発されているのかもしれません。」

とすれば、アンドロイドの後継OSとして、満を持して発表される可能性もある。

アプリのステージとして、十分な互換性を保持していれば、明日にでもリリースされるかも知れない。

(Googleが開発する謎の第三のOS「Fuchsia」、UIがどんなものか分かる画像&動画が公開される)
http://gigazine.net/news/20170509-google-fuchsia-os-ui/

「サードパーティーのハードウェアエコシステム全体にOSのアップデートを適用することが難しい」

「スムーズなUIパフォーマンスに焦点を当てていない」

現行のアンドロイドの問題点として、開発者の目線からのコメントが伝えられている。

ひょっとしたら、カーネルの軽量化とUIの刷新を兼ねて、一気に乗り移るつもりなのかもしれない。

動きは早いだろう。

「Ars TechnicaはFuchsiaは「もしもAndroidをいちからデザインし直すとしたら?」を形にしているかのよう、と表現しています。」

今のアンドロイドのデザインには、いささか飽きが来ているかも知れない。

「高速プロセッサを搭載した最新の携帯電話やPC、さらには、オープンエンド計算を行うために大容量のRAMを持った任意の周辺機器」

IoTのためなどではない、もっとエンドユーザーに近い用途を想定しているに違いない。

ポストアンドロイドの本命だな。

(フクシア)
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%AF%E3%82%B7%E3%82%A2

「原産地ではおもにハチドリによって送粉される。」

ネットユーザーが群がってくれるかどうか。

動画を見る限りでは、なかなか軽快に動いている。

(Fuchsia OS Armadillo preview:音は出ません)
https://www.youtube.com/watch?v=_7rRK4S9uk0

その存在自体は、昨年の8月に明らかになった。

(謎のグーグル新OS「Fuchsia」、独特なUIが公開される)
https://japan.cnet.com/article/35100840/

「Fuchsiaが最初に姿を見せたのは、2016年8月のことだ。Googleは同OSについて、「現代のスマートフォンと現代のPC」向けに設計されたOSと曖昧に説明している。」

「GoogleはFuchsiaに対する野望について、口を閉ざしたままだ。」

あれだな、もう、ごっそり、丸ごと持ってこうとしてるのかもしれない。

IoTからスマホ、パソコン、サーバーまで。

総ざらえだ。

グーグルの支配。

ドミナンス。

どっちにしても、下々は、どこかが開発した怪しげなOSのお世話になるしかないのだ。

その上で、アプリを動かし、シェルを弄り、ネットサーフィンし、ツイッターする。

ブログを書き散らしている浮沈子などは、もう、どっぷりと首まで浸かっている。

檻の中で、ヌクヌクとしている。

マトリックスだな。

この檻を出るには、自分でコンピューターを作るしかないのだ。

ああ、そこにも、新しい檻がある。

ラズパイとか、Arduinoとか。

(Arduino)
https://ja.wikipedia.org/wiki/Arduino

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

ハードウェアは、ちょっと大変そうだしな。

はんだ付けとかしたくないしな。

檻の中で、うろうろするだけの浮沈子・・・。

火星での生活2017年05月10日 12:41

火星での生活


世の中には、まともな発言をする科学者もいるということだな。

(そもそも人は火星で生活できるのか…?を徹底考察してみた)
http://www.gizmodo.jp/2017/05/originally-can-humans-survive-on-mars.html

「そもそも不可能」

「安易に人類の火星移住を唱えるべきではない」

「人類が生き延びることすら難しいレベル」

「国際宇宙ステーション(ISS)での訓練は、火星へのミッションにおいて十分なトレーニングの場とはならない」

「人類は地球上での生活に適応した身体を備えるようになりました。」

「新たな環境に備えた身体構造へ作り替えていかねばならなくなる」

「通常の生殖過程に頼って人類が繁殖していく計画は捨てねばならない」

「クローン人間を火星のコロニーでは量産する」

原文を当たると、近親交配を避けるためということになっているが、クローンが増えたら逆効果じゃないのかあ?。

(Will Humans Have to Upgrade Their Bodies to Survive on Mars?)
http://gizmodo.com/will-humans-have-to-upgrade-their-bodies-to-survive-on-1793236286

「近親交配なしで持続可能な植民地を維持するために、大量の人々を火星に送る必要があり、難しいかもしれないと付け加えた。したがって、彼は植民地を守るために、「人間のクローンニングや他の同様の方法の機会を考慮に入れる」ことを示唆している。うーん。」(自動翻訳のまま)

まあいい。

こういうのは、警鐘を鳴らすというよりは、よりアグレッシブな対応を促すことに繋がりかねない。

「アメリカ国立衛生研究所(NIH)は、万が一虫垂炎になっても手術できないので盲腸は切除していくなど、医療上の懸念を最大限に取り除いていくことも解決策」

ついでに、ありとあらゆる臓器を取り除いて、すっからかんにしていくのがいいんじゃないのかあ?。

「さまざまな問題点を解決するうえで、宇宙飛行士を昏睡状態に陥らせ、火星に到着するまでは身体面でも精神面でもダメージを最小限に保つことが推奨」

そのまま、生命維持装置に繋いで放置しておくのがよろしい。

向こうで目覚めれば、ありとあらゆるトラブルが発生する。

身体面でも精神面でも、ダメージは極大になる。

同じギズモードの記事がある。

(地球を離れた宇宙飛行士、心疾患での死亡率が5倍と判明)
http://www.gizmodo.jp/2016/08/apollo-astronauts-are-five-times-more-likely-to-die-of-heart-problems.html#cxrecs_s

「NASAのApollo(アポロ)計画で宇宙へ行った宇宙飛行士のうち、これまでに43%が心臓発作などの循環器系の疾患で死亡。」

「これは同様の疾患での死亡率で比べると、宇宙飛行士の候補として訓練を受けたものの宇宙へ行かなかったり、国際宇宙ステーションのような、地球の周回軌道上で大気の保護を受けていた宇宙飛行士たちより4~5倍も高い」

高度400kmで、大気の保護が受けられるかどうかは知らない。

まあ、絶対数が少ないので、信頼に値するかどうか・・・。

しかし、ネズミの実験を見ると、あながち偶然でもなさそうだ。

「宇宙線が循環器系におよぼす被害を調べるため、同研究チームは、Brookhaven National Laboratoryにて、擬似的な無重力状態と、強い放射線にさらされる状態を作り、それらを組み合わせた環境にネズミをおいて、影響を調べました。」

「何もしなかったネズミ以外は循環器系にダメージが出ました。しかし実験半年後、無重力状態だけにさらされたネズミは、ほぼ完全に循環器系のトラブルから立ち直りました。」

「一方、無重力状態のあるなしに関係なく、強い放射線をあてられたネズミは、循環器系に問題が強く残っていた」

火星の場合、重力の影響も避けられない。

「これから火星を目指したい人類にとっては、厳しい課題を突きつけられてしまった感じ」

浮沈子は、有人火星飛行には懐疑的だ。

ハッキリ言って、反対だな。

ロボット行かせて、VRで見るのがよろしい。

これらの記事を読んで、日頃の鬱屈した気分が、少しは晴れたような気分だ。

今日は、窓の外は雨だけどな・・・。