新 UI で Gist 作成が失敗するので GitHub に問い合わせてみた
1 週間くらい前から Gist が新 UI になった (Welcome to a New Gist · GitHub Blog) んだけど、僕のアカウント (wktk) ではそれに伴って Gist 作成が出来なくなってしまった。ログアウトすれば anonymous ユーザーとして新規作成できるものの、今までに作った Gist の編集・削除や一覧の表示は出来ないので不便である。
新規作成時の通信の様子を見てみると、/gists に POST し、作成に成功すれば 302 Found が返って、作成した Gist の URL に飛ばされる仕組みになっていた。今回、自分がログインしている場合は /gists が 404 Not Found を返してしまう。
再ログインや Cookie の消去、別ブラウザからの投稿も試したけどうまくいかなかった。IE8 では作成はできるものの、ログイン状態に関わらず anonymous な Gist になってしまった。
"gist" で Twitter 検索してみると、同様の症状っぽい方がいくらかいた。はてブロの Twitter 貼り付け機能でここの行間↓に転載しようと思ったけど、なんか怖いのでやめときます
このままでは埒があかないので、新 UI 以来ログインしていると新規作成に失敗することと、ブラウザの環境、通信のログを Contact GitHub に送って寝た。どうでもいいけど https://github.com/contact と https://github.com/support って同じなんですかね
朝になると GitHub のスタッフの方から返信が来ていた。曰く、GitHub のプロフィールの名前が空である場合この問題が発生し、修正を先ほどデプロイしたとのこと。さっき Twitter 検索に引っかかった方の内数人は GitHub アカウントの名前欄が空欄だったのでたぶん同じ問題かもしれない。
ということで、修正して頂き Gist 作成が元通り出来るようになった。スタッフさんありがとうございます!!!!
新規作成がうまくいかないことにばかり囚われてあまり着目してなかったけど、新 UI のエディタは中々素敵だと思う。因みに GitHub 本体の方にも Git リポジトリ内のファイルを編集できる、今回の新 UI のエディタに似た Web エディタがついてて便利。
通信ケーブルで「カードリーダーモード」になって充電出来ないときの対処法
[asin:B003XKOII4:detail]
ちょっと前に上と同じタイプの USB モバイルバッテリーを買った。値段の割に容量も大きくて便利に使ってたんだけど、1 つ困ったことがあった。
USB 通信ケーブルで繋いで手持ちの Android 端末を充電しようとすると、端末が「カードリーダーモード」になってうまくいかない。AC からの充電器なら通信ケーブルでもちゃんと充電できるのに…。
仕方なく通信ケーブルと充電専用ケーブルを両方持ち歩いていたけど、僅かながらかさばるし、使い分けるのが面倒臭く不便である。
原因から書くと、USB はデータ線がショートしている場合は高速充電、していない場合は通信モードと決まっていて、このモバイルバッテリーでは USB のデータ線がショートしていないため「カードリーダーモード」になってしまうらしい。
例えば手元のこの機種では、PC に端末を挿すと最初に一瞬「カードリーダーモード」になったあと、PC がデータ線経由で何か連絡して、充電が開始される。データ線がショートしていない場合、まずはこのような段取りを踏まないと充電が開始しないことになっているらしい。
参考に、手元の AC-USB 充電器の 1 つの、スルーホールマウント型の USB コネクタだと、このように真ん中 2 つのデータ線部分が半田でショートされている。
そこで、このモバイルバッテリーの基板のデータ線部分も半田でそのままくっつけてショートさせることにした。他にもケーブルを細工して対処する方法などあるけど、持ち歩くケーブルを減らすのが今回の目的だし、そもそも既に持ってる充電ケーブルと同じなのでパス。
まずモバイルバッテリーのフタを外す。短辺に 2 箇所、長辺に3 箇所、計 10 箇所あるツメで固定されている。フタの裏に、リチウムポリマーバッテリー (3.7 V, 2,500 mAh) ×2 が並列で繋がれて固定されている。
そして上の画像の AC 充電器の様に中央 2 つのデータ線部分に半田をつけてショートさせる。
作業時間は数十秒。やっと半田こてが温まったところなのにもう終わりかよ!><
でもこれで通信ケーブルでも「カードリーダーモード」にならずに充電出来るようになった。
ここまで書いたけど、基板とかはあまり詳しくないので、どっか間違ってたら教えて欲しい。今のところ爆発はしてない。
ところで数日後、Amazon でこんな商品を発見した。
PLANEX Xperia 充電&データ転送 MicroUSBケーブル ブラック (ACアダプタ/パソコン接続切替スイッチ付)BN-XPERIASB
- 出版社/メーカー: プラネックス
- 発売日: 2010/08/27
- メディア: エレクトロニクス
- 購入: 12人 クリック: 43回
- この商品を含むブログ (2件) を見る
このケーブルを使えば細工せずともそのまま使える気がする。
スイッチで通信用と充電専用とを切り替えられて、1 本 2 役で使えるらしい。最初からこれ使っとけば良かったかも。
Pxem で素数判定をする
ag.- (= 6) が素数かどうか
ag.-.tab.-.c.w.c.c.!.m.x.strue.paa.-.c.c.a.c.wab.-.+.c.m.%.cab.-.y.s.sfalse.paa.-ab.-aa.-.aaa.-.a.a.pxe => false
dd.! (= 10,000) が素数かどうか
dd.!.tab.-.c.w.c.c.!.m.x.strue.paa.-.c.c.a.c.wab.-.+.c.m.%.cab.-.y.s.sfalse.paa.-ab.-aa.-.aaa.-.a.a.pxe => false
dd.!ah.-.+ (= 10,007) が素数かどうか
dd.!ah.-.+.tab.-c.w.c.c.!.m.x.strue.paa.-.c.c.a.c.wab.-.+.c.m.%.cab.-.y.s.sfalse.paa.-ab.-aa.-.aaa.-.a.a.pxe => true
今回の方針は、
- 2 から順に数え上げながら割っていく
- 途中で割り切れたら素数でない (false)
- 引数の平方根を超える数までカウントアップできたら素数 (true)
です
素数でない場合に、引数を割り切れる最小の数をドヤ顔で表示することもできます
dd.!ab.-.+ (= 10,001) の場合
dd.!ab.-.+.tab.-.c.w.c.c.!.m.x.strue.paa.-.c.c.a.c.wab.-.+.c.m.%.cab.-.y.s.tfalse(.p.m.n).paa.-ab.-aa.-.aaa.-.a.a.pxe => false(73)
もちろんファイルサイズは 0 バイトです
ただこれだと数え上げる途中に合成数でも割ってしまっているので、改善の余地があるかも…?
Pxem で階乗計算をする
13! からはオーバーフローしてうまくいかないかも
32 bit あたりが関係ありそうだけどよく知らないです
3! を計算するなら
ad.-ab.-.t.c.w.c.m.!.tab.-.-.c.a.s.m.n.pxe
5! を計算するなら
af.-ab.-.t.c.w.c.m.!.tab.-.-.c.a.s.m.n.pxe
これは最初に与えられた値の階乗をもとめるプログラムです
上記の場合なら ad.- (= 3), af.- (= 5) です
標準入力から受け取るのもいいとおもいます
もちろんファイルサイズは 0 バイトです
スタックで引数をデクリメントしながら一時領域に数を掛けていく方針です
流れを示すと
- 引数をスタックに置く
- 一時領域に 1 を置く
- スタックの値が 0 以外ならループ突入
- 一時領域の値とスタックの値を掛けて一時領域にしまう
- スタックの値を 1 減らす
- ループの最初 (3.) に戻る
- 一時領域の数値を表示する