memorandums

日々のメモです。

texファイルを変換してkindleで読む

「xv6、なにそれ?」。。。という状況なのですが、今さらながら勉強してみたいな、と(深追いするつもりはありませんが)

勉強素材としては以下が有名とのこと。先人の教えに従います。

6.828 / Fall 2017

講義ページです。MITでは長らくOSを教える授業がなかったそうですが、2002年に作られた講義とか。講義は以下の書籍をベースにしているとページに書かれていました。訳本もあるのですが絶版みたいです。。。

Lions’ Commentary on UNIX (Ascii books)

Lions’ Commentary on UNIX (Ascii books)

なお、講義ページから教科書がDLできます。

どちらを先に読むべきか。。。迷いますが、やはり歴史の順にやったほうがいいような気がします。紙は絶版ですが、texが公開されています。ありがたい。

texの他、pdfも入っていますが。。。iPadなど大きめのタブレットを持ち歩かないと。。。読めそうにありません。スマホでは無理。で、Kindle版にできないかと。

TEXファイルをKindleで読むには。。。どうやるんだろう?と調べてみるとこちらのエントリーが見つかりました。tex4htというやつを使うとか。このエントリーを読んだものの使い方がよくわからない。。。あれこれやっているうちにhtmlファイルはできるものの今一つ。

pandocってやつを使うとtexからhtmlに変換できるらしいので、brewでインストールして実行してみたものの目次はないし図が崩れて今ひとつ。

調べると、tex4htより、latexmlってやつの方が変換精度がいいとか。で、これもbrewでいれて使ってみました。

brew install latexml

使い方は以下のような感じ。こちらのドキュメントに書いてあります。一旦XMLにしてからHTMLに変換する2段階になります。

latexml --dest=mydoc.xml mydoc
latexmlpost --dest=somewhere/mydoc.html mydoc.xml 

できたHTMLをみると確かに精度がいい。図も崩れることなく綺麗に再現されています。

で、pandocをインストールしてhtmlをmobiにしてみると。。。

brew install pandoc

図の罫線が消えてしまう。。。calibreでも変換してみましたが、今ひとつでした。。。とりあえず読めなくはないので。PDFを参照しながら補完するか、紙の本を買うべきでしょうね。。。

ちなみに、上記の講義サイトにある教科書の方ですが、こちらも残念ながらPDFしかありません。。。texなどは公開されていませんでした。。。と思ったらGithubでmobiファイルがなぜか公開されていました。ありがたや。

GitHub - tocynics56/xv6-work: convert xv6 book to epub

とりあえず、両方のtexファイルをkindleに転送して、読んでいきましょう。。。ちなみに上記の講義サイトにはOSを勉強するための様々なリンクがありました。これも参考にしながらですね。

普通救命講習でした。

来週から新年度がスタートですが、今月はまさにその準備期間でした。

授業準備、研究、最新技術動向の調査などなど。教員は長期休みがあっていいね。。。と言われるものですが、(講義がないので拘束時間は確かにありませんが)、暇ではないですね。

そんな今日はタイトルの通りの講習会が午前中にありまして学内で受講しました。講師は近隣の消防署の方でした。

心停止はいつ発生するかわかりません。

倒れた人がいて、実際に行動できるかは。。。自信はありませんが、まずは、大切な家族が倒れたときに救うことができる、そのあたりが動機でした。

講習では、以下のテキストが配布されて、順を追って説明してくださいました。

【消防・防災/応急手当講習テキスト】東京法令出版

まず、救急車が呼ばれる実体の話でした。10万人あたり5台。5万人増えるごとに1台ずつ追加なんだそうです。意外なくらい少ないと思いません?

救急車が現場に到着するまでの平均時間は8分なんだそうです。もし、119番したあとに、救急車が到着するまでの間に救命処置がなされれば、助かる(社会復帰ができる)率が高まるのだそうです。

胸骨圧迫、人工呼吸、そしてAEDを交えての処置方法を学びました。

ちなみに、調べてみると以下のようなWeb講習動画がありました。私が説明を受けた内容とほとんど同じでした。観るだけではなかなか実際にはできないと思いますが、知らないよりは知ってた方がご家族・ご友人のためになることがあるかも?

一般市民向け 応急手当WEB講習

