今日も微速転進

ここではないどこかへ

すごいプログラミング入門書が登場したかもしれない

f:id:atuyosi:20180622154230j:plain:w480

局所的にTwitterでかなり話題になっている本。

現時点では予約受付中で目次とサンプルページをベースで書いています。目次を見る限り、確かに基本的な内容中心。

コンセプト、アイディアの時点で素晴らしいのでサンプルページを見ただけで、 間違いなくすごい本だと判断できる。

他の分野の人には理解されないかもしれないけど、職業プログラマには思いつかない画期的アプローチ。

「ふりがなプログラミング」シリーズの概要

スラスラ読める Pythonふりがなプログラミング (ふりがなプログラミングシリーズ)

スラスラ読める Pythonふりがなプログラミング (ふりがなプログラミングシリーズ)

スラスラ読める JavaScript ふりがなプログラミング (ふりがなプログラミングシリーズ)

スラスラ読める JavaScript ふりがなプログラミング (ふりがなプログラミングシリーズ)

出版元:『ふりがなプログラミング』シリーズのご紹介 – リブロワークス – LibroWorks

制作したリブロワークスさんの解説は以下のとおり。

「ふりがなプログラミングってどういうこと?」と疑問を持たれる方が多いと思いますが、名前のとおり紙面のプログラム(ソースコード)に、日本語でふりがなを振った書籍です。

プログラムのソースコードにそのキーワードの意味をふりがな(ルビ)を書いて、さらにすべての行の日本語訳をのせるという画期的なアプローチのプログラミング入門書。

漢文の訓読+書き下し文、もしくは英文解釈の参考書をプログラミングの入門書に持ち込んできたイメージ。

プログラマには思いつかない発想。

行単位で番号を振ったりして説明する本はこれまでにもあったけど、この本はキーワード(単語)単位でふりがなとして、文字(列)の真上にそれが「何を意味するか」を記載している。

この「ふりがな」の面白いところはプログラマソースコードを読むときに頭の中で無意識にやっている変換・認識を文字として可視化しているところ。

やっていることは英語の学習書と似たようなことなんだけど、これはすごい。


6月22日まで期間限定でそれぞれChapter 1が読める(インプレスのWebサイト)。

内容的には初心者向けでオブジェクト志向の話は出てこなかったり、文字通り入門書。未経験者向け。

環境としてはJavascriptの方はエディタとしてAtom、実行環境としてGoogle ChromePythonの方はPython 3.xでPython付属のIDLEを使うことを前提にしている模様。WindowsだけでなくMacの場合に手順についても説明がある。

環境のセットアップをどうするかは入門書にとっては非常に悩ましいところ。

どこがすごいのか

  1. ソースコードに「ふりがな」をふるというアイデア
  2. 「読み下し文」としてのプログラムの日本語訳(全文訳)
  3. エラーメッセージの丁寧な解説

「ふりがな」でこれまでの(プログラミングの)入門書のジレンマ(後述)のひとつを解決。項目1と3で、(独学の)プログラミング入門者がつまずく原因をほぼ解決している。

ある程度英単語を知らないと英文をスラスラ読めないのと同じで、最低限の記号とキーワードを覚えないともソースコードスムーズに読めない。フラストレーションを感じずに 読める分、理解することにえねるぎーを集中できる。

また、「読み下し文」も地味にいい。これまでは基本的にプログラムの挙動を説明したり、ソースコードを掲載して解説することがメインだった。説明のための擬似言語を用いることはあっても全文訳はなかった。

大抵の本は上手くいく手順の説明が中心で、エラーメッセージを詳細に解読して説明するというアプローチは初めて見た。

大抵のプログラミングの本は間違えたときのやり直し手順は書いていない。正解ルートだけ。 この点、(英語の)エラーメッセージをきっちり解説している点は珍しい。

入門書のジレンマ

プログラミングに限らず大抵の専門分野の入門書は説明が前後したり、ページ数の関係で一度説明したことは省略されがち。何故かと言うと ページ数の都合で基礎的なことを何度も説明できないが、説明を省くと読む側の負担が増す。

あまりに丁寧に同じことを書くと読む側がうんざりする。なのでふつうは最初だけ丁寧に説明して、その後は必要に応じて前のページを参照させる方式。

