法楽日記

デジタル散策記&マインド探訪記

tech

MINIX 3 を macOS 11 Big Sur でビルドしてみた

マイクロカーネル OS として有名な MINIX 3 を、インテル版 macOS 11 Big Sur でビルドしてみました。若干修正するだけでビルドに成功しました。 作業手順は、下記ドキュメントに従いました。 Cross-compiling MINIX 3 ただし、git clone するときは、git.mi…

Redox を macOS 11 Big Sur でビルドしてみた

プログラミング言語 Rust で書かれたマイクロカーネル OS である Redox を、インテル版 macOS 11 Big Sur 上で動かしてみたくなって、ビルドを試みました。ドキュメントを見ると macOS でも簡単にビルドできそうだったのですが…、私の力量ではちょっと手こず…

X86 で Real Mode / Protected Mode / Long Mode を判別するためのバイナリコード

X86 が Real Mode / Protected Mode / Long Mode のいずれで動作しているかを確認するために、下記のバイナリコードを利用しています。事前に RAX を 0 にしておけば、HLT 時の RAX の値で動作モードを判別できます。もっとよいバイナリコードがあれば知りた…

Cプリプロセッサのマクロ展開(置換・文字列化・結合)の処理順序

C プリプロセッサのマクロ展開の仕様を正確に理解すれば自明の結果なのでしょうが、初心者は頭を悩ませてしまいます… マクロ展開は、(1)左辺を右辺に置換、(2)演算子「#」「##」を適用、を繰り返していると理解すればよいのかしら… また、関数形式マク…

クジラ飛行机(著)「プログラミング言語大全」

クジラ飛行机(著)「プログラミング言語大全」を読みました。 半世紀以上に渡って使われている言語から、最近開発された言語まで、様々なプグラミング言語の概要が紹介されていました。大見出しだけでも50言語以上、小見出しを含めると100言語以上が取り上げ…

Ubuntu を MacOS 上で走らせる

今日は Ubuntu を MacOS 上で走らせる方法をいくつか試しました。 結論としては、デスクトップ環境は Ubuntu 18.04 LTS on VMware Fusion、サーバ環境は Ubuntu 18.04 LTS on multipass が良さそうに思いました。 Ubuntu のデスクトップ環境についてくるゲー…

ジェイムズ・バラット(著)「人工知能 - 人類最悪にして最後の発明」

ジェイムズ・バラット(著)「人工知能 - 人類最悪にして最後の発明」を読みました。人工知能技術は猛烈な勢いで発展しているそうです。そのため、いずれは自己意識を持ち、人間の知能より桁違いに賢い人工知能が生まれるのではないか、そして人類は滅ぼされて…

スティーヴ・ロー(著)「データサイエンティストが創る未来」

スティーヴ・ロー(著)「データサイエンティストが創る未来」を読みました。無数の測定器やカメラやレポート等から生成される大量のデータ(ビッグ・データ)を元に機械学習や数値計算等を行って、制御や予測等の精度を大幅に向上させるための技術開発が急速…

ブルース・シュナイアー(著)「超監視社会」

ブルース・シュナイアー(著)「超監視社会」を読みました。三部構成で、第一部は巨大ネット企業や国家機関による大規模監視の実態、第二部は大規模監視によってもたらされる社会の危機、第三部は事態改善のための提案が書かれていました。著者はセキュリティ…

ルーク・ドーメル(著)「シンキング・マシン」

ルーク・ドーメル(著)「シンキング・マシン」を読みました。 人工知能(AI)の歴史、現状、懸念、未来がわかりやすく紹介されていました。まず歴史篇として、第1章では「古き良きAI」とも呼ばれる推論エンジン技術が、第2章ではニューラル・ネットワーク誕生…

Google Deep Dream

2015年に公開された「Google Deep Dream」は、AI画像解析ソフトを応用して作られた画像変換システムだそうです。下記記事によると、まったく日常的な画像から幻覚的な画像を生成できるそうです。 Google Deep Dreamを使った作品はまさに次世代のデジタルドラ…

ダベンポート,カービー(共著) 「AI時代の勝者と敗者」

トーマス・H・ダベンポート,ジュリア・カービー(共著) 「AI時代の勝者と敗者」を読みました。ダベンポート氏はアナリティクス(データ分析)分野で有名な方だそうです。 情報技術の発展により、かつては人間にしかできなかった知的作業を、AI等を応用したス…

アンドリュー・キーン(著)「インターネットは自由を奪う」

アンドリュー・キーン(著)「インターネットは自由を奪う」を読みました。著者はロンドンのベリック・ストリート出身で、現代史と政治学の専門家です。サンフランシスコで起業経験があり、シリコン・バレーに幅広い人脈を持つことから、ネット業界事情に詳し…

ジェイムズ・ブラホス(著)「アレクサ vs シリ ボイスコンピューティングの未来」

ジェイムズ・ブラホス(著)「アレクサ vs シリ ボイスコンピューティングの未来」を読みました。音声対話型コンピュータの歴史と今後についてまとめられた本です。登場するのは主に「Amazon Alexa」「Apple Siri」「Google Assistant」「Microsoft Cortana」…

マーティン・デイヴィス(著)「万能コンピュータ - ライプニッツからチューリングへの道すじ」

