PyCon mini Hiroshima 2019 のサイト制作

2019年10月12日(土曜)に PyCon mini Hiroshima 2019 を開催しました。

イベント自体については別の場で報告を書こうと思っていますが、チームから「ウェブサイト構築の話を共有してほしい」という意見があったので、忘れないうちに、まずここに書いておきます。

hiroshima.pycon.jp は2015から2016にかけては GitHub Pages で私が自分で作りました。

2018 からは参加費をいただくイベントとして開催することに決めて、専門家に制作をお願いして、WordPress で構築されました。
(現在は静的サイトに変換して残しています)

2019 では、もっと自分たちでコントロールしながら制作したいと考えて、Next.js を使いました。

さいわいチームにはコーディングもデザインもやっていただける Nyoho さんがおられて、私は作業をチェックして本番環境にデプロイする、という立場になりました。

今年の PyCon mini Hiroshima チームは GitHub のプライベートリポジトリを作りました。
ウェブサイトのソースコードを Git で管理し、ウェブサイト制作のタスクも、それ以外のタスクも、すべてこのリポジトリの issues として管理しました。

日程だけを告知する私の仮サイト(BootStrap Studioで作成)を、Next.js のサイトに置き換えていく作業は、6月ごろ始まりました。
リダイレクトに必要な nginx の設定をリポジトリに含める提案があり、それを私が pytest と requests でテスト駆動しながら導入する、というのを(すごい広島 with Python のネタにしながら)やったのが6月下旬。

7月上旬には、プルリクエストごとにプレビュー用の Web アプリのビルドが行われるようになり、本番環境を更新する前に、ブラウザでレビューが行える体制が整いました。

このころから、私自身は node.js で React のコードを触るのをやめて、逆に本番環境へのマージの権限は私だけが持つことにして、レビューアーに徹することにしました。

7月末に Nyoho さんが SVG アニメーションで動くヒーロー画像を制作したあたりから、私は、いろいろな環境に配慮したアクセシブルなサイトであることをレビューするようになりました。

残念ながら SVG アニメーションは最後まで IE11 や Microsoft Edge では動かせなかったのですが、かわりに動かないタイトル文字を出してもらうようにしました。
このやりとりの中で、Next.js を使いながらアクセシビリティを確保できそうだ、という見通しが得られました。

やがて、スクリーンリーダーの利用者が適切に操作・閲覧できることを、私自身が「NVDA でアクセシビリティの検証をするディレクター」の立場で行うようになりました。

ページが複数になったときには、タイトルをページごとに変えてもらうようにしました。

アニメーションの機種依存振り分けの議論の途中で、 CSS で display:none するとスクリーンリーダーから読み取れなくなることを紹介すると、そうだったのかと驚かれました。

「日時」や「会場」などの情報を h2 や h3 などの見出しレベルにどう割り当てたらよいのか、あるいは見出し要素に情報そのものを入れてしまっていいのか、といったことも議論しました。

例えば「日時」という見出しがあって、その真下に「10月12日」と書いてあるのと、見出しそのものが「10月12日」になっているのは、どちらがうれしいだろうか。

スクリーンリーダーの「見出しジャンプ」という機能を紹介すると、「じゃあ見出しに情報が入っていたほうが効率的だね」という議論になりました。

一方で「日時」というテキストをスクリーンリーダー利用者にだけ読めるように提示する、というテクニックはどうだろう。
いわゆる sr-only クラスのような実装はあるけれど、想定外の閲覧環境で(例えば -10000px の位置指定が)どうなるかわからないし、みんなが同じコンテンツを読むほうがよいのではないか、と私はアドバイスしました。

テキストの表記についても、「10:00~」はちょっと不安。「10:00開始」はよさそう。「10時00分開始」はさらに安全。

けれど、このあたりの読み上げはユーザーエージェントに依存しているし、読み手は 10:00 を時刻だと解釈できる可能性は高い、などなど。

一方で IE や Edge でレンダリングが崩れる、といった指摘、機種依存文字の指摘、などもありました。

プレビュー Web アプリのおかげで、効率的に検証することができました。

ですが、Nyoho さんもご多忙だったので、実際に解決したい課題がすべてクリアできたのは、イベントの前日の夕方でした。

この話には Python の要素がほとんどないのですが、今回の一連の作業を通じて、PyCon mini Hiroshima チームの中で「アクセシビリティ、こんな風にやっていくんだなあ」という感覚を共有できたこと、私自身も「アクセシビリティやっていき勢」としての活動ができたことを、ちょっぴりうれしく感じています。