どんなに文章で詳細に解説しても、読んだ直後は理解できても記号と概念の対応が脳に定着していない。よほど頭が良くないと数ページ進むと忘れてしまう。

そのせいで読んでいる最中に「これなんだっけ?」と止まってしまう。そこで前のページに戻って読み直さないといけない。

その点、ふりがな方式だと前のページに戻ったりする必要がない。おまけに視線の移動も最小限。 ページ数の増加もふりがなのサイズ次第で抑制できる。 ページ数や説明の順序といった出版側の都合と読者の理解しやすさのバランスというジレンマをきれいに解決している*1

そのほか

余談:プログラマソースコード

おそらくプログラミングを始めたばかりの状態だと頭でプログラミング言語の文法(構文)を思い出して、アルファベットと数字・記号の羅列を解読して、意識的に頭で考えて日本語に変換しながら考えて読でいる。
例えば「これはforというキーワードは繰り返しの開始で、ええっと繰り返し条件は……」、という感じ。

プログラマは(得意な言語なら)プログラミング言語のまま、意識的に変換せずに「あ、ループか。繰り返し条件は?」という感じで 頭の中の変換ステップが少ない。たぶん脳のワーキングメモリの消費が少ない。

普通に日本語の文章を読むとき文法を意識したりしないのと同じ感覚でプログラムのソースコードを読んでいる。

英語の得意な人がいちいち頭の中で日本語に変換せずに英語のまま理解しているという話とたぶん一緒*2

Twitter上の反応など

プログラマーがコードに対して持っている"認識"』というのがポイント。もうちょっとしっくりくる単語がないものか。認知ともちょっとちがうし。

プログラミングシーンというか、プログラミング教育かな。 学校教育でプログラミング、という時期にこういう本が出たのは大きいと思う。

まとめ

実は漢文の訓読という方法はすごいアイデアだったのかと。

とりあえず(初心者ではないけど)今後の展開への期待を込めてJavascript版を予約発注した。

面白い発想なのでぜひとも子供向けのプログラミング教材にも展開して欲しい。

学校のプログラミング教育にも広まって欲しいけど、書き下し文(日本語訳)からの連想で「次のプログラムを和訳せよ」とか「作者の気持ちを(略)」など、おかしなことを言い出さないかはちょっと心配。

数年後か数十年後に日本のプログラミング教育の歴史を振り返るときにエポックメイキングな本として参照されるのではないでしょうか。
いま確保してキープしておけば将来文献的な価値があったりするかも。

また、他の分野、特に数学の本とか化学式、楽譜とか応用の可能性は結構あるような気がします。

まだ実物を確認していないのでこの辺にしておきます。

*1:組版、校正の作業が大変なのかも

*2:よく知らないど、入試問題のようにいちいち「考えて」たら会話のテンポについていけない。