せっかく受講したので、とりあえずメモをまとめておきます。自分のためです。手順などは上記の動画を見て頂いたほうが正確だと思います。

  • 救急車には限りがあるので、もし迷ったら福岡県救急電話相談「#7119」または「092-471-0099」にかけてください。他県はわかりません。。。
  • まず、倒れている人の周囲の安全を確認することが大事とのことです。もし危険な場所で助けに行った人が怪我するような状況はまずいので、その場合は助けないで救急車を呼ぶようにしましょう、とのことです。
  • 周囲に人がいれば大声で呼び、119番(場所、倒れている人の年齢・性別)してもらう人、AEDを持ってきてもらう人を依頼する。
  • 胸部圧迫は100〜120BPMくらいの速さ(アンパンマンマーチ?)で5cmくらい(乾電池)押し込む。30回押して2回人工呼吸。気道確保し鼻を押さえて吹き込む。折れてしまうのを心配して押せないと本来の目的である血液循環を促せないので押す。救急の方でも胸骨が折れてしまう場合があるとか。それでも押す。骨折より命が大切ということ。流血している場合も胸部圧迫はする。
  • 胸部圧迫は非常に体力を使う。人工呼吸している間に周囲の人は積極的に交代する。
  • 嘔吐や流血している場合は感染症などが問題になるため、躊躇われる場合は人工呼吸はなしでよい。胸部圧迫のみでよい。とにかく救急車が到着し救命士の方に代わるまで胸部圧迫を続けることが大切。
  • AEDが到着したら取り付ける(AEDに成人・子供のモードがあってどちらか迷う場合は大人のモードでよい)。
  • AEDを取り付けている最中も、とにかく胸部圧迫を続けること。2分ごとにAEDが測定し電気ショックを与えるかどうかを音声ガイダンスしてくれる。そのガイドに従うこと。倒れている人が濡れている場合は拭き取る。
  • 心停止(心電図がピーっとなっている例のやつ)したのを見て、医師らが電気ショックをかけているシーンを映画やドラマでみかけますがあれはまったくのデマだとか。。。おいおい。心停止している状態ではAEDは無意味(作動しない)。←これまじショックでした。。。命に関わるような大事な情報なのに誤解を招く描写はほんとやめるべきだと思う。。。

以上です。



<ちょっと補足>

これ書いたあと、ぐぐってみると専門家や実務の方がいろいろと書かれた記事がありました。心停止ではなく心静止というらしいですね。なぜドラマではああいった描写になってしまったのだろう?不思議だなぁ。医療関係者の方はあのシーンをみて「ないない」って仰っているんでしょうね。

以下の記事にも書かれていました。

AEDによる電気ショックが必要なときとは??? | 東海警備保障AED特設サイト

③心静止(しんせいし)
ポンプ=心臓に全く動きはありません。この場合、電気ショックは有効ではありません。
テレビドラマで心電図が横線一本で表されているシーンをご覧になったことがありませんか?あれが心静止の状態です。

iPad Proのハードキーボードで "(0x22)と '(0x27)の入力ができない

Paiza Cloudというサービスを試していたときのことです。

PaizaCloud Cloud IDE - Browser-based web development environment for Ruby on Rails, PHP, Java, Django, Node.js...

たまたま手元にあったiPad Proでアクセスして、簡単なRubyコードを書いて実行しようとしましたら。。。なぜかエラー。。。

原因はiPad Proの(ハード)キーボードで入力したダブルクォーテーションマークやシングルクォーテーションマークがプログラムコードで使う文字とは異なる文字だった。。。のでした。

iPhoneを使っていたときに体験済みだったような気もしましたが忘れました。

一応、書きます。

Rubyで認識される正しいクォーテーションマークは下図の赤丸になります。しかし、ソフトウェアキーボードでもハードウェアキーボードでもその左隣の一番最初の候補が入力されるようで、これが見た目は似ているけど別の文字。。。のため区切り記号として不適切なためエラーになる。。。ということでした。

しかも、ソフトウェアキーボードであれば「長押し」すれば、このような入力文字の選択も可能ですが、ハードキーボードでは選択肢が表示されないため不可です。

f:id:ke_takahashi:20180321105046p:plain

f:id:ke_takahashi:20180321105048p:plain