今回のイベントにスクリーンリーダーユーザーが参加してくださったわけではなく、リアルなフィードバックをいただくのもまだこれからの課題です。

このチームの経験を、次回の PyCon mini Hiroshima で、かどうかはわかりませんが、どこかで活かしたいと思っています。

PCNひろしま 第15回終了

写真 IchigoSoda + 音センサー + サーボモーターの配線

5月26日にPCNひろしま第15回を開催しました。

申し込みされていた経験者枠・入門者枠の方がいずれもキャンセルされたのですが、集まったスタッフ枠と見学枠の大人だけで「教材研究」をしました。

私は IchigoJam BASIC でサーボモーター SG-90 を動かす実験をしていました。
(3月に福岡のこどもプログラミングコンテスト表彰式で見学して、やってみたかった)
サーボモーターは10個セットが2000円とか3000円とかで売られています。

検索すると HowToConnectServoToIchigoJam.pdf という資料が見つかるので、ありがたく使わせていただきました。

古いモデルの IchigoJam ではスムーズにモーターが動かなかったので、きっとマイコンのチップの違いなのでしょう。モーターが1個だったらなんとか電流が足りるようです。

PDM の値を書き込むだけでホーンが動くのは MicroPython と同じような感覚ですね。

ホーンにストローを差すのではなく、ホーンの穴に直接、鈴を括り付けました。

うまく動いたので、以前購入していた HiLetGo の音センサーモジュール(5個セットで700円足らず)を使って「話しかけると鈴を鳴らす」というデモを作りました。

音センサーを使うところは2月にNT広島でやった方法です。

IN(4) で音センサーの OUT の値を読み取ると 0 または 1 が返ってきますが、音声認識のようなものではないので、雑音に弱いです。
ここでは50回読み取って1が返ってきた回数が閾値を超えたら「声が聞こえた」としています。
この数字がいい感じになるように、動かしている環境に合わせて、音センサーのつまみを調整してやります。


次回はたぶん6月30日(日曜)開催です。

今後ともよろしくお願いします。

技術書典6で売り子を手伝いました

東京で開催された「技術書典6」に参加してきました。

ただの来場者として雰囲気を知ってお目当てのサークルを見に行こうと思っていたのですが、当日の朝になって、「広島電子工作娯楽部」のブースを手伝って欲しいという話が来て、サークル通行証で設営から入場することになりました。
おかげで、単に来場者として会場にいるよりも、ずっと落ち着いてイベントを楽しむことができました。

基板を作ってみよう

「広島電子工作娯楽部」では「基板を作ってみよう」という新刊を著者が売っているそばで、荷物を見張ったり在庫と売上金を数えたりしていました。

私も基板は作ってみたかったので「やらないといつまでたってもできないです」「たとえ失敗しても『失敗という名の成功』が得られます」「基板が作れると表面実装が怖くなくなります。部品の選択肢が増えると世界が変わります」などなど、著者のセールストークに私も心の中で頷きながら座っていました。

約140部が終了1時間前くらいには完売。来場者1万人という規模もすごかったですが、売り手の熱意と、本の内容のクオリティに支えられた成果だったと思います。

技術書典に広島から参加したサークルとしては初めての実績だったのではないでしょうか。

アクセシビリティ

前回の技術書典5では「こんのいぬ」さんが「これからはじめるWebアクセシビリティ」を販売しておられて、私は後日それを知って電子版を購入しています。

アクセシビリティについての(それを読めないかも知れない人がいる前提の)紙の本を売るって、誰にどう伝わるんだろう、と懐疑的に思ったこともありました。

ですが、未知の世界との出会いを求めている、楽しんでいる、ということが分かってきました。

だったら関わる意義はあるのかな、と思い始めたのですが、今回、私自身のサークル申し込みは落選してしまいました。

お目当てのひとつは、スクリーンリーダー NVDA の同人誌でした。

無事に「ほしがたタイムカプセル」さんのブースで NVDA と DAISY の本を入手できました。

写真: ほしがたタイムカプセルさんのブース

タイトルの「NVDAではじめるヘッドレス・デスクトップ」というのはすごいインパクトですね。

購入した本を帰りの新幹線の中で読みましたが、書き手にいまはまだ視力があること、いずれ視力を失われる見込みであること、そしてご自分がソフトウェア技術者であること、さらにご自分がスクリーンリーダーのユーザーになろうとしておられること、などなど、さまざまな立場の視点が絶妙にミックスされていて、またアニメの知識からスクリーンリーダーの機能をユニークに比喩されているなど、とても興味深く読むことができました。