物流と労働を取り巻くパワーワードの宝庫(書評:『現代思想 2018年3月号』

いまは6月ですが……。
他所のブログ経由なので周回遅れです。6月ですが紹介しているのは2018年3月号。

現代思想という雑誌の感想です。

概要

現代思想 2018年3月号 特集=物流スタディーズ ―ヒトとモノの新しい付き合い方を考える―

現代思想 2018年3月号 特集=物流スタディーズ ―ヒトとモノの新しい付き合い方を考える―

別のブログから2段階ぐらい経由しているので最初に言及していたブログがわからない。

物流に関して、Amazonの話から移動スーパー、東北の産業、有機農産物の流通、それから運送業の現場の労働者の視点とか。

海外の物流・流通に関する話題が無い*1のを除けば非常に盛りだくさんの内容。

対談、インタビュー、寄稿?か論説だかよくわかりませんが書きぶりも様々。シャッター商店街問題についての記事もあります。

イロモノ記事としては太平洋戦争中の、日本軍占領下のインドネシアの物流を分析した記事とか。

しょうもない保守論客のお世辞記事とは段違いに有益で示唆に富んだ記事が満載です。ビジネスアイディアのヒントにもなると思います。

感想など

巻頭の対談記事目当てで買いました。Amazonに関する話題は特に目新しいとは思えず。ブログ記事経由で概要を知っていたのもありますが。 物を運ぶ代わりに設計データを送って3Dプリンタで製造、という話自体は既知のネタだったし。

移動中のトラックの車内で3Dプリントするという特許については初めて知りましたが。

面白かったのは2つ目の対談と、移動スーパーの方のインタビュー記事。

ユニクロ潜入記事の方の話は物流に限らず労働の話に飛躍していますが、これはこれで参考になりました。
請負という働き方にもいろいろあるという視点は有意義。

なお、物を送る代わりに3Dプリンタで製造っていう話は以下の本にガッツリ出ていたはず。どちらかという未来予想かな。

限界費用ゼロ社会 〈モノのインターネット〉と共有型経済の台頭

限界費用ゼロ社会 〈モノのインターネット〉と共有型経済の台頭

外国人の書いた分厚くて読みのが辛い本です。

キーワード

巻頭の対談記事については、このエントリの冒頭のリンク先で業界の方の見解があるのでそちらを参照。

  • コミュニティ最適化技術(p.14)
  • ソースマップ(p.16)
  • 地域経済分析システム(p.17)
  • Amazonもコンビニも「外部化されたストレージ」(p.18)
  • 台所が外部化されている(p.22)
  • 「物」は「情報」に遅れて遣ってくる(p.44)
  • 「おばあちゃんのコンセルジュ」(p.62)
  • 「偽装留学」(p.106)
  • 構想と実行の分離(p.110)
  • 考えない知的労働者(p.110)
  • 「忘れられた空間」(p.121)
  • 「時間・空間の圧縮」(p.124)
  • 「略奪農業」(p.155)
  • 「自殺的過程」(p.156)
  • エコロジカル帝国主義(p.156)

Amazonの北米物流施設の総床面積と日本のコンビニの総床面積がほぼ同じ、らしい。

紹介されているサービスなど

あとは省略。力尽きた。

読みながら考えたことなど

あくまでも個人の見解です。

再配達問題

有料化に賛成。再配達に追加料金が必要になるとすれば、宅配ボックスの普及につながる。

1回目の再発はタダにして、2回目から有料でもいいかも。

労働組合についての私見

  • まず組合費の給与天引きを禁止すべき
  • 産業別、職業別の組合が必要
  • 一つの会社に最低二つの異なる組合

労働組合のない会社は法人税上乗せ、ぐらいアグレッシブにいく必要があると思いますね。

通販の問題と買い物難民の話

便利だからといって通販に頼ると、地域の小売業がますます廃れるというのはそのとおり。だけど末端消費者に流通インフラの意地の責任があるか、というのは疑問。商店街や駅前が栄えている必然性はないし、人口密度の低い地域に人が住む必然性もない。買い物が不便なら引っ越してもいいはず。

過疎地域からの引越し費用を援助するという解決策もあるし、過疎化対策なら住民税を人口密度に比例させるとか、本気で是正する気があるならやりようはあるはず。

いずれは過疎化して人工のボリューム自体が小さくなると移動販売も採算が取れなくなるだろうと思う。それに平日と休日、あるいは繁忙期かどうかで生活拠点が違うというパターンもあり得るし。

利便性やお金の匂いに合わせて定住せずに移動を繰り返すライフスタイルも断然あり。

まとめ

めったに買わないような雑誌を実物を見ずに買うのはギャンブルだった訳だけど、この号に関してはなかなか面白かった。

お目当ての対談とは別の対談とインタビュー記事のほうだったけど。

コンピューター関連の本と雑誌ばっかりだと良くないなと思う。ただ、政治系の話題はアイディアはあっても実行力がないので義憤にかられるだけであまり益がない気もしている。

儲けのしくみ──50万円からできるビジネスモデル50

儲けのしくみ──50万円からできるビジネスモデル50

補給戦―何が勝敗を決定するのか (中公文庫BIBLIO)

補給戦―何が勝敗を決定するのか (中公文庫BIBLIO)

  • 作者: マーチン・ファンクレフェルト,Martin van Creveld,佐藤佐三郎
  • 出版社/メーカー: 中央公論新社
  • 発売日: 2006/05/01
  • メディア: 文庫
  • 購入: 24人 クリック: 232回
  • この商品を含むブログ (75件) を見る

*1:Amazonや一部の欧米企業にに関する言及は何箇所かありますが

話題のレシート1枚10円アプリについて

普通に個人情報ホイホイかと思ったけど、よく考えたら面白いかも。

なんの話?

nlab.itmedia.co.jp

www.itmedia.co.jp

(おそらく裕福な家庭環境の)高校生*1が起業して、レシートの画像を一枚10円で買い取るというサービス(iOSアプリ)をリリースしたという話。

高校生で会社をつくる、というのは大人のバックアップがないと無理だし、貧困家庭でバイトに明け暮れていても無理。そういう意味で 高校生社長といってもてはやすのはどうかと思う。

本人は大学を卒業するまで待てなかったのかな、とも思うけど、年齢をアピール材料にするのはちょっと下策と思う*2

そもそも、レシートをポイント化するアプリなるものが存在するのね……。

起業のファイナンス増補改訂版

起業のファイナンス増補改訂版

思ったこと

  • どこのOCRエンジン使ってんの?
  • 背景とレシートの分離方式は?
  • どうせなら家計簿機能もセットにすれば...
  • 個人情報の扱いは?

以上が個人的におもったこと。ついでにいうと、最近のレシートって店員さんの氏名(後述)が入っているよね……。

レシートと販売データ

製造側は誰が購入しているのか詳細は知らないだろうし、小売は小売で自分たちが扱っている商品のことしか知らない。なので購買履歴のような 情報にニーズはあるんだろうと思う。

それはそうだけど、1枚10円、一日10枚で100円、月3000円、年3万6千円のためにちまちまと(本人とは限らない)レシートをこつこつとカメラで撮影するユーザーってどんな人たちか、かなり微妙だろうと思う。

1日100円のためにレシートを集めて、口座情報その他の個人情報まで差し出すってのはリテラシー的にかなり微妙な層では?

どんな年齢層がどこでいつ何をどういう組み合わせでってのは企業側は欲しがるかもしれないけど、ユーザー層が偏りすぎだと思う。

あえてあまり金銭的に余裕のない(おそらく比較的若いであろう)ユーザー層の情報を集めてます、というならありかもしれない。

実物で試したわけではないので、どういう規約か知らないけど、はっきりユーザーに、「あなたの消費パターンを教えてくださいっ!!」って直球勝負で はっきり「あなたの情報売ります」って宣言するならいいと思う。勝手にやってくれ。

ただ、振込手数料をサービス料とか言って徴収するのはどうかと思う。何そのデータ装備費みたいなの?

開発の経緯位のインタビュー記事の、人によって物の価値はそれぞれで云々ってのはそのとおりだと思うし、一種のアービトラージの話かな。

www.itmedia.co.jp

面白いと思ったネット上の反応

Twitterを見ていたらもう少し踏み込んだ見解を見つけたのでもう少し考えてみる。

個人情報、購買履歴でなかったら何が目的だろう。目先の利益に飛びつくユーザー層の情報とか?

このアプリ、実物を試していない*3のでわからないが、位置情報まで取ってるとか?

GPSを使わなくてもレシート画像から撮影したスマートフォンの機種と位置情報はとれるか。

なんだろう、10円という目先の利益のために個人情報*4を差し出せる人の分布?

アプリの存在を知っていて、小遣い稼ぎがしたいiOSユーザーのあるいは家族の情報かな。

家族のレシートを母親がまとめてってパターンはありそう。そういう観点では面白いね、これ。

使いたいとは思わないけど。

個人情報の観点ではもう一点。レシートに記載されている担当した店員さんの氏名。

とりあえずレシートにレジ打ちした店員さんの氏名をいれるのはいいかげんやめたらどうかと思う。名字ですら珍しい名字の人がいるし。

フルネームは特にまずい。ゲームとかファンタジーの真名じゃないけど。

店舗の番号と、個人のID番号でいいでしょ。

まとめ

そもそも家計簿サービスによってはレシート読み取り機能があるので横断的な購買履歴データを持っているよね。他社に提供するかはともかく、分析自体はやろうと思えばできる状況にあるのか。

この手のアプリ、技術的にどうなっているのかは興味があるし、似たようなアプリを作るための要素技術の調査的なことはやろうかな。


世の中、変なことを始める人間のおかげで意外と退屈しないというかなんというか。

本気ではじめるiPhoneアプリ作り Xcode 9.x+Swift 4.x対応 (「ヤフー黒帯」シリーズ)

本気ではじめるiPhoneアプリ作り Xcode 9.x+Swift 4.x対応 (「ヤフー黒帯」シリーズ)

現場のためのSwift4 Swift4.1+Xcode9.3対応

現場のためのSwift4 Swift4.1+Xcode9.3対応

*1:プログラミングコンテストで賞をとった?

*2:特に採用時。わざわざ高校生の下で働きたいと思う?

*3:いま手元に iOSデバイスがない

*4:銀行口座と本人確認のための身分証提出が必要らしい

書評:『インターフェイスデザインの心理学』

ざっくり書評。対象は『インターフェイスデザインの心理学』。

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針

  • 作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/07/14
  • メディア: 大型本
  • 購入: 36人 クリック: 751回
  • この商品を含むブログ (31件) を見る

オライリーなのにカラーという異質な本。

合計100のトピックが、10章に分けられて収録されている。概ね各トピックが独立しているので、興味のあるトピックを選んで読むことができるタイプの本。 最初から最後まで順番に読む必要はない。

前半は見た目に関する話題が中心で、後半は行動パターンに関する話題が中心。どちらも過去の研究事例を紹介するなど、ちゃんと根拠を示している。

目の動き、脳の働きといった理論・実験による裏付けがあるところが特徴。デザインに関する都市伝説に対してちゃんと検証して、ものによってははっきり否定している。サッカードとかダンバー数とか知っているキーワードもいくつかあったが、後半は知らないテーマが多かった。

期待した内容とはちょっとちがったが、いい意味で期待を裏切られた。

個人的には人間が文章、文字を認識するときの目の動きとか、デザインそのものとちょっとずれた内容が参考になった。


図書館で読んだ本だけど、紙媒体版を買って手元においておくのも良さそう。


以下、関連書籍。

続・インタフェースデザインの心理学 ─ウェブやアプリに新たな視点をもたらす+100の指針

続・インタフェースデザインの心理学 ─ウェブやアプリに新たな視点をもたらす+100の指針

誰のためのデザイン? 増補・改訂版 ―認知科学者のデザイン原論

誰のためのデザイン? 増補・改訂版 ―認知科学者のデザイン原論

Adsense に関する備忘録

リンクとか諸々。備忘録です。

公式ヘルプ

support.google.com

基本はここ。

ヘルプフォーラム

productforums.google.com

トラブルなど、困ったとき用。

AdSenseのタグの修正

support.google.com

公式ドキュメント言及している範囲については問題ない。

ツール

Adsense用の表示確認ツール。これをインストールした状態でGoogleのアカウントにログインしているとAnalyticsにカウントされなくなる。

chrome.google.com

Google ChromeおよびVivaldi用。この拡張機能を有効にした状態で、Adsenseの広告タグを貼り付けたページにアクセスすると、広告の表示領域が強調表示される。広告エリアをクリックすると表示されている広告に関するパフォーマンス情報のページが(別ウィンドウで)表示される。

レスポンシブ形式タグの表示領域サイズの調整

読み込みタイミングの関係か、外部CSSでAdsenseのタグを囲むタグ(例えばdivタグとか)でサイズを指定してもスルーされてしまう。

CSSのメディアクエリでサイズ調整や表示・非表示を切り替える場合もAdsenseタグの直上に<style>タグを書くほうが確実。

ヘルプによると外部CSSによる表示サイズの変更は「正式にはサポートされていない」らしい。ブラウザの実装次第、ということらしい。

support.google.com

参考:Google Adsense のレスポンシブ広告ユニットで、横長の広告のみを表示する方法 | R

AMP対応版

support.google.com

普通のページにこのAMP対応版のタグを貼り付けたらどうなるんだろう?

クロールエラー対策

Adsense側の設定で除外する方法は見つけられず。結局、JavascriptでURLをチェックするしかないっぽい。

以下、実装している方の例。流石にここまでしなくてもいいかという感じがする。

www.clrmemory.com


おしまい。

元Google AdSense担当が教える 本当に稼げるGoogle AdSense 収益・集客が1.5倍UPするプロの技60

元Google AdSense担当が教える 本当に稼げるGoogle AdSense 収益・集客が1.5倍UPするプロの技60

Google AdSense 成功の法則 57

Google AdSense 成功の法則 57

広告