長い間、管理職をやっていたが、定年を機に転職して、久しぶりに現場仕事をしている。先日、自分で回路設計をし、自分でコードを書いた商品を出荷したのだが、見事に問題を起こしてしまった。
電源をONしたまま放置すると、起動しなくなるというバグである。まあ、昔からよくある問題だ。負荷試験と放置とどちらか厳しいかというと、放置の方が難しかったりする。コードを書くときに、負荷は気にしても、長時間放置しておくとどうなるか、ということを気にしてコードを書くことが手薄になるからである。
まあ、年の功で、あまりあわてずに、対応している。
カテゴリー: 開発業務
HUAWEI社のHarmonyOS:どんどん搭載機器が増えているようだ
米国の対中政策の一環で、Androidの利用を制限した。HUAWEI社は、その対抗策として、OSを自社開発するという発表があった。発表があったときは、この政策が結果的にはGoogleの市場へ穴を開けることにつながるのでは、と思っていた。
HUAWEIの暗器「HarmonyOS 2」がいよいよ姿を見せるという記事を読むと、どうやら、その通りになりそうだ。このOSが、かなり意欲的な内容になるようだからだ。
次長の横暴を抑えきれない企業とは
逆転敗訴した野村情シスがIBMに送った悲痛なメール、横暴なユーザーを抑えきれずという記事を読んでびっくりした。この横暴なユーザーというのが利用部門の次長だったというのである。もっと上位職ならともかく、次長といえば中間管理職だ。その程度のユーザーの要求を抑え込めない情報システム部門というのは、どこまで情けないんだろう。
小ロットの会社でも半導体不足の影響
最近の半導体不足は私の勤務しているような小ロット生産の会社にまで影響されている。チップの価格も驚くほど価格が上昇している。同じような小ロット生産の産業機器メーカーも、なかなか値上げできず、出荷もままならない、という苦境が予想され、当面、新製品開発どころでなくなるかもしれない。
現に、今開発中の製品が、10月に出荷可能なら、顧客に提案したいと言われたが、設計できても試作すらできないかもしれないので、10月はムリです、と回答するしなかなった。
デバッグ機能を有効にしたまま製品化するなんて・・・
バッファローのネットワーク機器37機種に脆弱性、対象製品は利用停止をは、ちょっと情けない話である。モートで製品のデバッグ機能を有効にしたまま出荷してしまったらしい。
さすがにデバッグ機能が有効だと何でも出来る。ファームのアップデートでもだめということは、ひょっとすると、ハードがらみかもしれない。昔、某組み込みマイコンで、JTAGデバッグ機能をOFFにするよう設定しても、JTAGデバッガが有効になったままというマイコンのバグに出くわしたことがある。さすがに、このバグは、即座に改修された。
通信系のバグ:今でもあるエンディアン問題
ソフトウェア技術者のためのバグ百科事典(19)複雑怪奇な通信系プログラムのバグは、通信系の組み込みの開発者が大なり小なり経験しているだろう。特にエンディアンの問題は、よくある話である。この記事では解説されていなかったが、エンディアンの問題の発生の原因の1つに、通信のエンディアンとマイコンのエンディアンが異なることがある。
歴史的に、通信の世界では、ビッグエンディアンを使うことが多い(当然、例外はあるが)。一方、マイコンの世界では、リトルエンディアンが多い(設定で選べるマイコンもあるが)。これが間違いのもとである。
もう1つやっかいなのが、物理的な通信路でシリアル出力されている場合、ビットの上位から送信されるか、下位から送信されるかという2択があるということである。MSBファーストかLSBファーストかという問題だ。これも、どちらの流儀もある。LSBファーストの場合が多いが、よく使われるI2CはMSBファーストだ。
これだけ選択肢があると、まあ、いろいろと間違うこともある。
マツダ 心を燃やす逆転の経営:メーカーの技術者必読の書
私は、車には関心がない。トヨタの車を20年近く乗っている。それもこれも、車は動けばいいので、動いてくれているのでずっと乗っている。
そんな私が、マツダ 心を燃やす逆転の経営という本を読んだ。久しぶりに良い本であった。経営の本なのだが、その大半は技術経営について語っている。しかも、業界で大手ではない企業の技術戦略である。
その要点は、一括企画、コモンアーキテクチャ戦略である。この考え方は、組み込み機器でも通じる考え方だ。開発者も、開発費も少ない企業には、企画の方向性、技術の方向性が必要である。その方向に戦力を集中することで、やっと競合他社に勝てる。
この本は、それを実践した中身が書かれている。ここまで、あからさまに書いて大丈夫かと思うほどだ。
たまには手書きコーディングもいいかも
ノートPCの電源ケーブルを持っていくのを忘れてしまった。ちょうどソフトウエアの実装が始まったところだった。メールを見たりするために、ある程度、PCが動作していないと業務ができない。しかたないので、ノートPCの電源を保持しておくため、手書きでソースコードを書いてみた。
昔昔、コンピュータのプログラミングは、コーディングシートというのがあって、それに手書きでソースコードを書いた。それから、パンチカード室というところで、手書きのコーディングシートを見ながら、パンチカードをタイピングするのだ。会社などでは、コーディングシートを提出すれば、パンチカードをタイピングしてくれる専門のキーパンチャというプロを雇っているところもあった。
手書きで、100行以上のコードを書くのは、そうした時代以来である。ちょっと検討がいる部分だったので、それを見ながらいろいろ考えたりする(机上デバッグと言っていた)もでき、意外に新鮮だった。たまには、いいかもしれない。
ポンチ絵はもはや死語なんだ
ポンチ絵の「ポンチ」って何ですかを読んで、世代ギャップを感じた。私は、少し複雑なことを検討するには、紙にポンチ絵を書くところから始める。だから、紙と鉛筆と消しゴムが必須だ。消しゴムは滅多につかわないのだが、どうしても修正したい時には使う。
でも、今や、ポンチ絵という言葉すら知らないとはねえ。まあ、スマホで小説を書く人もいるくらいだから、紙と鉛筆がなければ仕事ができないなんて、化石のような世代なんだろうなあ。
道具は重要だ。道具を使うことで、人は進化した。そういう意味では、ポンチ絵を書くこともなく、仕事ができる世代になりつつあるということだろう。
設計時に一呼吸おくことの重要性:二呼吸置くとアイデアが逃げるが
設計というのは難しい。私の場合、その難しさの1つが、早く実装へ移行したいという欲求である。ハードウエアなら回路図を、ソフトウエアならコードを書きたい。設計のような抽象度の高い作業ではなく、早く具体化したいのである。
でもまあ、あわてて実装を始めてもいいことはない。大抵は、検討不足で、結局、回路図は書き直し、コードも書き直しになる。設計が終わってから一呼吸置くことで、いいアイデアが浮かぶこともある。何だ、こうすればいいじゃないか、とシンプルな実装方法を思いつくのである。
一呼吸が重要だ。二呼吸置くと、そもそもの設計が頭から抜けてしまう。