ブースではヘッドフォンとゲームパッドで Windows を使ってみよう、という体験の環境を用意しておられました。こういう新しい切り口で、1万人の人に NVDA を紹介してくださってありがとうございました。

買った本と全体的な振り返り

買った本の写真です。全部で1万円くらいでしょうか。。

技術書典6で買った本

さきほど書いた「Webアクセシビリティ」の本や、同じく前回の参加者さんが出された「ネコを支える技術」 など、あとで知って電子書籍で購入させていただいた本はあるのですが、あらためて、同人イベントに実際に足を運んで(主に)紙の本を買う、という経験を考え直す機会になりました。

NVDA (と技術書典の公式ガイドブック)以外の本は、買おうと思っていたわけではなく、たまたま目に入って、ちょっと読んでみようか、と気軽に購入したものばかりです。

「テーマが新しくなくても、視点が新しければ、ユニークなコンテンツは作れる」ということがわかります。

キーワードが分からなくて探せないもの、いつか情報収集しようと思いながら実行に移せてなかったもの、逆にキーワードから得られる情報が多すぎて何を読んでいいか分からないもの、古い情報が役立たなくなってしまうもの、などなど、イベントの場でこうして紙の本を見つけることには、まだまだいろんな意味があるようです。

そういえば私はふだんから「考え事をするために本屋に行って、背表紙を眺めながらあれこれ思いを巡らせて、本当に欲しい本はあとでネットで買う」みたいなこともよくやっています。

私は自分の仕事場のペーパーレスを目指していることもあり、紙の本をたくさん持ちたいわけでもないのですが、同人誌については「まあいいか」と感じています。
電子版で買い直せたら買い直すかも知れませんね。。

400以上の書き手が発信するコンテンツを1万人の参加者に6時間で伝える、と考えると、ポスターセッションよりももっと効率的なわけで、不思議でもあり、すごいなあと思った一日でした。

来場者も年齢・性別を問わず、いろんな人がいらっしゃいました。

ふつうの入場者としての参加だったら相当並んで会場に入ることになっていたと思うと、

「東京のすごいところは、とにかく人が多いこと」

「東京のつらいところは、とにかく人が多いこと」

ですね。。

PCNひろしま 第14回終了

2017年に こどもプログラミング教室(PCNひろしま)参加について という記事を書いたのですが、その後について報告します。

2017年12月に私が「シュアルタ」として fabbit 広島駅前を利用しはじめたときにお願いをして、PCNひろしまの会場として使わせていただけることになりました。

2018年1月の第3回以来、だいたい月末の日曜日の午前に、fabbit 広島駅前で「PCN ひろしま」を開催させていただいています。

最新の予定は connpass グループでご確認ください。「グループのメンバー」になるとメールで開催予定を受信できます。

2019年3月24日、昨日は「第14回」の開催日でした。

PCN ひろしまの対象は「小・中学生の親子ペア」です。

はじめての方は「入門者枠」でお申込みいただくと、機材をお貸しします。
(いままでいただいた参加費などで、IchigoJam 5セット、キーボードとモニタ 各3セットを揃えました)

IchigoJam を購入されてご自宅で遊んだり勉強したりを始められたお子さんは「経験者枠」でお申込みいただいています。

第14回は経験者枠のお子さんが2人でした。おふたりとも、最近は毎回のように来てくださっています。

今回の運営メンバーは私を含めて2人で、それぞれお子さんと「遊びたいゲーム」「作りたいプログラム」などを話し合いながらサポートしました。

入門者枠の題材で使う「かわくだりゲーム」に「スクロール方向を逆にする」「スコア表示をつける」など、私がちょっとした改造をして、遊び比べてもらったりしました。

改造かわくだりで遊んでいる様子

最後に、これは教材ではなくて私の私物なのですが、IchigoJam で動くように改造した「カムロボ」のキャタピラが片方動かなくなってしまい、分解して修理をしようと頑張ってみました。

カムロボ分解中

カムロボのギアボックス

お子さんたちも興味ぶかく見守ってくれたのですが、工具が足りなかったので、修理は次の機会までお預けになりました。

連れてきてくださった大人の方には、3月3日に福岡で開催された「こどもプロコン(プログラミングコンテスト)」の表彰式を見に行ったお話をしました。

