Mac

GitHubのPull Reqest作成ページをコマンド1つで開く

Mac

何かコードを書いて、ブランチをGitHubにpushしたあと、そのブランチのプルリクエストをさくっと作りたかったので、1コマンドで現在のブランチからのPull Request作成ページを開くコマンドを作りました。以下のコードを実行可能権限をつけてパスの通った場所…

pryがCtrl-Yでサスペンドしてしまう

Macのターミナル上でRubyのpryを使っている際、Ctrl-Kなどでカットした文字列を貼り付けようとCtrl-Yをタイプすると、サスペンドしてしまうことがあります。ちなみにirbだと発動しません。 $ pry [1] pry(main)> [^Yをタイプ] [1]+ Stopped pry $ これはDSUS…

iPhoneのバッテリー残量を取得

iPhoneのバッテリーがかなりヘタってちょっと使うとすぐに電源が落ちてしまうようになってしまったので、自分で交換してみました。やり方を紹介したページを見つつ、バッテリー\2000 + 工具セット \1000 で無事交換成功し、日中そこそこ使っても丸一日持つよ…

SLコマンド on touch bar

Mac

新しいMacBook Proのtouch barで走るSLコマンドを作りました。 (touch barシュミレータでしか動作確認してませんが。) オリジナルのようにオプション(-a, -l, -F)には対応していません。 ソース(Swift)は以下。ビルド済みのバイナリも入ってます。 https://g…

keyhacでNICOLA配列を実現する

Mac

macOS Sierraにアップデートしたところ、キー配列をカスタマイズするKarabinerが利用できなくなってしまいました。 Karabinerは非常に様々なカスタマイズに対応していたため、不便な思いをしている人も多そう。 私はNICOLA配列(いわゆる親指シフト入力)で…

HTTPS接続がCan't verify SSL peersというエラーになるときは

久しぶりにMacでとあるPerlスクリプトを実行したら OAuth::Lite::Consumer が特にエラーも出さずに失敗してしまった。 いろいろ試しているうちに、下記のようなスクリプトを実行すると % perl -MLWP::UserAgent -e 'print LWP::UserAgent->new()->get("https…

MouseCapeでIBeamカーソルを見やすくする

Mac

Mac OS X 10.9くらいから、Iビームのマウスポインタが暗い背景で非常に見にくくなってしまいました。ターミナル等で背景色を黒っぽい色にしていると、テキストを選択しようとした時などにマウスポインタがどこにあるかわからず、非常に不便です。 MouseCape…

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

Mac

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

JavaScriptでMacに歌ってもらう

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

英語配列キーボードでも英数/かなキーが欲しい

Mac

MacBookの日本語配列キーボードを使う際、英数キー、かなキーがスペースバーの両横にあるため、一発で英語入力/日本語入力を確実に切り替えることができるのが気に入っていたのですが、最近英語配列キーボードを使い始めたため、これらがなくなってしまい、…

AFPサーバ(netatalk)のLion対応状況

Macとファイルサーバの間でnetatalkのafpdを利用してAFPでファイル共有している場合、Mac OS X 10.7 LionはSnow Leopard以前と対応状況が異り、新しいバージョンが必要になっています。netatalkを使ったNAS製品等でも、Lionだと接続に制限が出たりしています…

ArduinoからApple Remoteの赤外線信号を送信

ArduinoからApple Remoteの赤外線信号を送信するライブラリを作りました。 ライブラリのダウンロードはこちらから。 ダウンロード後、AppleRemoteIR フォルダを ~/Documents/Arduino/libraries に入れて下さい。 IDEを起動すると、簡単なサンプルスケッチが …

Mac OS XでRAMディスクを作る方法

Mac

すぐ忘れるのでメモ。 例えば128MBのRAMディスクを作るなら、 % hdid -nomount ram://$((2048*128)) /dev/disk3 % newfs_hfs -v RAMDISK /dev/disk3 Initialized /dev/rdisk3 as a 128 MB HFS Plus volume % diskutil mount /dev/disk3 Volume RAMDISK on /d…

MacBook Pro + Fedora 11で無線LANを使うには

