Mac

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が壊れる恐れあり)。 (課…

Mac OS X + WIndows XP + Linux (Fedora 8)のトリプルブート環境に移行

Boot Campを使うとデュアルブート環境は比較的簡単に構築できますが、3種類以上のOSを同時にインストールする「トリプルブート」はサポートされていません。しかしサードパーティ製のブートローダ「rEFIt」というものが開発されており、これを使えばトリプル…

Macのメニューバー

Mac

ソフトウェアアップデートで10.5.2になって、メニューバーのアイコンが増えました。 TimeMachineのバックアップ状況が一目で見れるようになり、「あ、動いてるんだな」という感じがして良いです。ちなみに、うちのMacのメニューバーはこんな感じ。いろいろ入…

Leopard(10.5)でTiger(10.4)向けユニバーサルバイナリをコンパイル

Mac C

Leopard(MacOS X 10.5)のgccを使ってコンパイルしたバイナリは、そのままではTiger(MacOS X 10.4)上では動かないようです。 ちょっと検索したところ、10.4uのSDKを指定すれば良いことが分かりました。 ついでに、ユニバーサルバイナリを作る方法も調べてみた…

Macのsortは+POSを受け付けない

Mac

manで見ると、sort +2 hogehoge というコマンドで、2番目のフィールドを基準に行をソートできるはずですが、実際には echo "1 1 1\n5 5 5\n2 2 2" | sort +2 sort: open failed: +2: No such file or directory と、エラーになってしまいます。代わりに、-k…

Mac OS X + MediaTomb + PS3

待ちに待ったPlayStation3のファームウェアアップデートがとうとうキターー(゜∀゜)ーーッ!! 正式に、DivX形式のビデオ再生に対応しました。WMVについても(一部)対応。 早速、以前 finkでMac上にインストールしたMediaTomb (id:NeoCat:20070602 や id:Neo…

MacでOggのインターネットラジオを聞くには

Mac

Ogg形式のインターネットラジオって、Macで試聴するためには何が良いんでしょうか。 iTunesはOggなストリーミングに対応していない*1、VLCは対応しているものの設定が悪いのか音がぶちぶち切れる(一応バッファ秒数は増やしたんですけど…)という状況です。…

LeopardでメールをGrowlで通知

Mac

Tigerまででは「Mail.appetizer」を使って、新着メールが来たときにその内容をフロートウィンドウに出していたのですが、これがLeopardでは動きません。 代わりの方法として、AppleScriptとGrowlを使う方法が紹介されています。メールフィルタのルールとして…

MediaTomb メタ情報の文字化け解消編

MacからPS3にメディアを送信するためのDLNAサーバとして、Mediatombをインストールしていましたが、これまでMP3ファイルの日本語で書いたアルバムやアーティストなどが文字化けしてしまっていました。これはMediaTombがLatin-1以外の文字に対して使われるこ…

lsコマンドの拡張属性

Mac

Leopardでは、ls -lで表示されるアクセス権の表示の後に、拡張属性があるファイル/ディレクトリに「@」が表示されるようになっています。 リソースフォークやファイルタイプ/クリエータ情報がある項目の他、Time Machineのバックアップ先のファイルにも拡張…

MediaTombをアップデート

ところで、FinkのMediaTombですが、0.10.0にバージョンアップされているようです。 ちなみに0.9.1はバイナリ化されたものがapt-get install mediatomb で入るように。コンパイルしないのでチョッ速です。さて、Leopardでも無事FinkからMediaTomb (0.10.0)を…

MediaTombのMySQL対応

Mediatombはデフォルトではデータベースとしてsqlite3を使っていますが、1000を超えるファイルがある場合、sqlite3だと非常に処理に時間がかかってしまいます。 代わりにMySQLをデータベースとして使うようにすると、処理が格段に早くなります。 ただし、fin…

PS3がDivXに対応

Mac

DivXから、PlayStation3が公式にDivXサポートする旨の発表があったようです。\(^o^)/http://gigazine.net/index.php?/news/comments/20071114_ps3_divx/以前このブログで書いたMediaTombを使えば、MacやLinuxマシンに入っているDivXの画像をネットワークで…

LeopardのSafari 3.0で変わったこと

Leopardにアップグレードしたことで、Safariが3.0になり、JavaScriptの挙動などにいくつか変化がありました。 大きなところは http://webkit.org/blog/122/webkit-3-10-new-things/ に描いてある通りなんですが、マイナーな変更点で、気づいたところをいくつ…

apacheの設定は引き継がれない

Mac

Apache2 (Apache/2.2.6) になったからかな。でもSitesに入れても公開されないのは、システム環境設定の説明とも食い違ってるし、ちょっと困るんじゃないだろうか。 新規ユーザを作ると /etc/apache2/users/xxx.conf が作られるので、これをコピーして自分の…

APEでハマった

Mac

Application Enhancerを入れていたので、見事にインストール後の再起動で起動しなくなりました。ぶっちゃけ事前に知ってたんですが忘れてたw まあ、シングルユーザモードで入って/Library/SystemConfiguration/ApplicationEnhancer.bundleを消せばOK。 詳し…

rsyncでMac OS Xのバックアップ

Mac

Mac OS X 10.5 "Leopard"が発売され、いろいろ(プラスにもマイナスにも)Mac界は盛り上がっているようです。うちもそろそろインストールしたいのはやまやまなんですが、アップデートインストールはトラブルがいろいろ報告されているし、かといってクリーン…

MacからPS3にDLNAで映像や音楽を配信

ちょっと前になるが、PlayStation3がDLNAクライアント機能に対応した。これを使えば、市販のDLNA対応メディアサーバから映像/音楽をストリーミングしてPS3で再生できる。ただし、我が家では大半のコンテンツはMacに繋がったHDDに入っているし、DLNA対応サー…

Mac OS Xでユーザあたりのプロセス数制限を増やすには

Mac

Mac OS X 10.4では、1ユーザあたりの起動可能なプロセス数がデフォルトで100になっている。そのため、実験などでたくさんプロセスが起動するようなプログラムを動かすと、 Resource temporarily unavailable などというエラーで起動に失敗することがある。 …