マーティン・デイヴィス(著)「万能コンピュータ - ライプニッツからチューリングへの道すじ」を読みました。 電子計算機の誕生は、その当時の数学と工学の最先端の成果の賜物であり、また設計者・技術者の職人技の賜物だと思います。この本では計算機誕生に…

Google Chrome がアップデートできない

先日購入した iMac (MacOS 10.14.6) で、9/11(水) 頃より Google Chrome の最新版にアップデートできないでいます。エラー表示は下記の通りです。 更新できませんでした(エラー: 12) エラーの詳細: KSInstallAction install script failure. Exit code: 12…

Chu‐Carroll(著)「グッド・マス - ギークのための数・論理・計算機科学」

Chu‐Carroll(著)「グッド・マス - ギークのための数・論理・計算機科学」を読みました。数学ブログ『Good Math / Bad Math』の著者がプログラマ向けに書いた数学エッセイ集です。数、論理、集合、計算について簡潔な紹介と著者の感想が綴られてました。 図書…

MINIX3 and UEFI in x86

CPU の中で巨大な OS が動いていたり、Host OS の上で Guest OS が動いていたり… CPU と OS の境界線を引き直さざるを得なくなっているのではないかと思います。 やがて、既存の PC アーキテクチャに代わる、まったく新しい PC アーキテクチャとして登場する…

Canny AI: Imagine

イスラエルの人工知能技術の新興企業「Canny AI」は、音声に合わせて口の動きを合成できるツールを作成しているそうです。 そのデモ版として作成されたのが、各国のトップが歌う「イマジン(ジョン・レノン)」の映像です。 この映像で歌っているのは、米国…

山本一成(著)「人工知能はどのようにして 「名人」を超えたのか?」

山本一成(著)「人工知能はどのようにして 「名人」を超えたのか?」を読みました。将棋ソフトウェア・ポナンザの開発者による、初心者向けのAI技術解説書です。 人間には左脳と右脳があって役割が異なるそうです。これは私の誤解かもしれませんが、近年のAI…

UUID の生成方法

UUID (universally unique identifier) は128ビットの識別子だそうです。UUID の規格は複数あるそうで、UUID 中の特定のビットを見れば規格の種類がわかるようになっています。 UUIDを表記するときは、16進数で下記のように区切って書くそうです。 B36DBB42-…

clang の無名関数

clang の拡張機能 block を用いると無名関数が書けるのですね。Apple による拡張だそうです。 下記で、関数 call1() の第1引数は関数へのポインタを取り、関数 call2() の第1引数は block を取ります。前置演算子「^」が絶妙な働きをしています。このように…

Ubuntu 18 on xhyve on MacOS X failed again

MacOS X 10.14.2 (Mojave) 上で xhyve を利用して Ubuntu 18 を動かしたいのですが、まだ成功していません。一旦作業を終わらせるにあたり、これまでの作業を記録しておきます。 xhyve を Github から入手 xhyve を https://github.com/machyve/xhyve の記述…

Ubuntu 16 on xhyve on MacOS X

MacOS X 10.13 (High Sierra) 上で xhyve を利用して Ubuntu 16 を動かしてみました。本当は Ubuntu 18 を動かしたかったのですが、エラーが発生して起動できず、その原因の見当がつきません…。そこで今回は、代わりに Ubuntu 16 を動かすことにしました。 …

FreeBSD 12.0R on xhyve on MacOS X

MacOS X 10.13 (High Sierra) 上で xhyve を利用して FreeBSD 12.0R を動かしてみました。 xhyve は FreeBSD の bhyve を移植したもので、MacOS X の Hypervisor.framework を利用しているそうです。 xhyve のインストール 今回は MacPorts の xhyve を利用…

Bufferbloat と Flow Queue CoDel

Bufferbloat は、インターネット上の数多のルーターが送信キューにパケットを溜めすぎるようになった結果、(当初の設定意図に反して)TCP 等の throughput が悪化したり、(おそらく予想通りに)大きな lag や jitter が発生したりしている現象を指す言葉だ…

DOS/V POWER REPORT 特別編集「PC 自作・チューンナップ虎の巻 二〇一八」

ここ十数年の PC 技術の進展状況をほとんど知らないものですから、ちょっと様子を拝見してみようと思ってムック「PC 自作・チューンナップ虎の巻 二〇一八」を斜め読みしました。月刊誌「DOS/V POWER REPORT」の2017年の記事から、人気特集や連載を集めた保…

AUDIT_ARG_xxx()

FreeBSD では、システム・コール xxx() のカーネル内受付関数の名前は sys_xxx() です。sys_xxx() は必要に応じてユーザ空間から引数をコピーしたあと、kern_xxx() を呼び出して、その後で必要に応じて結果をユーザ空間にコピーします。ですから実処理は ker…

一昨日の続き:第12章「Interprocess Communication」

引き続き「The Design and Implementation of the FreeBSD Operating System, Second Edition」を読んでいます。 今日は第12章「Interprocess Communication」まで読み終わりました。カーネル内のソケット層を中心とした解説です。記憶を辿りながら、そして…

昨日の続き:第3章「Kernel Services」

昨日に続き「The Design and Implementation of the FreeBSD Operating System, Second Edition」を読んでいます。ちょうど第3章「Kernel Services」まで読み終わりました。 昔々に親しんだことなので、思い出しながら、懐かしみながら読んでいます。実はも…