MacBook Pro (15"、Penryn搭載の2008年2月モデル) に Fedora 11をBoot Campでインストールしたときの備忘録。ndiswrapper (Windows用NICドライバのインターフェースをLinux上に実装したもの)を使って、Windows用のドライバで無線LAN(Broadcom 4328を搭載)を…

絵で見て分かる、簡単WebKitアプリの作り方

最近WebKitがいろいろなWebブラウザで使われるようになってきています。Safariはもちろん、GoogleのChromeやAndroid、Adobe AIRなどなど。 MacのCocoaアプリケーションでは、簡単にWebKitをHTMLレンダラ(JavaScriptも対応)にとして組み込めるようになってい…

DNSプリフェッチでSafariを高速化

まず始めに、ChromeはDNSによる名前解決結果のキャッシュと「DNSプリフェッチ」技術を用いて、名前解決処理にかかる時間を短縮している。DNSプリフェッチとは、Webページ上にあるリンク先ホスト名を先読みし、あらかじめ名前解決を行って結果をキャッシュし…

MacアプリでUPnPを使ってポートを開く

Mac

やりたいこと: MacのCocoaアプリで簡単にルータのポートを自動的に開きたい。 使うもの: 調べてみたら「TCMPortMapper」というフレームワークがあるそうです。UPnPかNAT-PMPに対応しているルータなら、とても簡単です。サンプルとしてGUIでポートを開くツー…

shebangの怪

LinuxとMac OS Xではshebangに書いたオプションの扱いが異なるらしい、という話。ちょっと実験してみました。 args.c => gcc -o args args.c でコンパイル #include <stdio.h> main(int argc, char *argv[]) { int i; for (i = 0; i < argc; i++) printf("argv[%d] = </stdio.h>…

Growl用WebAPI提供サーバ

前のエントリで書いたGrowl用Web APIを単独で動くサーバにし、アイコンにも対応しました。 バックグラウンドで動かしておいて、 http://localhost:23080/title=たいとる&msg=ほげほげ&icon=http://url/〜.jpgというURLにアクセスすると、Growlでメッセージが…

Growl用のWeb API

GrowlをWebアプリから叩くためのAPIを提供します。ローカルホスト上にCGIが動くWebサーバが必要です。0. Growlをインストールし、システム環境設定>Growl>ネットワークで「通知される受信を聞く」をONにする。 1. CPANでMac::Growlなど必要なライブラリをイ…

VLCで動画をiPhone/touch用に変換するAppleScript

Mac

使い方 VLCをインストール(適当なフォルダにコピー)。VLC-0.8.6iで動作確認しています。最新版だと動かないかも。 下記スクリプトを「スクリプトエディタ」に貼付けてアプリケーション形式で保存 変換したい動画ファイルをドラッグ&ドロップ 変換後、VLCが…

MacBook Pro + Linuxで3Dデスクトップ

こんな感じにしてみました。透明ターミナルの裏側はブラーまでかかってて妙に良い質感。しかもサクサク動く。さすがはGeForce 8600M。 iTunesやiPod touchのCoverFlowのようなアニメーションでウィンドウを切り替えられたりも。 必要なもの: ネイティブで動…

AppleScriptでSpacesをコントロール

mac

MacのSpaces(デスクトップを複数持つ機能)をAppleScriptで変更する方法。 tell application "System Events" tell spaces preferences of expose preferences (* 現在の設定を取得 *) set new_bindings to application bindings (* 特定のアプリケーションの…

Fedoraで明るさ調整 for MacBook / MacBookPro

BootCamp環境でLinuxを起動すると、スクリーンが目一杯明るくなってしまうことがあり、眩しくて仕方がない。下のサイトにあるプログラムを使うと、明るさが調整できるようです。http://modular.math.washington.edu/macbook/ http://modular.math.washington…

Fedora9をParallelsで使う

Feodra 9をParallelsにインストールしてみました。 やり方は簡単…とは行かなかった。Xが立ち上がらず、テキストインストールになってしまいました。 同じようにXが立ち上がらないという人はたくさんいる模様。 まあとりあえず画面の指示に従って進めていき、…

Mac OS X用Dashboard Widget版 RingClock

id:NeoCat:20080510のリング型時計をDashboard Widget化してみました。 RingClock をダウンロード Dashcodeを使うと非常に簡単にウィジェット化できてしまいますね。むしろ絵を描く方が大変でした。 一応ソース(Dashcodeプロジェクト)も公開しておきます。…

MacBook (Pro)でスリープや再起動を行うショートカットキー

Mac

Macの手書き説明書にあった「ディスプレイだけスリープ」に関連したショートカットキーのまとめ。 なおディスプレイのみスリープは、Leopardのみで有効のようです。また、Ejectを離した直後にControl/Shiftを離さないと、またディスプレイが点灯してしまった…

ParallelsとBoot CampでのLinuxパーティション共用〜X自動設定編

id:NeoCat:20080421 のエントリで、MacのBoot CampとrEFItを使ってパーティション上にインストールしたLinuxを、Parallelsからも起動できるようにしましたが、ハードウェア構成が変化するため、そのままではXの起動に失敗してしまいます。 そこで、これを自…

Parallelsからトリプルブート環境のLinuxを起動

昨日(id:NeoCat:20080420) rEFItを使って構築したトリプルブート環境(Boot Camp)用のLinuxを、Parallelsから起動できるようにする方法を考えてみました。 Parallels内蔵のBIOSがHDDをうまく読めないため(?)、CD-ROMイメージを使ったhackが必要なようです。以…

トリプルブート構成の問題点

Mac

前のエントリで構築した環境で、今のところ分かっている問題点(というか不満)は、以下の通り。 ext3を認識できないせいか、ディスクユーティリティのパーティションマップ表示が崩れ、編集できなくなる(編集するとLinux/WIndowsが壊れる恐れあり)。 (課…