広島県のお子さんたちもコンテストに応募をするように後押しをしていきたいと思っています。

2019年

あけましておめでとうございます。

今年もよろしくお願いします。

写真: 白い犬のアンナと白いイノシシの置物

株式会社シュアルタは2019年2月に設立1周年を迎えます。

まだまだはじめてのことばかりで落ち着きませんが、飛躍できる会社を目指して頑張ります。

kikurako は1月30日から2月11日まで宮島で展示会を開催します。

こちらもよろしくお願いします。

アンナの日記

「そんな広島」Advent Calendar 2018 の 23日目の記事だワン。

写真: 白い犬、アンナ。首にピンクのリボン

シーリハムテリアのアンナ(メス、5さい)だワン。

5年前に、生後2か月で広島に来たワン。

パパとママは今年、会社を作ったワン。

アンナも会社のメンバーになったワン。

肩書は「くんくん隊長」。

お給料なのかな、前よりもらえるオヤツが増えたワン。

会社の名前、シュアルタ の「ア」はアンナの名前、「ル」と「タ」はママとパパの名前の頭文字だワン。
「シュ」の由来は秘密だから言っちゃダメ、だって。。

会社のメンバーになったらすぐ、大きなお仕事。
出張で初めての東京。大きなペットイベントを視察。
キラキラ着飾ったワンちゃんがいっぱい来てたワン。

秋には広島の「ペット博」にも行ったワンよ。

今年はお医者さんのお世話になることも多かったワン。
美味しいお肉をもらったら骨がお口に引っかかって取れなくなったり、おなかを壊したり。。

そういえばパパも今年、よく病院に行ったワン。
夜中にアンナに手を出そうとしたパパに、ついカッとなってかみついたことも。
パパは指の血が止まらなくて病院に急行。
アンナもびっくりしたワンよ。。

いつもお散歩をしていた河川敷や川沿いの道が、7月の大雨で壊滅。

ショックだったワン。

最近になってやっと前のようにお散歩できるようになってきたワン。

シュアルタは、災害のときに行方不明者の捜索に活躍してくださる
NPO法人「日本レスキュー協会」の法人会員になったワン。
レスキュー犬は、すごい訓練を受けた優秀なワンちゃんたちなんだって。。

ママは愛玩動物飼養管理士(2級)を取得したよ。おめでとうワン。

パパは動物学や応用行動学の専門書をいっぱい読んだんだって。
アンナのこと理解できたワンか?

「イグ・ノーベルの世界展」で「バウリンガル」の実物も見たんだって。
パパもアンナの言葉わかるようになったワンか?

アンナは会社のお仕事もしなくちゃ、なので、パソコンも勉強して、こうしてパパのブログも代筆するんだワン。

でも、文章を書くのは疲れるワン。ツイッターも始めたけど、インスタのほうが楽だワン。

もうすぐ「ワンコ年」も終わるけど、来年もアンナとパパとママをよろしくワン。

PyCon mini Hiroshima 2018 終了

PyCon mini Hiroshima 2018 が無事に終了しました。
有料イベントになったにも関わらず、60人以上の人にご参加いただくことができました。

私は実行委員長として、また企業・団体パトロンの株式会社シュアルタとして、そして「舞え!ひろしま Kaggler」講演者として、あわただしい一日でした。

まだまだ記録とか精算とか報告作成とかやっている途中です。

Togetter まとめ

いつものように最後にスタッフみんなでご挨拶した写真。

まだ広島で Python 流行ってないの?と言わせてるみたいなスローガンでしたが、今回は「広島で流行らせよう!」というテーマをすこしずつ実践できていけそうな、そんな一日でした。

今後ともよろしくお願いします。

PyCon mini Hiroshima 2018 参加者・発表者募集中 #pyconhiro

PyCon mini Hiroshima 2018 2018年10月6日 土曜 すごい Python 広島で流行らせよう

2018年10月6日(土曜)に PyCon mini Hiroshima 2018 を開催します。

概要

PyCon mini Hiroshima 2018
すごいPython 広島で流行らせよう!
2018年10月6日(土曜)

基調講演
Pythonで遊ぼうコンピュータ将棋
芝 世弐(岡山県立大学情報工学部)
Pythonの10年と今、これから
佐藤治夫(株式会社ビープラウド)

会場
広島大学東千田未来創生センター
広島県広島市中区東千田町1-1-89

参加費
学生:無料
一般:1000円
事前の申し込みをお願いします)

講演者募集

