2018年03月07日

再利用)日経PC21 2017年 6 月号の音声プログラムを再び動作させる。

Windows上でWebを音声で読み上げさせたりするため、
再度、日経PC 21の過去記事を参考に、publickey1やYAHOO!JAPANニュース等を
読ませてみることにしました。
まず、復習から。

参照:日経PC21の音声プログラムを再び動作させる。
http://linuxcommand2007.seesaa.net/article/451929241.html?1520374924

◎日経PC21 2017年 6 月号:円
日経PC21 2017年 6 月号 -
日経PC21 2017年 6 月号 -

A
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://trendy.nikkeibp.co.jp/news/"
while objIE.ReadyState <> 4 Or objIE.Busy = True
WScript.Sleep 100
Wend

theText = objIE.Document.getElementsByClassName("list03")(0).innerText
Set objSAPI = CreateObject("SAPI.SpVoice")
objSAPI.Speak "おはようございます。日経トレンディネットのニュースです。"
objSAPI.Speak theText


◎日経Linux 2017年 06 月号:1,540円
日経Linux 2017年 06 月号 -
日経Linux 2017年 06 月号 -

posted by アンドレアス at 07:26| Comment(0) | よく使うコマンド | このブログの読者になる | 更新情報をチェックする

2018年02月27日

Linuxの帯域制限コマンド tc(traffic control)とdstatを使いこなす

CentOS7.4で確認。
デフォルトでインストールされていました。
(気づかぬうちに、インストールした?)

tc qdisc add dev ens33 root tbf limit 1Mb buffer 200Kb rate 1Mbps

家のPC上で dstatとともに確認する場合は、

tc qdisc add dev ens33 root tbf limit 1Mb buffer 200Kb rate 100kbps

くらいの方がわかりやすいかと思います。

dstatコマンドは、
man dstat すると、以下の説明が最初に表示されます。

dstat - versatile tool for generating system resource statistics
と表示される通り、「万能ツール」です。


◎日経Linux 2018年 3 月号:円
日経Linux 2018年 3 月号 -
日経Linux 2018年 3 月号 -


◆参考URL:Linuxでアウトバウンド帯域幅を制限する

https://dev.classmethod.jp/server-side/shaping_outbound_traffic_from_linux/

dstatの便利なオプションまとめ
https://qiita.com/harukasan/items/b18e484662943d834901
posted by アンドレアス at 22:37| Comment(0) | あんまり使わんけど知っておくべきコマンド | このブログの読者になる | 更新情報をチェックする

2018年02月24日

SpectreとMeltdownに対するLinuxカーネルの対応を、ソースコードを見て確認してみる(その1)・・・カーネル4.15.5ソースコード

日経Linux 2018年 3 月号 Linuxレポートは、
P7の1ページのみですが、SpectreとMeltdownに対する
対応状況が記載されています。

◆キーワード
Variant1,Variant2,Variant3,Spectre,Meltdown,LFENCE,SFENCE,Branch Target Buffer(BTB),Return Tranpoline(retpolin),KPTI(Kernel Page Table Isolation),microcode,投機実行,Out-of-Order実行,Side Effect攻撃

各バージョンのカーネルソースコードをhttps://www.kernel.org/ よりDL後、
tar xvJf linux-4.15.5.tar.xz で解凍展開。

$ grep -n -r retpolin * 等で、結果表示された
ソースを開いて中身を確認してみました。


@linux-4.15.5
上記のgrepコマンド実行結果の一部として
以下の内容が表示されました。

arch/x86/kernel/cpu/bugs.c:87: [SPECTRE_V2_RETPOLINE_MINIMAL] = "Vulnerable: Minimal generic ASM retpoline",
arch/x86/kernel/cpu/bugs.c:88: [SPECTRE_V2_RETPOLINE_MINIMAL_AMD] = "Vulnerable: Minimal AMD ASM retpoline",
arch/x86/kernel/cpu/bugs.c:89: [SPECTRE_V2_RETPOLINE_GENERIC] = "Mitigation: Full generic retpoline",
arch/x86/kernel/cpu/bugs.c:90: [SPECTRE_V2_RETPOLINE_AMD] = "Mitigation: Full AMD retpoline",

まず、この行から見ていくことにします。
すると、75行目〜カーネルコマンドライン選択という列挙型(enum)の
記述が目に飛び込んできます。

Variant2(V2)は、
過去の分岐先アドレスをBranch Target Buffer(BTB)に格納し、
分岐予測アルゴリズムを使って条件分岐のペナルティー削減を
行っている、そうですが、
この分岐先アドレスを分かりにくくするReturn Trampolin(retpolin)機能を
使えるようにするために、「SPECTRE_V2_CMD_RETPOLINE」などが追加されているようです。

