JIMMY
WATSON
-
His mother, Marion, teases her son about his dreams to build a large robot ant with a
drawing of her son riding on the ant's back. Then it comes true.
<<
CHAPTER 13
第
14
章
-
コンピュータ コーディングの祭典
(地雷原)
ロボットに使用するのに最適なコードは何でしょうか?
ジミーは何ヶ月もこの難問に取り組んでいました。学校で単純なロボットのプログラミングを学んだ時間を含めると、何年もかかりました。楽しい日々でした。
ジミーはロボット工学の先生、リッペンガル先生に尋ねました。先生は驚くほど親切でしたが、生徒のプロジェクトの規模を知らず、ワトソン先生を少し警戒していました。なぜなら、ワトソン先生はプログラミングの面で自分が時間を割けるよりもはるかに進んでいたからです。しかし、彼は若いジミー・ワトソンと彼の野心的な取り組みにかなり好感を持っていました。
他の生徒はリッペンガル先生をからかって、陰で「レジー」や「リッパーズ」と呼んでいました。ジミーはそれが好きではありませんでした。しかし、理科の先生はとても厳しく、少し恐れられていたので、我慢していました。彼はこの先生を尊敬していました。先生は教室の黒板に彼の技術図面をよく掲示し、良い仕事には金の星を授与していました。
IT の授業が終わりに近づくと、他の生徒たちはいつものように出口に向かって一直線に進み、一方ジミーは片付けが遅いふりをして長居した。まるで先生が自分のやり方に気付いていないかのように、レジナルドは質問の嵐が避けられないように、辛抱強く書類を整理した。
「ジミー、全部片付けた?」
「はい、先生。……リッペンガルさん、もう少しだけ手伝ってもらえませんか?」
「もちろんです、ジミー。この素晴らしい金曜の午後、何かお手伝いできることはありますか? かなり早く家に帰らなければなりません」
「先生、ご存じのとおり、私は六脚ロボットに取り組んでおり、プログラミング言語のコンポーネントと組み合わせについて理論化しています」
「はい、そのことについては長々と話しました。あなたは最新の技術について理性的に理解したと思います」
「わかりました、先生。そして、あなたの助けと父の助けのおかげで、ハードウェアをようやく決めました」
「あなたのお父さんは陸軍にいたと思っていたのですが。」
「そうです、将軍ですが、正確に何をしているのかはよくわかりません。ただ、金属を切断して溶接する方法は教えてくれました。フレーム、またはシャーシを設計して作りました。彼の助けがなければ、そんなことはできなかったでしょう。」
これはまた別の発見で、リッペンガルは控えめに警戒し、少し動揺した。IT
教師ではあるが、溶接や大型のものに携わることはなかった。特注車もなかった。妻はそんな空想を許さなかった。しかし、生徒の
1 人が抑制されていないようで、これほどの進歩を遂げていることに彼は魅了された。なんて想像力豊かな人なのだろう。ジミーは映画業界で働くべきかもしれない。
「溶接と製造か。ジミー、このロボットはどのくらいの大きさなの?」
「長さは約 12 フィートです。」
WELDING
-
Reginald Rippengall
was not skilled in welding fabrication, or car repairs. This is a picture
of Jimmy's Dad fitting new sills to Marion's beloved VW
kombi van. Her
surfing bus for holidays to Devon and Cornwall.
「12 フィート!
…… 12 フィート。
…… 3.6 メートル。
……12インチくらいかなと思ってたよ」一瞬、彼は『バック・トゥ・ザ・フューチャー』のエメット・ブラウン博士のように話した。
IT 教師は教室内を歩き回った。4
歩の距離を前後に歩き、それから歩いた距離を振り返る。これで、そのスケールの大きさがわかった。
「そして、これを作ったのですか?」
「作りました、先生。」
「あなたのお母さんとお父さんも、あなたがこれを作ることを許可してくれましたか?」
「実際、お二人もかなり手伝ってくれました、先生。」とジミーは答えた。
「本当ですか。...
そうですか。でも、一体どこにそんな巨大な機械が停まっているんですか?」
「裏庭の小屋にいます。」
「ああ、そうです。」と科学の賢者は叫び、ジミーのロボットがどんな形になるのか一生懸命想像しながら
IT 教師は続けた。
「6 脚ロボットの性質を考えると、言語とハードウェアの組み合わせがおそらく最適でしょう。私たちが話し合ったように。では、どのようなサイズと機能を検討しているのですか?」
「そうですね、先生。」とジミーは答えた。「人を乗せることができ、安全に操作できなければなりません。そして音声コマンドに応答します。そして知的に話し、必要に応じて自分で物事を解決することができます。また、自己保存の計画、つまり生存モードも必要です。」
「それなら、あまり要求していませんね?」
ジミーは大声で笑いました。彼は、去年のクリスマスにそれが実現することを願っていたとは言いませんでした。彼は気が狂ったように聞こえたでしょう。幽霊と妖怪。
リッペンガルは陽気に誘い、自分と同じレベルの人とブレインストーミングする機会を楽しみました。
「そうですね、プログラミング言語。ああ、また地雷原があります。イギリス、アメリカ、オーストラリアで私たち全員が英語を話しているようなものです。世界中で同じ言語が異なって話され、アクセントが大きく異なるため、南部の紳士はスコットランド人の言葉を理解できません。そして、イタリア語とフランス語は、壮大さと感情的な手振りを伴うことが多い、とても美しい言語です。フランス語とイタリア語には、ある種の優雅さ、流動性、表現力があります。文学的伝統に富み、芸術的な取り組みによく使われています。」
ジミーは少し困惑したように見えました。「ジミー、私の言うとおりですか?」
「ここまでは、先生、そう思います。コンピューター コードに関して言えば、これらの言語は、見た目に美しく、構造化されていて、効率的で、見ていて楽しいコードに例えられるかもしれません。1
人のミュージシャンではなく、調和のとれたオーケストラです。」
「ジミー、もうすぐです。ドイツ語は、その正確さと秩序で知られており、構造化されていて、効率的で、信頼できるコードに例えることができます。ドイツ語が明快さと論理を強調するのと同じように、よく書かれたドイツ語のコードは、その明確な構造、論理的な流れ、細部への配慮が特徴です。」
「では、先生、想像力豊かなロボットの創造性の本拠地である日本はどうですか?」
「ジミー、日本語は、その複雑な表記体系とニュアンスを強調する特徴があり、複雑で表現力豊かで、効率的なコードに例えられるかもしれません。もちろん、日本語にはアルファベットはありません。日本語は漢字と呼ばれる象形文字を使用します。日本語が書記体系を通じて微妙な意味を伝えることができるのと同じように、コンピュータ コードとしてよく書かれた日本語は、言語や記号に馴染みのない人にとっては複雑に見えても、非常に表現力豊かで効率的です。」
「ジミー、私の言うことに賛成ですか?
「まあ、賛成ですが、コーディングを絵のように行う方法が不明です。」
「私も賛成です、ジミー。では、続けて言うと、文学的伝統と複雑な感情や考えを伝える能力で知られるロシア語は、強力で表現力豊かで用途の広いコードに例えることができます。ロシア語が詩から技術マニュアルまであらゆるものを書くのに使用できるのと同じように、よく書かれたロシア語のコードは、単純なスクリプトから複雑なソフトウェア システムまで、幅広い用途に使用できます。」
「これまでプログラミングをそのような観点から考えたことはありませんでした。あなたの言いたいことは、各言語には独自の特性があるものの、それらはすべてコミュニケーションと表現の多様性、つまり文化のためのツールとして見ることができるということです。熟練したアーティストがさまざまな技法を使って、さまざまなブラシ サイズやペイント テクスチャを使用して美しく意味のある作品を作成するのと同じように、熟練したプログラマーはさまざまな言語を使用して、効率的で表現力があり、信頼性の高いコードを作成できます。」
「ジミー、私自身もこれ以上うまく言い表せませんでしたが、実用性はどうでしょうか。リアルタイムで効率性のために芸術を捨てるということです。」
「それが私の弱点です、先生。私にはあまり時間がありません。必要なのは信念の飛躍であり、論文ではなく、今のところはただ受け入れるだけです。袖をまくり上げて、ハンマーを金床に打ち付ける時間です。この件について前回お話ししたとき、Android
オペレーティング システムが、私が統合したいと考えているレベルの
AI に最適な傘であるという点で意見が一致したと思います。」
「そうです、ジミー。Google
は、モバイル オペレーティング システムに実績のあるオープン ソース カーネルを使用する利点を認識しました。Linux
カーネルの信頼性、柔軟性、コミュニティ サポートにより、理想的なプラットフォームになりました。選択と意思決定の世界に飛び込み、可能な限り効率的にアクションの世界に戻ります。それでは、Python
は、ロボット工学や自動化に適した、汎用性が高く習得しやすい言語です。読みやすくコミュニティが大きいため、複雑なアルゴリズムのプロトタイプ作成や開発に適しています。
「ご存じのとおり、ロボット ウォーズで既に Python
と C++
を使ってある程度成功しています。ロボットのモーターやセンサーの制御など、パフォーマンスが重要なタスクには
C++ を使い、ハードウェアを細かく制御してコードを最適化して速度を上げることができます。」
「ジミー、Android を多用途のツールボックスと考えてください。Android
は、シンプルなアプリから複雑なシステムまで、幅広いタスクを処理できるように設計されています。デジタル ワールドにスイス アーミー ナイフを持っているようなものです。」
「つまり、Android は万能なオペレーティング システムということですか?」
「その通りです。Android
は柔軟性と使いやすさで知られる言語である
Java をベースにしています。つまり、ゲームから生産性ツールまで、あらゆる種類のアプリケーションを作成できます。従来のコンピューター オペレーティング システムとは異なり、Android
はモバイル デバイス向けに特別に設計されています。小型のタッチ スクリーン向けに最適化されており、複数のアプリを同時に実行できるように設計されています。」
「それは必要ありません、先生。音声や無線入力に応答し、画面タッチ コマンドではなく音声によるコミュニケーションを理解するインターフェイスが必要です。ロボットが音声コマンドに応答し、無線で送信されるミッション パラメータが必要です。しかし、Python
や C++
などと比べるとどうでしょうか?」
「わかりました、ジミー。わかりにくくて申し訳ありません。今日は長い一日でした。機械学習を使用してオブジェクトを認識したり、自然言語を理解したりするアプリを作成することもできます。Python
や C++
は、特定のタスク、特にパフォーマンスが重要なアプリケーションではより強力です。しかし、Android
はユーザー フレンドリーなインターフェイスの構築やハードウェア コンポーネントとの統合に最適です。」
先生、まだ興奮しています。先生と一日中話していたかったんです。」彼の先生は明らかに喜んでいました。「それで、ダイノボット用の複雑な
AI を作成したい場合、Android
を使用するか、それとも他の言語のいずれかを使用するべきでしょうか?」
「それは素晴らしい質問です、ジミー。Android
は確かに AI
に使用できますが、非常に複雑なタスクには最も効率的な選択肢ではないかもしれません。
AI の特定の部分には、Android
と Python
などのより強力な言語を組み合わせて使用することを検討できます。」
「なるほど、先生。つまり、Android
は一種の基盤のようなもので、その上に、または下に他のツールを使って構築できるということですか?」
「その通りです、ワトソン先生。家を建てるのと同じように考えてください。Android
は AI
の基盤で、Python
は基本マシン機能です。そして、必要に応じてさまざまな部屋や機能を追加できます。」
「わかりました、リッペンガルさん、理解し始めています。つまり、学習して適応できる高度な
AI を作成したい場合は、Android
と他のツールや言語を組み合わせる必要があるかもしれません。」
「その通りです。ただし、最も重要なことは、全体的な機能とユーザー エクスペリエンスに焦点を当てることです。技術的な詳細にあまりとらわれないでください。」
「先生、私の父は、Amiga
コンピューターと Cloanto
と呼ばれるものについて絶賛していました。あれは一体何ですか?」
「それは別の話です。私には手に負えません。それについてはお父さんに聞いたほうがいいよ。仲良くやっていくといいよ。お母さんが心配するよ。ジミー、また話せてよかったよ。君のプロジェクトについて、引き続き教えてください。とてもすごいことみたいだね。」
「ありがとう、また何かあったら…。」
..
What
is the best code to use for a robot? Jimmy had struggled with than
conundrum for months. Years, if you include his time at school, learning
how to program simple robots. Happy days.
Jimmy
had asked his robotics teacher, Mr
Rippengall, who although surprisingly helpful, did not know the scale of his pupil's project, and was
somewhat wary of Master
Watson, since the lad was way more advanced in programming
than he could ever devote the time to be. He had though taken quite a
shine to young Jimmy Watson and his ambitious endeavours.
Other
pupils took the mickey out of Mr Rippengall, calling him 'Reggie' and
'Rippers' behind
his back. Jimmy did not like that. But tolerated it, since his science
master was very strict and somewhat feared. He admired this teacher, who
quite often featured his technical drawings on the board in his classroom,
where gold stars were awarded for good work.
As
another IT lesson drew to a close, the other pupils as always, made a
beeline for the exit, while Jimmy lingered pretending to be slow in
packing away. As if the teacher was not wise to his tactics, Reginald
patiently arranged his papers awaiting the inevitable broadside of
questions.
"All
stowed away Jimmy?"
"Yes
Sir. ..... Mr Rippengall, I wondered if you could help me with just a
little more steerage?"
"Surely
Jimmy. How
can I help you this fine Friday afternoon? I do need to get home fairly
soon"
"Sir,
as
you know, I'm
working on a hexapod robot, theorizing about the components and
combinations of programming languages."
"Yes,
we spoke about that at length. I believe you gained a reasoned grasp of the current state
of the art."
"I
have Sir. And, thanks to your help, and some from my Dad, I've finally decided on
the hardware."
"I
thought your father was in the Army."
"He
is sir, a General, but I'm not quite sure exactly what he does. He did
though teach me how to cut metals and weld them together. I designed and
built a frame,
or chassis - if you like. Could not have done that without his help."
This
was another revelation, putting Rippengall reservedly on his guard; a bit
more off balance.
Though an IT teacher, he did not weld or get
involved in anything very large. No custom vehicles. His wife would not
allow such fancies. But he was spellbound that one of his pupils was making such
strides, apparently unrepressed. What an imagination. Jimmy should work in the film
industry perhaps.
"Welding
and fabrication eh. Just what dimensions are this robot Jimmy?
"About
twelve feet long Sir."
"Twelve
feet! ..... Twelve feet. ..... Three point six meters. ..... I was
thinking twelve inches." For a moment he sounded like Dr. Emmett
Brown in 'Back
to the Future.'
The
IT teacher paced the classroom. Walking a distance of four short strides,
back and forth. Then looking back at the distance covered. That gave him an idea of the enormity of scale.
"And
you have built this?"
"I
have Sir."
"Your mother and father allowed you to build it?"
"They
actually helped quite a bit too Sir," replied Jimmy"
"Really.
.... Is that so. But, where is such a giant machine parked for heavens
sake?"
"He's
in a shed in our back yard."
"Oh
He." Exclaimed the science sage, trying
hard to imagine what Jimmy's robot might look like, the IT teacher
continued.
"Considering the nature of a robot hexapod, a combination of languages and hardware would
probably be best - as we've discussed. Then what sort of size and capabilities are we looking
at?"
"Well
Sir," Jimmy replied. "It
has to carry a man, and be safe to operate. And respond to voice commands.
And be able to speak intelligently, and work out things for itself if
required. It also needs a self preservation agenda; a survival mode."
"You
are not asking for much then?"
Jimmy
laughed out loud. He did not mention wishing for it to come true last Christmas.
He would have sounded crazy. Ghosts and goblins.
Rippengall
enjoined in mirthful spirit, relishing the opportunity to brainstorm with
someone on his level.
"Well,
programming Languages. Ah, there's another minefield. It's like we all
speak English in England, America and Australia.
The same language spoken differently all around the globe with broad
difference in accent so great, a Southern gentleman would not understand a
Scotsman. And then Italian and French are such beautiful languages, often associated with
magnificence and emotive hand gestures. French and Italian possess a certain elegance, fluidity, and expressiveness. They are rich in literary traditions and often used in artistic endeavors."
Jimmy looked a little confused. "Are you with me
Jimmy?"
"So
far Sir, I think. In terms of computer code, these languages might be likened to aesthetically pleasing, well-structured code that is efficient and
a joy to behold. An orchestra in harmony, rather than a single musician."
"Nearly there Jimmy. German, is known for its precision and orderliness, could be compared to structured, efficient, and reliable code. Just as German emphasizes clarity and logic, well-written German code
would be characterized by its clear structure, logical flow, and attention to detail."
"Then
what of Japan,
Sir, home to imaginative robotic creativity?"
"The Japanese language, Jimmy, with its intricate writing system and emphasis on nuance, might be likened to complex, expressive, and efficient code.
Of course, Japanese has no alphabet. Japanese uses pictographic characters called kanji.
Similar to how Japanese can convey subtle meanings through its writing system, well-written Japanese
as a computer code could be highly expressive and efficient, even if it may appear complex to those unfamiliar with the
language and symbols."
"Are you with me Jimmy?
"Sort
of Sir, though unclear how coding might be undertaken in pictorial
fashion."
"Me
too Jimmy. Just to continue then, the Russian language, known for its literary tradition and its ability to convey complex emotions and ideas, could be compared to powerful, expressive, and versatile code. Just as
Russian can be used to write everything from poetry to technical manuals, well-written Russian code can be used for a wide range of applications, from simple scripts to complex software systems."
"Never thought of programming in those terms before Sir. I think what
you mean in essence, is that while each language has its own unique qualities, they can all be seen as tools for communication and
expressive variety, or culture. Just as a skilled artist can use a variety of techniques to create beautiful and meaningful
works, using different brush sizes and paint textures, a skilled programmer can use different languages to write efficient, expressive, and reliable code."
"Couldn't
have put it better myself Jimmy, but what of practicality, forsaking art
for efficiency in real time."
"That
is my weakness Sir. I don't have much time. A leap of faith is required,
not a thesis, mere acceptance for now - sleeves rolled up. Hammer hitting
the anvil time. I think we agreed when we last spoke on the subject that
the Android operating system is the best umbrella for the level of AI I'm
hoping to integrate."
"Yes
Jimmy, Google recognized the advantages of using a proven, open-source kernel for its mobile operating system. The Linux kernel's reliability, flexibility, and community support made it an ideal
platform. Into the ether
of choices and decision making, and back to the world of action, as
efficiently as possible. Well
then, Python is a versatile and easy-to-learn language that is well-suited for robotics and automation. Its readability and large community make it a good choice for prototyping and developing complex algorithms.
"Sir,
as you know from Robot Wars, I used Python and C++ already with some
success. C++ for performance-critical tasks, such as controlling the robot's motors and sensors,
where C++ provides fine-grained control over hardware and can be used to optimize code for speed."
"Jimmy, think of Android as a versatile toolbox. It's designed to handle a wide range of tasks, from simple apps to complex systems. It's like having a Swiss Army knife for your digital world."
"So, it's like a do-it-all operating system?"
"Exactly! It's based on Java, which is a language known for its flexibility and ease of use. This means you can create all sorts of applications, from games to productivity tools. Unlike traditional computer operating systems, Android is specifically designed for mobile devices. It's optimized for
smaller touch-screens, and it's designed to run multiple apps
simultaneously."
"That I don't need, Sir. I need the interface to respond to audio or
wireless inputs, understanding vocal communication rather than screen
touch commands. I need the robot to respond to voice commands, and radio
transmitted mission parameters. But how does it compare to something like Python or C++?"
"Okay Jiimmy, and
sorry to be less than clear for you. It's been a long day. You could create an app that uses machine learning to recognize objects or understand natural language. Python or C++ are more powerful for certain tasks, especially when it comes to performance-critical applications. But Android is excellent for building user-friendly interfaces and integrating with hardware components."
I'm still buzzing Sir. I wanted to speak with you all day." His
teacher was visibly flattered. "So, if I want to create a complex AI for my Dinobot, should I use Android or one of those other languages?"
"That's a great question Jimmy Android can certainly be used for AI, but it might not be the most efficient choice for extremely complex tasks. You could consider using a combination of Android and a more powerful language like Python for certain parts of the AI."
"That makes sense Sir. So, Android is kind of like the foundation, and then I can build on top of,
or under it, with other tools?"
"Exactly Master
Watson. Think of it like building a house. Android is the foundation for
AI, with Python for the base machine function. and then you can add different rooms and features as needed."
"Okay, I think I'm starting to get it, Mr Rippengall. So, if I want to create a sophisticated AI that can learn and adapt, I might need to combine Android with other tools and languages."
"That's right lad. But remember, the most important thing is to focus on the overall functionality and user experience. Don't get too caught up in the technical details."
"Sir,
my Dad used to rave about his Amiga computer, and something called Cloanto.
What's that all about?"
"That's
something else. Out of my league. Better ask your father about that one.
You'd best be getting along. Mum will worry. Nice to chat gain Jimmy.
Please keep me up to speed on your project. It sounds quite remarkable."
"Thank
you Sir, likewise, if anything else crops up...."
バスで家に帰る
ジミーは頭がいっぱいになり、情報過多に悩まされながら、急いで家に帰った。彼はバスで家に帰るのが好きだった。ディーゼルエンジンの低い唸りとギアボックスのうなり音。どういうわけかそれは心地よく、考える時間を与えてくれた。
彼は同じく帰宅途中の親友のジュリアに追いついた。「ジミー、心配そうにしているね。ちょっとぐちゃぐちゃだ。」
「ジュリア、きれいだね。新鮮な空気を吸ったみたいだ。」
「そんなにひどいの?」
「ロボット関係のことだ。パパと話をしたいことがあるんだ。ちょっと乱れているんだ、ごめんね。」
「トラブル?」
「ロボット関係のことだ。プログラミングの決定で、今、私の脳はララランドにいる。私のことを知ってるだろう。混乱した状態では、適切に行動できません。」
「でも、帰りのバスは楽しい?」
「もちろん」彼はゆっくりと息を吐き出した。「良い仲間と一緒ならなおさらだ。」
彼らは旅を続け、時折建設現場や道路工事で損なわれる美しい田園地帯を賞賛した。ジュリアは、自分の住む地域でこれほど多くの家が建てられていることを好まなかった。交通量の増加で舗装が崩れ、大混乱を引き起こしていた。また、未処理の下水がイギリス海峡に大量に排出されているという話も聞いていた。彼女は腹を立てた。彼女はこれらの懸念をマリオンに伝えた。マリオンは少しの間市議会議員となり、何が間違っているのか理解しようとした。
バスを降りると、ジュリアはジミーを抱きしめ、頬にキスをした。彼はそれを必要としていた。生まれて初めて、ジミーは彼女の頬にキスを返し、しばらく意味深く手を握り、ただお互いを見つめ合った。彼らは真の仲間であり、お互いを気遣っていた。
「ありがとうジュリエット。」彼女は少し顔を赤らめた。「ロミオ、芸術はどこにあるの。」
..
THE
BUS RIDE HOME
Jimmy
scampered off home, his mind awash, suffering information overload. He
liked the
bus ride home. The low grumble of the diesel engine and whine of the
gearbox. Somehow it was soothing, gave him time to think.
He caught up with his
best friend Julia, also on her way home. "You
look worried Jimmy, a bit of a mess."
"You
look pretty Julia. A breath of fresh air."
"That
bad is it?"
"Just
robot stuff. I need to speak to Dad about something. I am a bit disheveled,
sorry."
"Trouble?
"Just
robot stuff. Programming decisions, my brain is in La-La, land at the
moment. You know me. I cant' operate properly in a confused state."
"But
you enjoy the bus ride home?"
"For
sure," he breathed outwards slowly, "and more so with good company."
They continued on the journey, admiring the scenic countryside, marred
from time to time by building sites and road works. Julia did not like
so many houses being built in her neck of the wood. It was causing mayhem
with the tarmac breaking down from all the additional traffic. She'd also
heard about raw sewage overload being pumped into the English
Channel. It made her fume. She shared these concerns with Marion, who
became a councillor for a time to try and understand what was going wrong.
When
they got off the bus, Julia gave Jimmy a hug and kiss on the cheek. He
needed that. For the first time ever, Jimmy gave her a kiss on the cheek
back and they held hands meaningfully for a time, just gazing at each
other. They were genuine allies and cared for each other.
"Thanks
Juliet." She blushed a little. "Romeo, where for art
though."
Jimmy
and his father loved the home produced sausages from Hackhurst Lane.
夕食のテーブル
ジミーが最初に夕食のテーブルに着いた。「やあ、ママ。おいしそうなにおいがするよ。」
マリオンはラウンジに向かって叫んだ。「さあ、ティム、熱いうちに持ってきて。」
ティムはノートパソコンでバッテリー式の生垣バリカンを探していたが、ニュースを半分見ていた。
「パパ、待ってるよ。」いつもどちらかが遅れてテーブルに着いた。
ついにティムがやって来た。「ごめんね、ママ。」とティムは謝るようにうなずいた。「ホームベースでお買い得のバリカンを見つけたと思う。」
マリオンは「ありがとう」と口で言い、それから声に出して言った。「今夜はバンガーズ アンド マッシュを食べようと思ってたの。息子たちは何をしていたの?」
「いつも通りね、ディア。今日はどうだった?うーん、いいにおいがするわ。」
マリオンは自家製のチーズ マッシュポテトとアッパー ディッカーの農場から届いた本物のポーク ソーセージを乗せた皿を運んだ。
「あら、あれはハックハースト レーンのやつね。すごく肉がたっぷりのやつね。」
ジミーはよだれを垂らしていた。これが彼のお気に入りだった。お腹がゴロゴロ鳴っていた。ティムもすごくお腹が空いているようだった。
「そうだよ。ブロッコリーと豆だけ。」マリオンは野菜を盛り付け、それから自分も座った。「ああ、準備して。」
ジミーは真っ先にマッシュポテトに手を付けた。ああ、ママのチーズマッシュポテトが大好きだった。ティムはすぐにソーセージに手を付けた。
「どうやって作るの?それにマッシュポテトもね、おやじ、うーん。」
話す時間はほとんどなかった。マリオンでさえ少しお腹が空いていて、ハーストモンスーの早食い競争で息子たちに追いつくくらいだった。
「おいしいよ、ママ。」ジミーはもう一口食べ、かむ間もなく飲み込んだ。
「ブロッコリーを忘れるなよ、息子。もう少し長く噛んでな。」と父親が言った。ジミーはくすくす笑った。
ほんの数分で宴会は終わった。
家族はしばらくの間、お腹が膨れてテーブルに座った。みんなで笑い合った。ジミーのあごにはマッシュポテトが乗っていた。
「あなたの質問にお答えすると、ダーリン、これは家族経営なんです。彼らは自分で豚を育て、最高級の豚肉からソーセージを作っているんです。」
「何でもいいけど、ぴったりでした。」
「ママ、そうだったわ。食べ過ぎて顎が痛くなったの。止められなかった。」
「コーヒーかバノフィー?」マリオンはケトルを手振りで示した。
ダーリン、僕にはコーヒーだけだよ。」
「ママには何もないよ。」 長い沈黙が続いた後、ジミーが殴りかかった。「パパ…?」
「ジミー。」
「アミーガのコンピューターを持ってたじゃない?」
「もう、話さないでよ…」 マリオンの息子たちが消化器官をフル稼働させながら考えをまとめている間、1分ほど沈黙が続いた。
「でもパパ、リッペンガルさんは、クロアントについて尋ねるべき人物はあなただと言っていた。何だって、彼にはさっぱりわからなかった。」
「彼には息子がいるかもしれないと思う。多分、あなたは彼を疲れさせたんだ。」
THE
DINNER TABLE
Jimmy
was first at the dinner table. "Hi Mum. Smells delicious."
Marion
shouted into the lounge, "come
on Tim, get it while it's hot."
Tim
was surfing on his laptop for a battery hedge trimmer, while half watching the news.
"Dad,
we're waiting." One or the other were always late to the table.
Finally
Tim came through. "Sorry Mum," said Tim, with an apologetic nod
of the head. "Think I've found a bargain trimmer at Homebase."
Marion
mouthed "Thankyou," then aloud, "thought
we'd have bangers and mash tonight. What have my boys been up to?"
"All
the usual Dear. How was your day? Ummmm, smells great."
Marion
carried in their plates, loaded with home made cheesy mashed potato and
real pork sausages from a farm at Upper Dicker.
"Oh
my, are those from Hackhurst Lane. The really meaty ones."
Jimmy
was salivating. These were his favourites. His stomach was gurgling. Tim
also looked mighty hungry.
"They
are. Just some broccoli and beans." Marion dished out the vegetables.
Then sat down herself. "Ohhhh. On your marks get set."
Jimmy
was first into the mashed potato. Oh how he loved Mum's cheesy mash. Tim
went straight for the sausages.
"How
do they do it? And your mashed potato, Dear, uummm."
There
was little time for talking. Even Marion was a little hungry, almost
keeping up with her boys in the Herstmonceux Eating Stakes.
"Delicious
Mum." Jimmy stuffed in another mouthful, barely having the time to
chew before swallowing.
"Don't
forget the broccoli son, and chew for a little longer," said his
father. Jimmy giggled.
In
only a few minutes the feast was over.
The
family sat at the table absolutely bloated for a while. All laughing at each
other. Jimmy had mashed potato on his chin.
"In
answer to your question, darling, it's a family business. They rear their
own pigs, and make their own sausages from the finest pork cuts."
"Whatever,
they hit the spot."
"Sure
did Mom, my jaw aches from eating so fast. I couldn't stop."
"Coffee
or Banoffee?" Marion motioned to the kettle.
Just
coffee for me darling."
"Nothing
for me Mum." There was a long silence, then Jimmy struck. "Daaad
.... ?"
"Jimmeee."
"Didn't
you once have an Amiga computer?"
"Now
don't get me started .... " A minute passed in silence as Marion's
lads gathered their thoughts, digestion systems working overtime.
"But
Dad, Mr Rippengall said you were the person to ask about Cloanto. What is
that, he didn't have a clue."
"I
suspect he may have son. You probably exhausted him."
デジタル タイム マシン
ティムはしばらくその質問について考えました。彼はまだ
Amiga を懐かしく思い出していました。当時としては非常に先進的なマシンでした。PC
や Apple
よりはるかに先を行っていました。しかし、運命は研究開発と研究資金となる売上に比例して変化します。ヒューレット パッカード形式に基づくパーソナル コンピュータと
Apple の間では熾烈な戦いがありました。実際、Apple
は Windows
オペレーティング システムを発明し、Microsoft
は MS DOS (ディスク オペレーティング システム)
を開発し、その後 Apple
の Windows
システムをコピーしました。これは最終的に法廷闘争となりましたが、Microsoft
のバージョンは Apple
の著作権を回避できるほど十分に変化していました。Apple
はその法廷闘争に敗れました。
「古いビデオ ゲーム コンソールを持っていると想像してください」とティムは始めました。「そのコンソールでゲームをするのが大好きですが、新しいテレビには適切な入力がありません。」
ジミーはうなずき、その例えを理解しました。「つまり、新しいテレビで古いゲームをプレイする方法が必要なのです。」
「その通りです」と将軍は続けました。 「そこでエミュレーションが登場します。エミュレーターは、あるシステム向けに設計されたソフトウェアを別のシステムで実行し、新しいインターフェースにパッチを当てることができる翻訳機のようなものです。」
「では、Dalvik 仮想マシンは
Android アプリのエミュレーターのようなものですか?」と
Jimmy が尋ねました。
「それは良い考え方ですね」と Tim
が答えました。「Android
アプリが記述されている Java
バイトコードを、デバイスのプロセッサが理解できるマシン コードに変換します。」
Tim は息を切らして言いました。「Dalvik
仮想マシン (DVM)
と Amiga Forever/Cloanto
プログラムを比較することができます。」
「DVM と
Amiga Forever/Cloanto プログラムはどちらも、あるプラットフォーム
(DVM の場合は
Android、Amiga
の場合は Amiga Forever/Cloanto)
向けに設計されたソフトウェアを別のプラットフォームで実行できるようにする仮想環境として機能します。」
「では、Android ランタイムはどこで登場するのですか?」
「Android の後の版では、Dalvik
仮想マシンが Android
ランタイム (ART)
に置き換えられ、アプリケーションのパフォーマンスが向上し、バッテリー消費が削減されました。」
「ああ、いいですね。でも、なぜエミュレータが必要なのでしょうか?」と
Jimmy は疑問に思い、声に出して言いました。
「Android アプリは特定の環境で実行するように設計されているからです」と
Tim は説明しました。「Dalvik
仮想マシンは、基盤となるハードウェアに関係なく、その環境を提供します。古いソフトウェアを最新のデバイスで実行できるタイムマシンを持っているようなものです。」
Jimmy はこれについて少し考えました。「つまり、新しいコンソールで古典的なビデオ ゲームをプレイするようなものですか?」
「その通りです」と Tim
は答えました。「エミュレータは、古いソフトウェアを新しいハードウェアで実行できるようにする互換性レイヤーを提供します。」
Jimmy は概念を理解し、うなずきました。「それは本当にクールです。これまでそのように考えたことはありませんでした。」
陸軍将軍は微笑みました。 「これは魅力的な概念で、多くの実用的な用途があります。『Dalvik
仮想マシン』やそれ以降の『Android
ランタイム』は、エミュレーションを使用してソフトウェアを保存し、クロスプラットフォームの互換性を実現する方法のほんの一例にすぎません。」
「今、わかったと思います。ありがとう、お父さん。」ジミーは立ち上がって、父親を抱きしめ、次に母親を抱きしめました。
「ダイノボットの選択に役立つといいですね。」父親は意味ありげにウインクし、右手の人差し指で鼻を軽くたたきました。
A
DIGITAL TIME MACHINE
Tim thought about the question for a moment. He still remembered his Amiga
fondly. A very advanced machine for it's day. Way ahead of PCs and Apple.
But fortunes change directly in proportion to R&D and the sales that
fund research. There was a battle royal between Personal Computers based
on the Hewlett Packard format, and Apple. Indeed, Apple invented the
Windows operating system where Microsoft then had MS DOS (Disc Operating
System), then copied the
Window system of Apple, which ended up in Court, but Microsoft's version
was sufficiently varied to avoid Apple's copyright. Apple lost that legal
battle.
"Imagine you have an old video game console,"
Tim began. "You love playing the games on it, but your new TV doesn't have the right inputs."
Jimmy nodded, understanding the analogy. "So, you need a way to play those old games on your new TV."
"Exactly," the General continued. "That's where emulation comes in. An emulator is like a translator that allows software designed for one system to run on a different
system and patch into new interfaces."
"So, the Dalvik Virtual Machine is like an emulator for Android apps?" Jimmy asked.
"That's a good way to think of it," Tim replied. "It translates the Java bytecode that Android apps are written in, into machine code that can be understood by the device's processor."
Tim breathed in, "you can draw a comparison between the Dalvik Virtual Machine (DVM) and Amiga
Forever/Cloanto programs."
"Both the DVM and Amiga Forever/Cloanto programs serve as virtual environments that allow software designed for one platform (Android for DVM, Amiga for Amiga Forever/Cloanto) to run on a different platform."
"So
where does Android Runtime come in?"
"In later versions of Android, the Dalvik Virtual Machine was replaced by the Android Runtime
(ART), improving application performance and reducing battery consumption."
"Oh nice one. But why do we need an emulator?" Jimmy wondered, saying
it out loud.
"Because Android apps are designed to run on a specific environment," Tim explained. "The Dalvik Virtual Machine provides that environment, regardless of the underlying hardware. It's like having a time machine that allows you to run old software on modern devices."
Jimmy thought about this for a moment. "So, it's like playing a classic video game on a new console?"
"Exactly," Tim replied. "The emulator provides a compatibility layer that allows the old software to run on the new hardware."
Jimmy nodded, understanding the concept. "That's really cool. I never thought about it like that before."
The Army General smiled. "It's a fascinating concept, and it has a lot of practical applications. The
'Dalvik Virtual Machine'
or later 'Android Runtime' is just one example of how emulation can be used to preserve software and enable cross-platform compatibility."
"I
think I get it now. Thanks
Dad." Jimmy got up and hugged his father, then his mother.
"I
hope that helps your Dinobot choices," said his father with a knowing
wink, and tap on the nose of his right hand index finger.
....
JIMMY
のプロジェクト日記チェックリスト
Android は、主にスマートフォンやタブレットなどのモバイル デバイス向けに設計された多用途のオペレーティング システムです。Python
や C++
などの言語ほどのパワーやパフォーマンスはありませんが、幅広いタスクに適しています。Linux
カーネルをベースとしているため、さまざまなアプリケーションやサービスを実行するための強固な基盤を提供します。
ほとんどの Android
アプリは、Python
に似た高水準言語である
Java を使用して開発されています。
Android は最も人気のあるモバイル オペレーティング システムであり、Android
アプリを開発するためのツールとライブラリの広大なエコシステムがあります。
Android は、スマート
TV、ウェアラブル、自動車インフォテインメント システムなどの組み込みシステムにも使用できます。
Android を使用してモノのインターネット
(IoT) デバイスを作成し、インターネットに接続して他のデバイスと通信することができます。
Android は、極めて高いパフォーマンスや低レベルのシステム アクセスを必要とする非常に重要なタスクには適していませんが、多くのアプリケーションにとって強力で柔軟なプラットフォームです。オープンソースの性質と大規模な開発者コミュニティにより、Android
はモバイルおよび組み込みシステムに取り組む開発者に人気の選択肢となっています。C++
と比較すると、Android
はハードウェア リソースを直接制御する機能が少ないため、特定のシナリオではパフォーマンスが制限される可能性があります。
Android は
C++ ほど重要なタスクには適していませんが、幅広いアプリケーションを処理できる多用途で強力なプラットフォームです。Java
ベースの開発環境と広範なエコシステムにより、モバイル アプリ開発に人気の選択肢となっています。ただし、重要な機械機能は
Pi と
Arduino
によって処理され、AI Android
イーサにフィードバックされます。
Android は、Google
が開発した多用途のモバイル オペレーティング システムです。リアルタイム システムや組み込みデバイスなどの重要なタスク向けに主に設計されたものではありませんが、幅広いアプリケーションと機能を処理できます。非常に重要なタスクでは、Python
や C++
などの言語ほどの純粋なパワーやパフォーマンスはありません。彼は
Python と
C++ を比較しました。
PYTHON
スクリプト言語:
主にスクリプト作成と自動化タスクに使用されます。
インタプリタ言語:
コードは行ごとに実行されるため、C++
などのコンパイル言語よりも遅くなります。
プロトタイピングと迅速な開発に適しています:
習得と使用が簡単なため、アプリケーションを迅速に構築してテストするのに適しています。
重要なタスクには適していません:
インタプリタ型であり、パフォーマンスのオーバーヘッドが発生する可能性があるため、Python
は一般に、時間に敏感なアプリケーションやリソースが制限されたアプリケーションには推奨されません。
- Python
は英語の構文を持ち、他の言語よりも複雑なルールが少なくなっています。
- Python
は、Windows、Mac、Linux
など、複数のオペレーティング システムで実行できます。
- Python
は、折れ線グラフや棒グラフ、円グラフ、ヒストグラム、3D
プロットなど、さまざまなデータ視覚化を構築できます。
C++
コンパイル言語:
コードは実行前にマシン コードに変換されるため、インタプリタ言語よりも高速で効率的です。
システム プログラミング言語:
オペレーティング システム、デバイス ドライバー、その他の低レベル システムの開発によく使用されます。
重要なタスクに適しています: C++
のパフォーマンスとハードウェア リソースの制御により、C++
は時間的制約のあるアプリケーションに適しています。
より複雑で習得が難しい: Python
と比較して、プログラミングの概念とメモリ管理についてより深い理解が必要です。
ハードウェアの組み合わせ
Raspberry Pi:
画像処理、機械学習、ネットワーク通信などの複雑なタスクを処理できる多用途のシングルボード コンピューターです。低コストでリソースが豊富なため、ロボット プロジェクトでよく使用されます。
Arduino:
物理コンピューティング用に設計されたマイクロコントローラー ボードです。モーター、センサー、その他の電子部品の制御に最適です。Raspberry Pi
と組み合わせて使用することで、強力で柔軟なロボット プラットフォームを作成できます。
スマートフォン プロセッサー:
最新のスマートフォン プロセッサーは非常に強力で、複雑なタスクを処理できます。ただし、小型ロボットには過剰で、必要以上に電力を消費する可能性があります。
Magic Dinobot
に最適な組み合わせは、次のとおりです。
Raspberry Pi:
メイン コントロール ユニットとして、ナビゲーション、意思決定、通信などのタスクを処理します。
Arduino:
ロボットのモーター、センサー、その他の物理コンポーネントを制御するため。
Python: ロボットのソフトウェアを開発するための主要なプログラミング言語として。
C++: リアルタイムのモーター制御やセンサー データ処理など、パフォーマンスが重要なタスク用。
「これらの要素を組み合わせることで、包括的な AI
機能を備えた強力で多用途な自律型ロボット
6 脚を作成できます。ただし、プログラミングには時間がかかります。何日も静かな部屋で過ごすことになるでしょう。祝福された静けさ、それだけです。」
JIMMY'S
PROJECT DIARY CHECKLIST
Android is a versatile operating system designed primarily for mobile devices, such as smartphones and tablets. While it doesn't have the same raw power or performance capabilities as languages like Python or C++, it is well-suited for a wide range of tasks, it is based on a Linux kernel, so provides a solid foundation for running various applications and services.
Most Android apps are developed using Java, which is a high-level language similar to Python.
Android is the most popular mobile operating system, and there is a vast ecosystem of tools and libraries for developing Android apps.
Android can also be used for embedded systems, such as smart TVs, wearables, and automotive infotainment systems.
Android can be used to create Internet of Things (IoT) devices, enabling them to connect to the internet and communicate with other devices.
While Android is not as well-suited for highly critical tasks that require extreme performance or low-level system access, it is a powerful and flexible platform for many applications. Its open-source nature and large developer community make it a popular choice for developers working on mobile and embedded systems. Compared to C++, Android provides less direct control over hardware resources, which can limit its performance in certain scenarios.
Android is not as well-suited for the most critical tasks as C++, it is a versatile and powerful platform that can handle a wide range of applications. Its Java-based development environment and extensive ecosystem make it a popular choice for mobile app development. But then, the critical mechanical functions are dealt with by the Pi and Arduino, with feedback to the AI Android ether.
Android is a versatile mobile operating system developed by Google. While it's not primarily designed for critical tasks like real-time systems or embedded devices, it can handle a wide range of applications and functionalities. It doesn't have the same raw power or performance as languages like Python and C++ for highly critical tasks.
He compared Python and C++.
PYTHON
Scripting language: Primarily used for scripting and automation tasks.
Interpreted language: Code is executed line by line, making it slower than compiled languages like C++.
Good for prototyping and rapid development: Easy to learn and use, making it suitable for quickly building and testing applications.
Not well-suited for critical tasks: Due to its interpreted nature and potential for performance overhead, Python is generally not recommended for time-sensitive or resource-constrained applications.
-
Python has English syntax and fewer complex rules than other languages.
- Python can run on multiple operating systems, including Windows, Mac, and Linux.
- Python can build a wide range of data visualizations, like line and bar graphs, pie charts, histograms, and 3D plots.
C++
Compiled language: Code is translated into machine code before execution, making it faster and more efficient than interpreted languages.
System programming language: Often used for developing operating systems, device drivers, and other low-level systems.
Suitable for critical tasks: C++'s performance and control over hardware resources make it well-suited for time-sensitive applications.
More complex and difficult to learn: Requires a deeper understanding of programming concepts and memory management compared to Python.
HARDWARE
COMBINATIONS
Raspberry Pi: A versatile single-board computer that can handle complex tasks like image processing, machine learning, and network communication. It's a popular choice for robotics projects due to its low cost and abundant resources.
Arduino: A microcontroller board designed for physical computing. It's excellent for controlling motors, sensors, and other electronic components. It can be used in conjunction with a Raspberry Pi to create a powerful and flexible robot platform.
Smartphone Processor: Modern smartphone processors are incredibly powerful and can handle complex tasks. However, they may be overkill for a smaller robot and might consume more power than necessary.
A potentially
winning combination for the Magic Dinobot could be:
Raspberry Pi: As the main control unit, handling tasks like navigation, decision-making, and communication.
Arduino: For controlling the robot's motors, sensors, and other physical components.
Python: As the primary programming language for developing the robot's software.
C++: For performance-critical tasks, such as real-time motor control or sensor data processing.
"By combining these elements,
I could create a powerful and versatile autonomous robot hexapod
with a comprehensive range of AI abilities. But the programming will take
time. A quiet room for days on end, I'd wager. Blessed tranquility, if
only."
Dai 14-shō - konpyūta kōdingu no saiten (jirai Hara)
...
>>
CHAPTER 15
CHAPTER
1 |
Dreaming
about a robot hexapod, Christmas wish |
CHAPTER
2 |
Marion
finds Jimmy's moneybox |
CHAPTER
3 |
More
money in the moneybox, than expected |
CHAPTER
4 |
Johnny
Baxter's (The Johnson) detention, King
Geek and the Geeklets |
CHAPTER
5 |
Jimmy
saves hard for nine months, while programming @ school |
CHAPTER
6 |
Mum
and Dad approve of Jimmy ordering his robot parts |
CHAPTER
7 |
Dad
builds Jimmy a shed for a workshop |
CHAPTER
8 |
Dad's
idea for Chameleon camouflage, invisibility cloak |
CHAPTER
9 |
Jimmy
begins assembling the Dinobot |
CHAPTER
10 |
Dad
buys Jimmy a welder, and teaches him how to use it |
CHAPTER
11 |
Jimmy
installs the electric drive motors |
CHAPTER
12 |
The
copper cable wiring challenge |
CHAPTER
13 |
Raspberry
Pi, Arduino and smart phone
computer micro processors |
CHAPTER
14 |
Coding
software extravaganza |
CHAPTER
15 |
It
moves, the Military review security with the
PM &
Buckingham
Palace |
CHAPTER
16 |
Johnny
breaks into Jimmy's shed with a thug, and gets tazed |
CHAPTER
17 |
Jimmy
uploads AI, GPS and other enhancements |
CHAPTER
18 |
Father
Christmas and the elves in the North Pole |
CHAPTER
19 |
Christmas
Eve, Jimmy retires exhausted |
CHAPTER
20 |
Jimmy
dreams of Santa Claus and his Dinobot coming to life |
CHAPTER
21 |
Christmas
Day, Where is the Dinobot? |
ANTICS
- ARDUINO
- ARMOUR
- ARTWORK
- BLACK
BOX - ELECTRONICS - ENERGY - FRAME
- FORMICARIUM
HEAD - JAWS -
KITS -
LEGS - MECHANICS
- MOTORS -
MOVIE
- RASPBERRY
Pi - R/C DRONE
-
SENTRY
SOFTWARE -
SOUND
PROOFING - SPACE
ROVERS - SPEED -
SUSPENSION - TAIL
- WEAPONS
- WARGAMING
|