カフェなんかで、iPadを開いて、こうしたクラウドサービスにブラウザからログインして開発や課題をやる。。。って普通にできそうですが、iPadに関しては無理なようです。。。

キーボードに関してはマッピングするアプリがあればいいのかもしれませんが。。。見つけられませんでした。

ちなみに、その後、Paiza Cloudでちょっと遊んでみました。

f:id:ke_takahashi:20180321105520p:plain

Cloud9とは、いい意味で違い、UIがとてもシンプル、日本語だし。マルチウィンドウやサーバー起動時のブラウザっぽいアイコンも最初は違和感がありましたが、慣れるとシンプルでいい感じです。

まさに、このサービスの狙い通り、このサービスがあれば、どこでも開発系のセミナーや講習会が開けると思います。

ただ。。。無料プランでは、インスタンスが24時間しか保存されない。。。ので、連続回のセミナーには使えないですね。。。これらのプランは個人利用を前提としたあくまでお試しプランという感じです。

学校やブートキャンプなどの利用を検討している場合は別途ご相談ください、と書かれています。

演習で使う場合は、最低限、半年(欲を言えば入学から卒業まで3,4年とか)はインスタンスを保持して欲しいですし、ユーザー登録は面倒なのでバルク登録できると嬉しいですし、それで校費支払いが簡単だといいな。。。と思います。

<追記>

iPadを英語モードにすると入力できるかな。。。と思ったけどダメでした。ちなみにChromeでは動作するけどFirefoxではログインできなかった。。。そもそもiPadで使うことは考えていないのかな。

<さらに追記>

即日、以下のような対応をしていただいたとのことです。素晴らしいスピード。昨夜、ちょっと使ってみたのですが、日本語と英語モードが切り替わってうまく入力できませんでした。。。iPadのせいなんだと思いますが。。。よくわかりません。

オライリー本の電子書籍をオライリーで買わない理由が見つからない

■ながーーーい前置き

とあるポッドキャストのゲストさんが「30日でできる! OS自作入門を小5で読んだ」というなんとも驚愕な話を耳にしました。ちなみにそのポッドキャストこちらになります。世の中凄い人がいるもので。。。

ちなみにそれはこの本です。

一時期、コンパイラやコンピュータを自作しようという本を見かける時期がありました。単純に面白そうと思い、上記の本なんかも購入して少しだけかじったことがありました。途中で挫折しましたけどね。。。細かすぎて。。。

で、今になって、いろいろと調べると、CPUを作るとか、OSを作るとか、コンピュータ自体を作るとか、定番の本がいろいろとあるようで、それらを眺めているうちに、基本に立ち返りたい熱?(どういう熱やねん。。。)が再燃してきたわけです。

卒業研究では、VRやARがどうとか、IoTでこんなことができるとか、ファブでこんな工作ができるとか、JSやWebフレームワーク(もうついていけないくらいわんさか出て来る。。。)、興味が湧けば専門度外視で飛びついてきたわけです。

そんな急流の中でも、コンピュータの基本って変わらないですよね。。。いや、知らないですけど先進的な技術はソフトウェアと同様に日進月歩とは思いますけど、基本的なところは変わらないですよね。。。ということです。

コンピュータの基礎は知識として学ぶ科目はありますが、プログラミング以外は実践する科目がありません。以前は論理回路や計算機アーキテクチャに関する科目があったのですが、メディア系とかデータサイエンス系の科目が増えた関係で消えまして。。。機会がなくなったわけです。

基礎って社会人になって勉強するのはシンドイですし、学生のうちこそやっておくべきことなんだろうな。。。と。

本学科には各学年に担任が担当する少人数科目がありまして、2年生向けの科目でそうしたことをやってみようと思い立ったわけです。

ちなみに、昨年はenchant.jsとmonacaを利用したスマホゲームアプリ開発でした。こういうテーマはエンジニアリングというよりデザインやそれに関連したセンスも要求されます。学生自身にやる気がないと始まりません。

で、よい教科書はないものかと探したら以下の書籍を知りました。もともと大学での講義で使われていたらしく、授業用としてもぴったりです。

コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方

コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方

で、いつものようにAmazon.co.jpで購入しようと思ったらkindle版がない。。。うーん。しかたがないので博多駅丸善で中身を確認してリアル書籍を購入しました。