75 /* The kernel command line selection */
76 enum spectre_v2_mitigation_cmd {
77 SPECTRE_V2_CMD_NONE,
78 SPECTRE_V2_CMD_AUTO,
79 SPECTRE_V2_CMD_FORCE,
80 SPECTRE_V2_CMD_RETPOLINE,
81 SPECTRE_V2_CMD_RETPOLINE_GENERIC,
82 SPECTRE_V2_CMD_RETPOLINE_AMD,

83 };
84
85 static const char *spectre_v2_strings[] = {
86 [SPECTRE_V2_NONE] = "Vulnerable",
87 [SPECTRE_V2_RETPOLINE_MINIMAL] = "Vulnerable: Minimal generic ASM retpoline",
88 [SPECTRE_V2_RETPOLINE_MINIMAL_AMD] = "Vulnerable: Minimal AMD ASM retpoline",
89 [SPECTRE_V2_RETPOLINE_GENERIC] = "Mitigation: Full generic retpoline",
90 [SPECTRE_V2_RETPOLINE_AMD] = "Mitigation: Full AMD retpoline",
91 };



◎日経Linux 2018年 3 月号:円
日経Linux 2018年 3 月号 -
日経Linux 2018年 3 月号 -

◎Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus):円
Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus) -
Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus) -

posted by アンドレアス at 15:09| Comment(0) | カーネルの仕組みを詳しく知るコマンド | このブログの読者になる | 更新情報をチェックする

あと16分後発売開始!Interface(インターフェース) 2018年 04 月号、特集はAIスピーカーの仕組み、WEB+DB PRESS Vol.104も同時発売開始!Burp Suite,dex2jar,JADの解析など盛りだくさん!

Interface(インターフェース) 2018年 04 月号では
ついにAIスピーカーが特集に出てきました!

さっそく買ってきます!

◆追記 2018/3/25(日)
皆さんが時間を無駄にしないようにメモしておきます。

1.SDKダウンロード用のsetup.sh スクリプトは変更が必要です。

最新バージョンのRaspbianの uname -a の結果が
setup.sh スクリプト(73行目付近)と合致しないため、
エラーで終わってしまいます。
自分で修正が必要がありますが、
大半の人は、自分で修正可能な簡単なレベルです。

ただ、面倒くさいなー、と思いました。

なかなか、すんなり進みませんよねー。

また、Interface 2018年4月号では、
bash setup.sh config.txt などのコマンド実行時に、
sudoが付記されてませんが、
sudoをつけないと、最後の方(97%くらい)でエラーになる(はず)なので、
sudoはつけましょう。

sudo bash setup.sh config.txt
とか
sudo bash startauth.sh
と、書いています。下記にちゃんと。
https://github.com/alexa/avs-device-sdk/wiki/Raspberry-Pi-Quick-Start-Guide-with-Script


2.ローカル設定後、話しかけた後の音声

t コマンド後、マイクで話しかけた後、
Alexaのspeakが行われているのに、
音声が聞こえない。

結局、Raspbianのボリュームを大きくしているうちに、
HDMIでディスクプレイから音声が出ていることに気付いた。

なぜか、イヤホンから聞こえず。

もちろん、アナログ設定しているのに、である。
raspi-configでAudio設定しているし、
メニューバーの右クリックでAnalog(HDMIではなく)になっていることも確認。
(再起動しても変化無し。)

となるとSDKのどこかで設定されているのでしょう。

あとは、ログインして調べるしかないかな。

Internet検索ではすぐに該当する事象の解決方法は見つからず。
とりあえずHDMIからAlexaの音声が聞けるから、先に進めよう。

◎Interface(インターフェース) 2018年 04 月号:円
Interface(インターフェース) 2018年 04 月号 -
Interface(インターフェース) 2018年 04 月号 -

◎WEB+DB PRESS Vol.104:円
WEB+DB PRESS Vol.104 -
WEB+DB PRESS Vol.104 -

東京では、既に先行販売されていた「WEB+DB PRESS Vol.104」では
Openstack特集もあり、かなり貴重な内容になっています。
Packstackによる構築の内容もあるので、買っておくと
自宅クラウドや会社クラウドで役立ちます。

posted by アンドレアス at 09:49| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2018年02月23日

vSphere6.5へのバージョンアップに備えて、黒本「徹底攻略VCP6.5-DCV教科書 VMware vSphere 6.5対応」を買う

vSphere6.5へのバージョンアップが近づいてきたので、
書籍を探していたのですが、
数年前(2012年頃)と違い、VMware、vSphereという固有名詞が
書名についている書籍の出版は、ほとんど
なくなってしまったことに、改めて気づくことになります。

唯一、目についた
「徹底攻略VCP6.5-DCV教科書 VMware vSphere 6.5対応」を
購入することにしました。

◎徹底攻略VCP6.5-DCV教科書 VMware vSphere 6.5対応:3,996円
徹底攻略VCP6.5-DCV教科書 VMware vSphere 6.5対応 -
徹底攻略VCP6.5-DCV教科書 VMware vSphere 6.5対応 -

後は、英語Webサイトを猛速度で読んで、
準備しておきたいと思います。
posted by アンドレアス at 09:33| Comment(0) | VMwarevSphere | このブログの読者になる | 更新情報をチェックする

2018年02月19日

基礎と銘打たれているが、こんな基礎本が欲しかった!「Linuxとpthreadsによる マルチスレッドプログラミング入門」