Python に関するご講演を募集しております。

講演申込 Google フォーム をご利用ください。

またはメールでのお申し込みに関する説明を参照してください。

申込締切は8月29日(水曜)です。

西日本豪雨の影響

以下、現時点での個人的な見通しです。

  • 当日の会場への新幹線(JR広島駅)や広島空港からの交通アクセス:問題なし
  • 広島市中心部から西側(宮島など)の観光スポット:問題ありませんが、JR在来線の運行区間に変更があり、運行本数も少なめです。時間に余裕をもって行動するとよいと思います。
  • 広島市中心部から東側(呉、東広島、尾道など)へのアクセス:JR在来線が被災し、10月の時点ではまだ全線復旧できていない見込みです。バスや車での移動は運休、不通区間、渋滞に注意が必要です。
  • 西条酒まつり:開催されます。ですが JR 在来線で広島市内から移動できない可能性があります。酒蔵ツアーについては8月中旬にご案内する予定です。
  • 追記(8月16日)PyCon mini Hiroshima 2018 Sake-Matsuri Tour 募集中です!当日はJR在来線で広島市内から移動できる見込みです。

雑感

私自身は、豪雨から3週間以上が過ぎた現在も、自宅地域が避難勧告の対象になっています。川沿いの道路がいたるところで陥没して、愛犬と散歩をする道がごくわずかになってしまいました。それでも、この地域にも多くのボランティアが来てくださって、砂ぼこりを巻き上げていた道路が少しずつきれいになり、通勤などでの不便は残っているものの、日常を取り戻しつつあります。

こんな状況でしたが、7月22日に「PCNひろしま」のプログラミング教室を予定通りに開催して、改めて、自分の置かれた状況に配慮しながら、やってきたことをやり続けることの意味もあるような気がしました。

PyCon mini Hiroshima でも、広島で今年起きたことを踏まえた取り組みを、なにか扱えるのでは、と思っています。先週の水曜日に開催した「すごい広島 with Python」でも、位置情報を扱うライブラリやオープンデータなどの情報交換をしたところです。

「すごい広島 with Python」は1年以上毎月開催して、ここで Python を勉強しはじめた人が、東京で開催される PyCon JP のプロポーザルを出す(通ったかどうかはいずれ。。)という段階までたどり着きました。参加者としても今年も何人かが広島から PyCon JP に参加することになりそうです。

Python を広島で使い始めている人に、ちゃんと広島にコミュニティがあって、全国的なコミュニティとつながっている、ということを知っていただくために、もうしばらくこのイベントを続けたい、という気持ちで準備を進めています。

現在受付中の講演募集ですが、30分、15分に加えて、持ち時間5分のライトニングトーク(LT)も選択可能にしています。 Python に関するいろいろなアイディアやノウハウをお持ちの方は、お気軽にお申込みください。

よろしくお願いします。

追記

講演申込締切を8月29日(水曜)に変更しました。(8月15日)

シュアルタ

写真 犬の人形(こぎん差し) 小さなツリー ふたりの人の影

あけましておめでとうございます。

2017年12月に広島駅前のコワーキングスペースの会員になって、平日の昼間はオフィスで仕事をするようになりました。

同じタイミングで、過去に使ってきた「オラビー・ジャパン」という個人事業主の屋号を「シュアルタ」に改めました。

2018年から、妻の個人事業主としての活動だった kikurako を、シュアルタの事業のひとつとして行います。

シュアルタではこれから妻と、そして愛犬「アンナ」と協力して、新しい事業を行っていきます。

今年もよろしくお願いいたします。

オフィス(2017年12月より)
〒732-0828
広島県広島市南区京橋町1−7
アスティ広島京橋ビルディング1階
西本 卓也

(fabbit広島駅前)

MicroPython の雑誌記事を執筆した話

広島版IoT縛りの勉強会! IoTLT広島 Vol.7 で「MicroPython の雑誌記事を執筆した話」をしました。

2017年11月25日発売 CQ出版 Interface(インターフェース) 2018年1月号

「第4部 マイコンPython無線センシング実験室」


元ネタとして蓄積してきた情報はこちら。

発売されてすぐにブログを書こうと思ったのに、すっかり遅れてしまいました。

記事のフォローアップはスライドを見てください。編集部に送るのが遅くなってしまい、紙面で触れられてませんが、ダウンロードできるソースコードも公開されています。

技術の検証は一段落したので、集めた素材を使っていろいろ面白いものを作りたいと思っています。