高いですけど、学生にも教科書としてこの本を買わせようと思っていました。それくらいやる気がないと身も入らないでしょうし。

ここまでが昨日の話です。


■やっと本題

たまたまオライリーのページを見ていたら。。。ebookがあったんですね。この本の。

www.oreilly.co.jp

しかも、リアル本は3,888円ですが、ebookは3,110円です。21%引き。。。

ebookの形式として、epub、mobi、pdfの3種類をダウンロードできます。mobiであればsend to kindleで端末に送ることもできます(早速やりました)。

しかもDRMフリー。。。

paypalかクレカで支払いできます。

もう、オライリーで買わない理由が見つかりません。。。

卒業式でした

いい天気でした。

f:id:ke_takahashi:20180314104910j:plain

ゼミ室でささやかな会を開きました。それぞれのこれからを聞きました。

まさにこれからですね。どんな人生になるのか、誰にもわかりません。ワクワクです。みんな、元気で。

PowerPointのスライドをPDF化したときにハイパーリンクを消したい、できれば一括で。

講義資料をPDFで配布するときに、参考情報としてハイパーリンクを埋め込むことがあります。

ただし、解答などは講義ではリンクを保持したいものの、配布資料からは除外したい場合があります。

ちなみに、ここではMacのOffice2016を使ってのことになります。Windowsでも基本は同じと思いますが。。。確かめていません。

解決するまでの道筋を書いてみます。

(1)隠し文字的な方法

Macでは(アプリ側でPDF出力の機能を持っていなくても)標準でPDFとして保存する機能があります。ですので、印刷するとき(PDF化するとき)に、表示はされているけど印刷されないようなことができればいいな。。。と思い、Wordにある隠し文字がないか。。。と思ったのですがありません。オブジェクト埋め込みでWordオブジェクトを埋め込んでみようかと思いましたが。。。なぜかWord2016には隠し文字がありません。WindowsのWord2016でやってみましたがなぜかパワポに埋め込んだときにうまく表示されませんでした。終了。。。

(2)Acrobatで何とかする

PDF化したファイルをAcrobatで読み込み、リンクを削除することができます。[ツール]-[高度な編集]-[リンクツール]を選択し、ハイパーリンク上にカーソルを合わせると、個別に削除できます。さらに、[アドバンスト]-[文書処理]-[すべてのリンクを削除]を選択すると、ページ指定あるいは全ページのハイパーリンクを一括で削除できます。とりあえずこれで解決できます。

(3)Acrobatがない場合、オンラインツールを利用する

以下のURLにアクセスし、PDF化したファイルをドラッグ&ドロップすると、Acrobatのような機能をブラウザで使用できます。ここでハイパーリンクを削除することができます。便利ですね。

PDFescape - Free PDF Editor & Free PDF Form Filler

ということで、とりあえず上記の(2)か(3)で表題の問題は解決します。

さて、実際にやってみると。。。ちょっと変な動作をしましたので、ちょっと書いておきます。

何が変か?

パワポ(PowerPoint2016)で印刷しPDF化します。1スライド/1枚だとハイパーリンクがつきます。しかし、Nスライド/1枚で印刷するとなぜかハイパーリンクがPDF化されません。。。仕様でしょうか?

受講生がPDFを印刷するときにまとめて印刷せずに膨大に紙出力されるのを防ぐ目的で、だいたい9スライドを1ページにしてきました。なので、パワポの印刷機能ではリンクがつけられないことになります。。。「消したい」と思っていたはずが、いつのまにやら「消さないで欲しい」に変わってしまいました。。。

試しに、パワポで1スライド/枚でPDF化して、MacのプレビューでそのPDFファイルを開いてNスライド印刷すると。。。これまたハイパーリンクが消えてしまいました。これはOfficeというよりMacのプレビューの仕様のような気がしてきます。。。

そんなこんなをしているうちに以下のサービスを発見しました。これはオンライン上でPPTXをPDFに変換してくれるサービスで、Nスライドを1枚にまとめて印刷する機能もついています。試してみるとハイパーリンクがちゃんと保持されました。

Online PDF Converter - Merge, compress & unlock PDF files