これも、非常に分かりやすく、かつスレッドプログラミングを
学習するのに、最適な1冊です。

春が近づくと、良書の発売が続くのはよくあることですが、
今年は特に、良書の販売が続いていますね。


◎Linuxとpthreadsによる マルチスレッドプログラミング入門:円
Linuxとpthreadsによる マルチスレッドプログラミング入門 (プログラミング基礎講座) -
Linuxとpthreadsによる マルチスレッドプログラミング入門 (プログラミング基礎講座) -

◎Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus):円
Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus) -
Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus) -
posted by アンドレアス at 21:36| Comment(0) | C言語 | このブログの読者になる | 更新情報をチェックする

Meltdown and Spectre Vulnerability問題で話題となった「Out-of-Order実行」を、プロセッサを支える技術 3章を読んでもう少し詳しく理解をしようと・・・

CPU由来の脆弱性情報(Meltdown and Spectre Vulnerability : CVE-2017-5753, CVE-2017-5754, CVE-2017-5715)
https://oss.sios.com/security/kernel-security-vulnerability-20180104_2

では、普段仕事で目にすることもないキーワードがいくつか出てきました。

その中の1つ「Out-of-Order実行」を「プロセッサを支える技術」の
3章で説明されているのを見つけたので、読んでいます。

プロセッサを支える技術 3章
P142 Out-of-Order実行のしくみ −−データハザードの影響を軽減する

・命令を書かれた順番に実行するのは、「In-Order」

・順番通りに実行しないのが
 「Out-of-Order実行」データハザードの影響を軽減する

「Out-of-Order実行」を行うために、
 Reservation Station 機構を用いる。

デコードユニット

↓解釈した命令

Reservation Station(命令種別)

▲逆依存性(Anti-dependency)の問題

対処方法
Rename処理

◎プロセッサを支える技術:円
プロセッサを支える技術  −−果てしなくスピードを追求する世界 (WEB+DB PRESS plus) -
プロセッサを支える技術  −−果てしなくスピードを追求する世界 (WEB+DB PRESS plus) -

◎CPUの創りかた:円
CPUの創りかた -
CPUの創りかた -
posted by アンドレアス at 00:28| Comment(0) | カーネルの仕組みを詳しく知るコマンド | このブログの読者になる | 更新情報をチェックする

2018年02月18日

カーネルをダウンロード後、拡張子「tar.xz」を解凍する@tarコマンドオプション Axzコマンド

おそらく2週間くらいすると、コマンドの記憶は
すっかり忘却の彼方へ・・・となりそうなので、
メモしておきます。

◆xz -dv linux-4.15.3.tar.xz
tar xvf linux-4.15.3.tar

◆tar xvJf xxx.tar.xz
大文字「J ジェイ」か。わからんな、これは、関係性が無いから

man tarすると以下の表示。

-J, --xz
filter the archive through xz


-j, --bzip2

◎Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus):円
Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus) -
Linuxシステムコール基本リファレンス ──OSを知る突破口 (WEB+DB PRESS plus) -

posted by アンドレアス at 23:35| Comment(0) | よく使うコマンド | このブログの読者になる | 更新情報をチェックする

2018年02月17日

早くも2018年のNo1書籍候補となる書籍を見つけました!「試して理解Linuxのしくみ」は説明が面倒な内容を分かりやすい図・難しくないプログラムを使い、手を動かす意識を持たせて理解させる素晴らしい書籍です。

いやー、驚きました!
てっきり、4月が近いから新入社員向けの初心者Linux本かと
思って、手に取り開いた瞬間、

おおっ!

という内容、図が目に入り、冒頭の「本書に寄せて」を読むと、
著者の武内さんは、富士通でソフトウェア系新人全員にOSの動作原理を教える仕事を
本業と並行して行っていた方、と知り、
なるほどー、どおりで、
この説明が難しい内容を、
一見して分かる「レベルの高い分かりやすい図」を
使いつつ、書けるんだな、と
理解した次第です!

間違いなくおススメの1冊です。


◎[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識:円
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 -
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 -

◎Linuxとpthreadsによる マルチスレッドプログラミング入門:円
Linuxとpthreadsによる マルチスレッドプログラミング入門 (プログラミング基礎講座) -
Linuxとpthreadsによる マルチスレッドプログラミング入門 (プログラミング基礎講座) -
posted by アンドレアス at 22:00| Comment(0) | C言語 | このブログの読者になる | 更新情報をチェックする

改訂版が発売されたので、一緒に買ってこよう=>[改訂第3版]C++ポケットリファレンス

後で、一緒に買ってきます。
トランジスタ技術も最新号、まだ買ってないから
合わせて買ってくるとしよう。

◎[改訂第3版]C++ポケットリファレンス:円
[改訂第3版]C++ポケットリファレンス (POCKET REFERENCE) -
[改訂第3版]C++ポケットリファレンス (POCKET REFERENCE) -

◎ロベールのC++入門講座:円
ロベールのC++入門講座 -
ロベールのC++入門講座 -
posted by アンドレアス at 09:33| Comment(0) | C++ | このブログの読者になる | 更新情報をチェックする