2014-01-01から1年間の記事一覧

iPhoneの充電電流ログ

iOS

電流センサが転がっていたので、iPhone 6の充電電流をロギングしてみました。縦軸は電流(mA)、横軸は時間(分)です。 グラフには現れませんが、電池のみならず充電器側の能力(たぶん電圧、というか出力インピーダンス)もモニタリングしながら流す電流を決め…

Ringでリモコン

あのRingが届きました。 iPhoneアプリで好きなジェスチャーとアクションを対応付けして使います(もちろん設定後は、アプリがバックグラウンドに回っていてもRingの操作を受け付けてくれます)。 標準アクションだけでもいろいろな操作に対応していますが、…

U2F対応キーを買ってみた

Chrome 38 (Win/Mac/Linux) がUSBセキュリティキーに対応し、あわせてGoogleの2段階認証もこれに対応しました。従来のスマートフォンによる認証と比べてキーを挿す*1だけとお手軽なほか、似たような外見・URLのフィッシングページに誘導されてもブラウザが正…

MacのPreviewで画像ベースのPDFファイルサイズを小さくする

Mac

スキャナ等で取り込んだJPEGファイルをPDF変換する際、Previewで単純に形式をPDFにして保存すると、とんでもなくファイルサイズが大きくなって驚くことがあります(1MBのJPEGファイルが10MB超になるとか)。 システム標準でReduce File SizeというQuartzフィ…

zshのcorrectallでドットファイルを無視

zsh

zshの機能に、コマンドやファイル名のスペルミスを修正してくれるCORRECTとかCORRECT_ALLという機能があります。具体的には、correctを指定しておくとコマンドのスペルミスすると修正候補を提示してくれるので、n (修正せずそのまま実行)、y (修正して実行)…

Gmailでプッシュ配信されるメールを取得

Gmailをはじめとする、IMAPのメールサーバ*1から、プッシュ配信されるメールを取得する方法を調べたのでメモ。新規メールを監視してリアルタイムに何らかの処理を実行するといったことが可能になります。使うライブラリは require 'net/imap' まず接続と認証…

JavaScriptでMacに歌ってもらう

最近のChrome, SafariのJavaScriptには音声合成APIが入っています。 使い方は簡単で、JavaScriptコンソール等で var msg = new SpeechSynthesisUtterance('こんにちは!'); msg.lang = "ja-JP"; // 言語指定 window.speechSynthesis.speak(msg); のようにする…

12言語polyglotで足し算

CodeIQのコーディングパズルで、同一のソースコードで複数の言語処理系で動作するプログラム(いわゆるpolyglot)として、標準入力からの2つの数を加算して出力するものを書くというお題"hybrid A+B problem"が出ていました。12言語(Bash, Brainfuck, C, CL…

コマンドでideone.comにソースを送信・実行

普段あまり使わない言語で書かれたコードをちょっと実行してみたい、あるいは、実行環境を持っていない人にもコードや実行結果を共有したい、といったとき、Web上で60以上の言語処理系を試せるideone.comが便利です。 一方、手元でコードを書いている場合な…

ADS-B受信用アンテナ作製

先日のエントリ(Raspberry Piで航空機からの位置情報信号ADS-Bを受信してみた - Okiraku Programming)の続きです。 SDRチューナーに付属のアンテナでも最大100nm(180km程)の距離にある航空機の信号を拾えていましたが、ものは試しということで、グランドプ…

Linuxカーネル空間で2048で遊ぼう

最近大ヒットしたゲームと言えば2048。上下左右にタイルを動かして数字をくっつけ、2048を作るだけのシンプルなゲームですが、それだけにハマりやすい。 [参考記事: 「2048」:19歳のイタリア人が、ミニゲームでインターネットを征服!|WIRED.jp] 2の累乗…

Raspberry Piで航空機からの位置情報信号ADS-Bを受信してみた

最近ニュースで航空機の捜索が話題になっていましたが、その中でADS-Bという単語が出てきました。ADS-B(Automatic Dependent Surveillance-Broadcast)は、航空機から1090MHzの周波数で発信されている、識別子、GPSによる現在位置、高度、対気速度などを含…

QEMU guest agentを使って仮想マシンのIPアドレスを取得

LinuxのKVMで、ゲストのIPアドレスを取得する方法の覚え書き。 VMのNICの接続先が仮想ネットワークであれば、 /var/lib/libvirt/dnsmasq/virbr0.leases等にDHCPサーバが仮想マシンにリースしたIPアドレスが入っていますので、ここから取得できます。 一方、…

twicliでUser Streaming APIを利用する

twicliでUser Streaming APIを利用できるようにするプラグイン stream.js を実験的に公開しました。 これを導入することで、 タイムラインを数分ごとの更新ではなく、リアルタイムで追いかけることができるようになります。 実験的ということで、不安定だっ…