東大のCPU実験は、有名であるような気がしますけど、検索しているうちに京大のCPU実験を見つけた。FPGAに実装するみたいなことが。

命令セットアーキテクチャのPDFがダウンロードもできてしまうみたいだけど、いいのかな。

16bitの命令セットでSIMPLEという名前みたい。教育用なのでシンプルにできている感じか。

あ、8bit CPUのオープンソースを、延長して昨日まで公開していたのだけど、誰からも、何の連絡もなかったということです。

2種類あるので、注意してください。

icf3z.idletime.tokyo/

wzeta.idletime.tokyo/

自作OSや自作言語が、お金になるのは難しい。自作する前にお金にする方法を考えるのかも。

中国。僕が会社を立ち上げたころ、エンジニア上がりだったので、知らなくて、Google AdWordsで中国の広大な市場に向けて、広告を発信しようとして、できなくて、数日、理由がわからなかった記憶がある。

日本語の中華系のフリーソフト配信サイトに中国にフリーソフト広めてくれないかと言ったことがあったかも。

ここ↓
flatworld.jp/

トップページから、僕の会社への相互リンクがまだ残っている。以前のURLだから、僕の会社のホームページには、つながってないけど。

メールを出しても、返事がこなくなって、困った。

CCCとかあるのですよね。

自作 8bit CPU ICF3-ZとWZetaを、もう一度、3日間(9月17日まで)、FPGAに実装したVerilogと開発環境を公開してみます。内容は前回と同じでβ版です。
icf3z.idletime.tokyo/download.
wzeta.idletime.tokyo/download.

MITのカーボンナノチューブの世界を見ているのですが、 

この8bit CPU WZetaは、これからICF3-Fの通信用に使う予定なので、公開できるのかは、わからないですが、実際に動きます。
スタックをソフトウェア実装することにすればメモリ部品が減るのでTTLでCPUを作るのにいいのかもと。僕はTTLでCPUを作った経験はないですけど。

自作 超軽量8bit CPUは、8bit演算レジスタ2個とスタックレジスタ1個でAES 256bitが演算できる。128本の8bitレジスタはデータメモリの先頭128バイトを使うので3本のレジスタで動作します。スタックをソフトウェア実装すれば何段もサブルーチンコール可能。仕様はdownload可能
wzeta.idletime.tokyo/

エネルギー効率10倍のMITのRISC-V、16bitレジスタ は4本のようです。新素材では、大きいプロセッサは、まだ難しい?
electronicsweekly.com/news/res

僕もAES暗号のC言語実装で、opensslの部分パクリではないかという、ことを叩かれたもありますし。
いろいろ、ですよ。

ICカードの抜き差しの話、わかりにくかった人は、USBメモリで考えるといいかも。

PKCS#11アプリが、どんな順番で、PKCS#11の関数を呼んでも良くて、クローズ関数を呼ぶのを忘れてもデータが壊れないようにするためには、

関数ごとにfopen()、fclose()するのだけど、これだと、USBメモリが入れ替わっていることが、わからなくて、データが破壊される。

答えは、USBメモリが入れ替わってないことだけを、検出する
fopen()をしてクローズ関数までfclose()しないこと。

PKCS#11の実装で注意しなければ、ならないのは、ICカードは、突然、抜かれて、知らないうちに別のICカードが入っている場合を考えないといけない。

PKCS#11の厚い仕様を全部読んで、そのことが書いてあることを見つけるか。

勘で気づけるか。

後者は10倍速い。

カードの抜き差しがあったことをチェックする処理が僕のオープンソースのコードにも入っていたと思う。

忘れていましたが、SSHのセキュリティ対策で、最新版のSSHでは動作しないと思います。ちょっとパッチをあてて、僕は今でも使っていますが。

ご連絡いただければ、パッチ探します。

(書けと弾圧が)
ツイッターでは書いたことがある話ですけど、2003年ごろのことだろうか、某大企業のシステム開発研究所にいたときにSDカードにICチップを入れたデバイスのPKCS#11の試作をしていました。

隣のグループではPKCS#11の翻訳をはじめたのですが、翻訳するには大量の時間がかかるため、僕のほうでは適当に実装をはじめていました。PKCS#11は汎用的な仕様でICカードに限れば、どうだろう5%も実装すれば動作するのかな。

翻訳チームでは、かなり翻訳していたのかもしれない。途中から参加して、すぐに抜けたのですが、翻訳のRC版のようなものは、もらえました。

翻訳がなければ実装できなかったかと言えば、実装はできたと思いますが、翻訳があったおかげで、多少、楽ができました。

最近、脳内のEEPROMが紫外線の照射によって揮発しまくっているので、英語が辛くなっているのは事実。

僕は、英語は得意ではないのだけど。

「 あと英語があれだ、ライティングはgoogle翻訳じゃ限界がある・・・
相手してくれてるcommiterに小学生ぐらいと思われてそう。本当にごめんなさいって感じ。」

もし英語ができる人が、英語ができなくなる薬を飲まされて、小学生扱いされたときの、英語ができる人の気持ちを、わかってほしい。

NT_SUCESSを返すことに、きづけなければ、永遠に完成しない。
一からやると∞倍、遅くなることもある。

大規模アプリケーション・ソフトウェアと仕様が決められているミドルウェアとの違い

高度なテクニックや概念とかでかかれていることより、まず、動くコードが参考になる。

ミドルウェアでは、仕様どおり書いたつもりでも、OSが期待しているレスポンスを返していないと動かない。原因がわかりにくい。

わかりやすい実例を話すとPC/SCのカーネル・ドライバでCancelルーチンを実装する場合、

NT_STATUS funcCANCEL() {
}
の中身を埋めることになる。
NT_STATUSというのはWindowsのカーネルモードで定義されている。
だいたい
NT_SUCCESS
とか
NT_ERROR
みたいなのがある。僕は、ここでCANCELが成功してCANCELの状態だから、NT_CANCELを返した。
Windows2000/XPでは、これで動作していたVistaで動かなくなって、いろいろ調べた。

OSはキャンセルを処理するためfuncCANCEL()を呼ぶけど、それがNT_CANCELでキャンセルされたため動かなくなった。NT_SUCCESSが正解

わりと大きな問題。

オープンソースのソフトウェアのコードについて「バグだらけだよね」とか語るなら、ここがいいのかも。

オープンソースといっても、税金できちんと整備されているコードとか、お金になるかわからなくて、取り敢えず作ってみて、売れてくれば、整備するとか。あると思う。

> canaryで見たら確かに発行元表示消えてる

ああ、ほんとですね。証明書の発行元ではなくて、証明書の発行先ですね。

Chrome 77でも、アドレスバーの左にある鍵マークをクリックすると組織名が表示されるようです。

自分のサイトで確認しました。

openicf3.idletime.tokyo/

Google Chrome 77からドレスバーのEV証明書発行元表示は廃止 

Show more
マストドン丼部

ヌルいけど パソコン大好き、テック系インスタンス。Hello Worldからどこまでも。 プログラマも、プログラマになりたい人も、ハッカーも、ハッカーになりたい人も、そんなあなたのインスタンス。 話題はなんでもOK。