ということで。。。もし、真面目にやると。。。以下のようなフローになります。

  1. PowerPoint2016でスライドを作成する。
  2. PPTXをこのサービスでPDF化する。このとき9スライド/1枚を選択する。
  3. 変換されてダウンロードしたPDFをAcrobatもしくはこのサービスで編集して、ハイパーリンクを削除する。

まぁ。。。面倒ですが、年に1回あるかないかの作業なので許容範囲かと思います。

実際には、最近のスマホは高解像度で大画面で、タブレットやPCを持ち込んでいる学生も増えてきていますから、Nスライドよりは、1スライド/1枚でPDF出力して、ハイパーリンクを削除する。。。の方がいいのでしょうね。

とりあえずメモでした。

Amazon.co.jpから注文していない商品の注文メールが。。。

タイトルの通りです。

昨日、私のGmailのアドレス宛にAmazon.co.jpから、購入した覚えのない商品の注文確認メールが来ました。

送信先をみると、私のメアドからピリオッドを抜いたものでした。

例えば、私のメアドが aaaaa.bbbbb@gmail.com だとすると、aaaaabbbbb@gmail.com というアドレス宛に送られてきた注文確認メールでした。

以前にも似たようなこと(下記)があり、Gmailのピリオッドの扱い(無視するという)を知っていました。

JSPORTSオンデマンド(不明な会員登録完了と商品購入完了メールが届いた) - memorandums

また、誰かがタイプミスしたんだな。。。と思い、そのメールは削除しました。

本日、今度は、発送完了メールが、同じくAmazon.co.jpから送られてきました。

発注情報はメールにも記載されているので(ちなみに私と同姓同名、ただし漢字は違う)、調べてみると実在する方(結構、有名な方らしい)。発注したのにメールが届かないことに不審に思わないかな。。。と直接連絡してみようかと思いましたが違和感も。

Amazon.co.jp に問い合わせてみればいいのでは?と思い、探してみるとありました。問い合わせ先が。「amazon.co.jp 問い合わせ先」でぐぐれば出てきまます。

問い合わせ内容を選択すると「チャット」でのやりとりになりました。ちなみに、内容によってはメール、電話という選択肢も出てきます。SNS系の企業では問い合わせはほとんど応じていないのですが、さすがリアルなモノを販売している会社だけに安心感があります。

チャットで5,6往復のやりとりをして、Amazon.co.jpから今回の発端である発注者に連絡する、という対処になりました。

そういえば、最近はこなくなりましたが、自宅に番号間違いの発注FAXがくることがありました。送った本人は発注しているつもりでしょうけど、当然、されないわけです。それを思い出しました。

Gmailのアドレスの仕様は以下の通りです。

support.google.com

なりすましではないようです。また、私のアドレスからピリオッドを無くしたアドレスが登録可能だったわけでもないようです。

やはり、間違えて入力した結果、Gmailの仕様として、ピリオッドを削除したメアドに送信されてしまうということです。

例えば、aaaaa.bbbbb.1@gmail.com がその方のGmailアドレスだとして、たまたまタイプミスで 1 を入れ忘れてしまった。すると、aaaaa.bbbbb.@gmail.com となり、Gmailはピリオッドを削除するので aaaaabbbbb@gmail.com 宛にメールが送信されてしまう。。。ということです。

今回の場合、実害はありません。

その方の注文内容を示すAmazon.co.jpのページが見れますが、実際に内容を確認するには、その方のアドレスとパスワード(場合によっては2段階)でAmazon.co.jpにログインしなければならないので、当然見れませんし、変更もできません。

でも、ちょっと不思議なのは、Amazon.co.jpのメールアドレスって本人確認して登録するはずで。。。一旦登録したら間違えるタイミングは無いような気がするのですが。。。発注ごとにメールアドレスを入力するのであれば別ですが。。。どうやって間違えたのか。。。まぁ、どうでもいいですね。

こんな間違いは全国あちこちにありそう。。。発注ボタンを押す前にメールアドレスの存在確認をすべきでしょうけど、そうすると発注ボタンを押すまでにステップが増えるので購入させたいAmazonとしては損になる。。。最悪、間違えたとしても、個人情報ではあるけど実害はあまりない。。。そんな設計上の判断が垣間見えます。

とりあえずメモです。