latest log

酩酊状態で書いたエンジニアポエムです。酩酊状態で読んでください。

UserAgent.js と Spec.js にガラケーのサポートを追加しました

UserAgent.js に FeaturePhone 判別用のプロパティ FEATURE_PHONE を追加し、 Spec.js に 国内大手キャリアから発売された(2009年以降の) FeaturePhone のスペックカタログ追加しました。

FeaturePhone 用のスペックデータは、ブラウザ上からは使わず、サーバサイドで使う用途を想定しています。

FeaturePhone 用のデータが不要な場合は、以下のように、npm run minnpm run build の末尾似@fp を付ける事でごっそりと削れます。

{
  "scripts": {
    "min": "node ../WebModule/run/minify.js --verbose --strict --keep --pretty @fp",
    "build": "node ../WebModule/run/minify.js --verbose --strict --keep --release @fp",
  }
}

ところで、作業中に気がついたのですが、古いガラケーは既に修理不能になっています

  • 2008年以前の端末は既に修理受付が終了しており
  • 2009年の端末は半分以上で修理受付が終了しており
  • 2010/2011年の端末も2017〜2018年に受付が終了する予定

となっていました。

ちょっと壊れかけているけどだましだまし使っているような人は修理受付が終わる前に修理に出したほうが良いかもですね。

Change to npm unpublish policy

ポエムです。

npm unpublish --force kik and unpublished all my packages. いわゆる left-pad 問題の続報です。
npm が unpublish の運用ポリシーを変更するそうです。

The npm Blog

changes to npm’s unpublish policy

New policy

Going forward, if you try to unpublish a given package@version:

  • If the version is less than 24 hours old, you can unpublish it. The package will be completely removed from the registry. No new packages can be published using the same name and version.

  • If the version is older than 24 hours, then the unpublish will fail, with a message to contact support@npmjs.com.

  • If you contact support, they will check to see if removing that version of your package would break any other installs. If so, we will not remove it. You’ll either have to transfer ownership of the package or reach out to the owners of dependent packages to change their dependency.

  • If every version of a package is removed, it will be replaced with a security placeholder package, so that the formerly used name will not be susceptible to malicious squatting.

  • If another member of the community wishes to publish a package with the same name as a security placeholder, they’ll need to contact support@npmjs.com. npm will determine whether to grant this request. (Generally, we will.)

via http://blog.npmjs.org/post/141905368000/changes-to-npms-unpublish-policy

意訳すると

  • 公開から24時間以内であれば unpublish できます。再度同じ package@version で公開はできません(これは version番号を上げるとpublish可能になるという意味です)
  • 24時間経過後は unpublish に失敗します。support@npmjs.com にコンタクトを取ってください
  • サポートはパッケージの削除に伴う悪影響をチェックします
  • あなたは以下のどちらかを選択する事ができます
    1. パッケージの所有権を譲渡する
    2. 依存関係を変更するための手助けをする
  • package の全バージョンが unpublished となった場合は、その package名 は悪意を伴う差し替えが行われないように security placeholder package に置き換えられます
  • security placeholder package と同名の package を公開したい人は support@npmjs.com にコンタクトを取ってください、審査します

この問題についてはこんなことをツイートしてました

自分の過去のツイートを見直すと、今もそのままの部分と、口が悪いなぁ(言い方に気を配ってないなぁ…) という部分がありますね。140文字世界の呪縛。

これについてですが、WebModule では以下のようにして解決しています。

github にアカウントを持つ foo さんが、github にホストした apple.js リポジトリを、npm に publish しようとすると、foo.apple.js という npm名で publish することになります。これは WebModule の命名規則です。

雑感

対処療法的に unpublish にガードを入れる + 人力審査を行うという事のようです。 「npm には global namespace しかないためパッケージ名が衝突する」という課題はそのまま残るため、商標問題はサブマリン・リスクとして残り続ける事になりそうです。

あとこの変更は、何時から適用するんだろうか…

画面の回転をハンドリングする ScreenOrientationEvent.js を書きました

ScreenOrientationEvent.js 書きました。

  • 画面の回転方向を取得する
  • 画面の回転時のイベントでコールバックする
  • 画面の回転をロックする

なんてことができます。

モバイルなブラウザ(Chrome, Firefox, Edge, Safari)で動きます、PCでも動きますが余り楽しくないです。Safari だと画面ロックはできないです。

インターネットにゴミをばら撒かない為にやっている、ちょっとしたルーティン

ポエムっす。あるあるっす。

書いて消す(核ボタン押したフリ)

僕は、他人に対して何か余計な一言を言いたくなったり、良くない気持ちになった時は、「今の気持ちを文章にする。SNSやメールに書き、送信する直前まで行く。実際には送信せず消す」という、ちょっとした儀式(ルーティン)をこなしています。

「確かに気持ちを文字にした。そしてそれを吐き出した」という擬似体験(寸止め)を得る事で、気持ちを切り替えています。

(これ割とありふれてて、結構沢山の人が同じような事をやっているような気がしていますよ)

ルーティン導入前

感情という精神的な活動が、肉体的な理由(空腹・疲労・体調の僅かな変化)や、瑣末な情報(心ない誰かの一言・ネットにあふれるくだらない挑発)にうっかり引きづられてしまう事に、ちょっとだけ悩んでました。

  • 「(ε・◇・)з 今日は良い天気!」「💩こっちは土砂降りだよ ざけんなクソが」的なクソリプとか
  • 「有名人は嫌な事を言われても有名税だから!! 我慢するのが当たり前なんだよ!!」な、無敵系な人からのクソリプとか
  • ブロックしてるのに「お前ゆるさねぇ、何ブロックしてんだよ!? アアーン? 監視してっからな」と人づてに言ってくるDQNとか

また、もっと自分の気持ちを上手にコントロールしたいし、TPOに合わせて演じたいという願望もありました。

我慢すれば良い事はわかっているのですが、そんなやり方が長続きしない事もわかっており、 何か良い方法を取り入れて、落ち着いた雰囲気でニコニコして過ごしたいと考えていました。

そんなある日の事

そんなある日 脳の興奮は30秒 という話を聞いた僕は、

  • 感情の実態とはそんなものだったのか…
  • 今まで感情だと思っていたのは、実はただの脳の興奮状態だったのか…
  • 割りと簡単にいなせるのではないか

と考えるようになりました。

ルーティン導入後

こんな感じです。

(〜・◇・)φ 「ムキー!! スピリチュアル! ムリー」「アホーアホー」
(〜・◇・)φ ……
(〜・◇・)っ DEL DEL DEL DEL

(ε・◇・)з ふぅ…

(ε・◇・)з よっしゃ、今日中にこれやってしまおう!

バカでよかった。バカ単純。

Adobe CS 6 が 次期 Mac OS X では起動不能になります。それに伴い Mac における Flash Lite (swf) のビルド環境も大きく後退します

確定情報ではないので、ポエムとして書きます(確定情報などは Qiita に書いてます)

https://github.com/uupaa/LatestLog/blob/master/2016-01.md#list-of-changes-in-the-browser-and-runtime-environment-which-is-scheduled-in-2016

  • 2016-09 - 次期 Mac OS から Flash Lite 用の swf をビルド出来なくなります
    • Java SE 6 サポート終了 → Adobe CS 6 起動不能 → Flash Lite 用 swf ビルド不能の流れです
      • El Capitan の次期OS は Java SE 6 をサポートしません
      • Adobe CS 6 は Java SE 6 が無いと起動しません(Adobe CS 5.5, 5 も同様に Java SE 6 が無いと起動しません)
      • Flash Lite 用の swf をビルド(publish)するには Adobe CS シリーズが必要です(Adobe CC シリーズではビルドできません)
    • 回避策
      1. 現在のビルド環境(El Capitan + Adobe CS 6 環境)を維持する
      2. VM に Mountain Lion や Snow Leopard をインストールし、ビルドする
        • Apple Store から古い OS イメージを $20 ほどで購入できます

関係者各位、ご留意ください。