latest log

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

GamePad.js で PS4 のコントローラーをサポートしました

今日は GamePad.jsのお話です。 GamePad.js で PS4 のコントローラもサポートしたよ。 (コントローラーは渋川さんから借りました) pic.twitter.com/8O0wcYHmSq— コラーゲンたっぷりさん (@uupaa) 2015, 10月 28 PS4 の隣は NexusPlayer のパッド(ASUS Game…

ForceClick.js disable the force click in link navigation of iPhone 6s. (リンクの先読み機能を無効化)

ForceClick.js は force click によるリンクの先読み機能を無効化するライブラリです。 iPhone 6s Safari で <a href="..."> をクリックすると、3通りのアクションが発生することはご存知でしょうか? 軽くタッチすると、リンクを現在のタブで開く (open link) 長めにタッチ</a>…

第三次ブラウザ戦争がそろそろ閉幕します

追記: このエントリを投稿してから3日後に Google から AMP が発表されました。AMP は 既存の HTML/CSS/JavaScript の機能を制限することで、ページの表示パフォーマンスを改善するものです。AMP で書かれたページは Google 検索ランキングにおける特典が受…

iOS 9 Safari で発生していた touchstart で音が鳴らない不具合に対するパッチが投入されました

iOS 9 Safari で発生していた touchstart で 音が鳴らせない不具合に対するパッチが先ほどWebKitに投入されました。修正されるもようです http://qiita.com/uupaa/items/e5856e3cb2a9fc8c5507 iOS 9 Safari WebAudio::AudioBufferSourceNode does not play o…

JavaScript で MP4 parser を実装してみました

MP4 コンテナに関する知識が不足していたので、習作がてら MP4 ファイルを分解する js ライブラリ(MP4.js)を WebModule で書きました。 今は MP4.parse() のみですが、そのうち MP4.build() も実装したいですね。 左がChrome / 右がVM Win7上で動作するMP4 R…

バイナリダンプをカラフルに

あと90日でクリスマスですね。 (バイナリ解析が辛くなって来た事もあり)ちょっと気が早いですが、視認性の改善とモチベーションの維持のために TypedArray.dump のダンプ結果を色々とデコれるようにしてみました。

iOS 9 Mobile Safari was enabled force touch event

ポエムじゃない記事を Qiita に書きました(ここではポエムを書いてます) qiita.com

iOS 9 Safari WebAudio::AudioBufferSourceNode does not play on first touchstart event.

「iOS 9 Safari では touchstart で音が鳴らないのではないか?」と神々がザワザワしてましたので、2時間ほど調べて、Appleにバグレポート出して、Qiita に書きました。 qiita.com

低レベルなビット操作関数を集約した WebModule ベースのライブラリ Bit.js を追加

結構な割合で必要となるビット演算系の関数をまとめた WebModule ベースのライブラリ Bit.js を追加しました。 こんな関数があります。 // make bit mask Bit.mask(2) // -> 0x03 Bit.mask(4) // -> 0x0f // bit split by bit-pattern Bit.split(0xffff1234,…

Safari がサポートしている Audio と Video フォーマットを確認する

Qiita に書いた 答えはこんな感じ audio/aacp video/3gpp2 audio/mpeg3 audio/mp3 audio/x-caf audio/mpeg video/quicktime audio/x-mpeg3 video/mp4 audio/wav video/avi audio/scpls audio/mp4 audio/x-mpg video/x-m4v audio/x-wav audio/x-aiff applicat…

Chrome DevTools に描画フレーム毎のスクリーンショットを記録/再生する機能がついています

Chrome DevTools の Timeline タブにフレーム毎のスクリーンショットを記録/再生する機能がついています。 Canvas パーティクル 3万個 の結果です。 youtu.be Canvas/WebGL を使ったカジュアルゲームの開発やQAに活かす事ができるステキ機能ですね。 CreateJ…

プロダクトの開発速度を左右するキーマン「プロQA」という貴重な存在について

イノベーティブなプロダクトだと、チャレンジ成分の多さに応じてエッジな技術を投入できる可能性が高まるという観測ができた。 さて上記の状況で、QAチームがなぜか突然IE7,IE8対応を求めてきました。その時の僕はどうなったでしょう? A1. 徹夜になった A2. …

日本国内で SIM フリー端末を発売される会社の広報担当者様へ

SIMフリー Android 端末を販売する各社様へ。少々困ってる事があります。ぜひ、ご協力いただければと思っています。 私は github で Spec.js という JavaScript ライブラリを公開しております。 このライブラリは、端末の UserAgent から情報を収集/分析し、…

This is the Next Web that I think.

Webの進化を停滞させてるのは結局古いブラウザなのだから、そのようなブラウザは極めて真摯にお断りさせていただく。 文字コンテンツを見るブラウザと、クリエイティブなコンテンツを見るブラウザは使い分けてもらう。 それぐらい強い態度に出れるキラーコン…

I am expecting to iOS 9.0 Mobile Safari features.

iOS 9.0 に入るかもしれない機能をまとめてみました。公式なものではないため参考程度にお願いします。 WebKit 公式の Feature Status もご覧ください。 (ε・ ワ ・)з 40〜50時間ぐらいドブに捨てて書いている気がしますが、2分で読めます via https://githu…

WebKit nightly の DevTools に Visual CSS Editor が

ボタン1つで、text-align: right がこのように。 すばらし

ChromeTrigger.js Version 0.3.2 released

Spec.js version 2.0.0 released.

Add a new WebModule WebGLDetector.js, And add a UserAgent#DEVICE in UserAgent.js.

ライトウェイトな Spec.js としての UserAgent.js を追加。WebView の判別機能などを入れてあります。

Spec.js の機能が増えてきたため、UserAgent 部分だけを分離した UserAgent.js を書きました。Edge への対応と WebView 判別部分などなど、多用する機能だけに絞って入れてあります。 var ua = new UserAgent(); var result = { OS: ua.OS, OS_VERSION: ua.O…

GitHub wiki のリビジョン間の差分を見る方法

wiki のリビジョン間の差分をまとめて見る https://github.com/{USER-NAME}/{REPOSITORY}/wiki/_compare/{A}...{B} で コミットAとB の diff をまとめて見れます。 https://github.com/uupaa/WebKitChangeLog/wiki/_compare/8ce4d404459922d810366f5d300dcfc…

ES5 で Classを定義する WebModule 流のイディオム

タバコを嫌うエンジニアは多いが、同じようにローマ字入力も嫌うべきだ

最近の小学校の先生はローマ字入力しか教えられないらしく、せっかく子供をかな打ちで育てても、学校でローマ字入力に矯正させられる。 もしくはそういう「ローマ字入力以外は認めない」といった教育要項があるのかもしれないが、ああいうのは今後止めてもら…

Image resize in github flavored markdown.

GitHub markdown は ![](url) により画像を表示できますがリサイズできません。 僕達が本当にやりたい事は、![](url | width=100) や ![](url =200x400) といったお手軽にリサイズする方法なのですが、現状そのような機能は存在しないようなので、なんとかす…

WebKit が WebAssembly の実装を開始したようですが iOS 9 には入りません

2015-08 の初週には、iOS 9 に入る機能が決定されます。あと数日ですね。 ということで、iOS 9 に入りそうな機能候補をまとめたページを更新しました。 以下の機能は iOS 9 には含まれません。iOS 10 に期待しましょう。 MediaSession WebAssembly WebCompon…

アホロートルエンジニアから見た特許

昨年特許を出願した時にいろいろと勉強した事もあり、老害知識を絡めて書いてみました。10分LT向けのボリュームです。 盛り込めなかった要素もたくさんあり、一部過激な部分はカットしてお届けしております。 弱い特許を強い特許にするにはどういったやり方…

nginx: Avoid CORS and reverse proxy settings

ブラウザから XHRでAPIサーバにアクセスして JSON が欲しいんじゃあ、 でもサーバに(Access-Control-Allow-Origin *)は置けないんじゃぁ、 CORS 嫌いじゃぁぁぁぁ という状況。実によくあると思います。 nginx でその辺やったことなかったので、やってみたら…

Update GitHub/WebKitChangeLog.wiki

I have updated Compare Revisions · uupaa/WebKitChangeLog Wiki · GitHub, It is one month value of progress.

Block modal dialogs inside a sandboxed iframe

JavaScript の Array#sort で return 0 すると要素の順番は不定になります

Node.js - v8(Node/Chrome)のソートは崩壊しました(非安定ソート) - Qiitaqiita.com を拝見してました。心当たりがあるのでメモ程度に。 JavaScript の Array#sort は仕様的に非安定ソートで、実際もそうです。実装により異なる結果が得られます。 より具体…