2010-05-22

PYTHON-FIT 1回目

Python-FIT 1回目。

会場

今回は

  • 福井(自宅) x 2
  • 石川(KIT) x 1

の変則的な形に。

目的

Python 初心者も少なくないということで Python チュートリアルの読み合わせを進める感じで、かつオンライン勉強会の方法を模索する。

結果

よかった

  • Skypeのグループチャットは Twitter と違って長いコードを貼ることができて、かつみんなが同じコードを見れる。

本当は全部 Twitter でまかなえた方が個人的には楽なんだけど、いきすぎた Twitter 脳は何も考えていないのと同じだね。

イマイチ

  • KIT で 3G回線の確保は易しくない
    • 学外の人間は自由に学内のネットワークには参加できない。今どき当然。
  • Skype のグループチャットはともかく、音声と特に Kogomi を使った画面共有はネットワーク品質に依存する
  • オンライン勉強会の進行はネットワーク品質に引っ張られる
  • 複数人参加する会場の音声もそれなりに気を使う
    • マイク、スピーカーがちゃんとしてないと意味が分からない

個人的には

  • チュートリアルは買って読んだ方が楽

ということに気づいた。

内容

あんま進展がなかったとは言え、いきなり脱線して

RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

に Python を入れようとしていた。面白かったけど、ちょっと時間掛けすぎたかも。

interactive shell

python の interactive shell で補完する方法がしばらく分からず難儀した。あちこちさまよって見つけた

import readline
import rlcompleter
readline.parse_and_bind("tab: complete")

を実行してなんとかなった。でも毎回こんなもん実行したくないから irb で言う ~/.irbrc に相当するファイルに書いて自動実行すればいいんだよね、と思ったらそういうファイルは存在しないことが分かってがっかり。どうも

PYTHONSTARTUP

という環境変数で明示的にファイル名を与えないとダメなようだ。いやいやいや。指定して実現できるのは正しいと思うけど、より便利なデフォルトを考えようとは思わない文化なのかな?

その後

デスクトップ丸ごと共有できる必要はないし、ぶっちゃけ Python の interactive shell だけ共有できればいいよね、という話をしていた。サイト上で interactive shell が動くサイトあるよね、きっと。あるある。そんなんでいいんだよね。でも Web だと同じセッションを共有することはできないね。

で、帰ってきてあれこれ探していてやっと思い出したのが以下。

ttyだけ共有できればいいんじゃ?

Partty!.org

これなら Terminal の様子だけ共有1できる。

これで必要な会場分セッションを作って、それをブラウザのタブで開いておいて、必要に応じて各自が切り替えながら参照するという形でいいんじゃなかろうか。これなら HTTP さえ開いていればいいはずだし、十分軽いような気がする。

まだ次回これでいくと決まったわけじゃないけど、有力な候補とは言える気がする。Skype チャットでコードや結果は共有できてもやっぱ(ほぼ)リアルタイムで動く様子を共有したいじゃない。

音声はやっぱ Skype ?

あとは音声で、これは個人的に感じている問題が二つ。

  1. 個人でカフェとかで勉強会に参加するのは周りに気を使う
  2. ネットワーク的に P2P を制限している会場からは勉強会に参加できない

ただ、音声なしでチャットベースだとこれはこれで進行的にはちょっとしんどい。進行用に Ust で音声だけ流すってのもアリなのかもしれないけど、何か大げさな感じがするし、帯域的な問題もあるような気がする。

ネットワークの問題は上の Partty! の作者の音声チャット用のツールもあるんだけど、1 の方はいかんともしがたい。一人の場合は PC 使わないで iPod touch に新しいコード繋いだらいいかな?

ちょっと今度実験してみよう。bluetooth ヘッドセットも1年前の半額くらいだな。安くなったもんだ。

  1. 実際には完全大公開。Ust の tty 版みたいなもの 

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm