ラベル Mac OS X Developing の投稿を表示しています。 すべての投稿を表示
ラベル Mac OS X Developing の投稿を表示しています。 すべての投稿を表示

2020年10月24日土曜日

BBEditとMarkdown

TidBITSの受け売りですが、BBEdit version 13.5 に Markdown用の便利なおまけが付きました。

私はそれほど頻繁にMarkdownを書かないので、構文を覚えていません。BBEdit のメニューで [Window > Palettes > Markdown Cheat Sheet] を選択すると、カンニング ペーパーが出てきます(笑) 

このカンニング ペーバーは単にカンニングするだけでなく、項目をダブルクリックすると構文のテンプレートを入力できます。 

ただし、このCheat SheetはMarkdownの基本的な構文だけで、表や定義文などは含まれていません。内容を見ると、どこかに定義文があって追加できそうに思えるのですが、どうも見当たりません。残念?(笑)

2019年1月5日土曜日

markdown とサービス メニュー

HTML の文章を修正するときに表やリストなどを HTML で書くのは面倒なものです。このようなときに、修正箇所を軽量マークアップ言語の Markdown で簡単に書いて、後から HTML に変換できる簡単なプログラムがあります。

Markdownの拡張版 MultiMarkdown では、 [Service] (サービス) から以下の二つの命令が利用できます。

md - Convert - MultiMarkdown to HTML.workflow
md - Convert - HTML to Markdown.workflow

brettterpstra.comからも配布されています。

macOSが持つ機能の一つである [Service] (サービス)は、自分で書いた簡単な処理プログラムを AppleのPages.app や BBEdit.app などさまざまなアプリケーションから利用できます。さらにショート カット キーを割り当てることもできるので、このような目的には便利です。実際、この文章を書くときにも使っています(笑)

ただ、C やPythonなどのコンピュータ言語を文法に応じて色づけする Syntax Highlightng の方法が MultiMarkdown では見つかりませんでした。そこで、もう一つの Markdown の拡張版 Kramdownを [Service] メニューから利用できるようにしました。

Kramdown は Rouge や Coderay の Syntax Highlightng ができます。ここでは Coderay を利用しました。Kramdown と Coderay のインストールの方法はそれぞれのサイトを参照してください。ちなみに、 Kramdown のネイティブは Ruby ですが、macOS に標準付属の Ruby で動作しますので気楽です。
[Service] メニューから呼び出せる命令は macOS に標準付属の Automator.app を使えば簡単にできます。Automator.app はアイコン プログラミング風の極簡単なものだけでなく、Shell Script や Python などを呼び出してもう少し細かな制御もできます。ここでは Kramdown をそのネイティブである Ruby 経由で Automator.app から呼び出します。

Automatorで [ファイル > 新規] を選択し、表示されたウィンド内の [書類の種類を選択してください] の枠から {クリックアクション] を選択する。

[ワークフローが受け取る現在の項目: ] ポップアップメニューから [テキスト] 、[検索対象] ポップアップメニューは初期値の [すべてのアプリケーション]、[入力] はそのまま、[選択されたテキストを出力で置き換える] チェック ボックスをクリックしてチェック マークを入れる。[イメージ] と [カラー] は初期値のままとします。

左欄の [アクション] タブから [ユーティリティ] を選択し、その右側のリストから [シェルスクリプトを実行] を右欄にドラッグ ドロップします。表示されたコラムの [シェル:] ポップアップメニューから [/usr/bin/ruby] を選択し、[入力の引き渡し方法; ] ポップアップメニューから [引数として] を選択します。
[シェルスクリプトを実行]のテキスト エリアに以下のコードを入力します。
#!/usr/bin/ruby
require 'kramdown';
markdown = ARGV[0];
markdown = +markdown
markdown.force_encoding("UTF-8")
print Kramdown::Document.new(markdown, {coderay_line_numbers: nil}).to_html;
以上で、[保存…]を選択すれば、ファイル名をkramdownなどと指定して、/Users/USER_NAME/Library/Servicesに保存されます。使い方は通常のサービス メニューと同じで、テキストを選択してから呼び出します。Microsoft Word でも使えますが、2008年版の Word では呼び出せませんでした(笑)

・・・と、ここまで書いて、上記のMultiMarkdownを[Service]から呼び出すツールは機能縮小版のMultiMarkdownがそのまま入っていることが分かりました。せっかく、MultiMarkdownをインストールしていますので、これを使わない手はありません。

上記と同様にAutomatorから [シェルスクリプトを実行] を使えるようにして、表示されたコラムの [シェル:] ポップアップメニューから [/bin/bash] を選択し、[入力の引き渡し方法; ] ポップアップメニューから [引数として] を選択します。[シェルスクリプトを実行]のテキスト エリアに以下のコードを入力します。
echo "$1" | /usr/local/bin/multimarkdown
あとは、上記と同様に処理します。

2019年1月2日水曜日

BBEditのPreviewフィルタ

以前にも書きましたが BBEdit の Preview 機能で拡張版の Markdown を表示できます。以前は、 Markdown の拡張版 MultiMarkdown でも利用でき、表も描画できることをご紹介しました。

少し工夫することで kramdown でも Preview に表示できます。kramdownは C や Python などのプログラム コードを色づけしたHTMLを出力できます。kramdownのインストールに関してはこのページを参照してください。macOSはRuby 2.x がインストールされていますので、上記ページの Mac OS X 項目にある命令を一つ実行するだけです。

kramdownのインストールが終わったとして・・・まず、~/Library/Application Support/BBEdit/ の中に Preview Filters という名前でディレクトリを作ります。既に Preview Filters がある場合はそのディレクトリを使ってください。

次に、Ruby を使ったShell Scriptを書きます。Shell Script の書き方や設定は他のサイトを参照してください。BBEditで以下のコードを書いて(コピー ペーストして)保存します。ここではファイル名を kramdown にします。保存先は先ほどの~/Library/Application Support/BBEdit//Preview Filters/ の中です。
#!/usr/bin/ruby
require 'kramdown'
markdown = $stdin.read
markdown = +markdown
markdown.force_encoding("UTF-8")
print Kramdown::Document.new(markdown).to_html
インストールの作業は以上です。

Preview で見るには、Markdown ファイルをBBEditで開き、[Markup > Preview in BBEdit] を選択します。次に、Preview ウィンドウ内にある[Filter]タブのプルダウンメニューから kramdown を選択します。

なお Kramdown の Option を設定する場合には最後の行のKramdown::Document.new(markdown).to_htmlのなかのnew(markdown の後に ', {}' を入れて、{}の中にOption を設定してください。Kramdown の Option は Google などで検索すると、この書式と共に色々と出てきます。

2018年11月2日金曜日

Markdown の表の罫線

Markdown のオリジナルでは表を描く機能が定義されておらず、表を描くには拡張版の Markdown を利用することになります。Markdown の拡張版はいくつかありますが、MultiMarkdown と kramdown で表を書くと、とうぜん罫線が表示されません。通常は、出力された HTML ファイルをすこし書き換えてcssファイルで設定すると思いますが、とりあえず表示したいときに面倒です。そんな時のアイデアです。

kramdown

GitHub にも採用されているkramdownはなかなか高性能で、初期設定ではHTMLのタグを書くと出力にそのまま出してくれます。これを利用して、Markdownの文頭あたりに以下の一文を入れます。

<style type="text/css">
table {
    border-collapse: collapse;
}
table, th, td {
    border: 1px solid black;
}
</style>
たとえば、以下のようにします。

<style type="text/css">
table {
    border-collapse: collapse;
}
table, th, td {
    border: 1px solid black;
}
</style>
| First Header | Second Header |         Third Header |  
| :----------- | :-----------: | -------------------: |  
| First row    |      Data     | Very long data entry |  
| Second row   |    **Cell**   |               *Cell* |  

MultiMarkdown

MultiMarkdownは以前にも書きましたが BBEdit の Preview 機能で拡張版の Markdown を表示する時に便利です。BBEditではPreviewで表示する時のcssファイルを指定できます。以下のような css ファイルを書いて、 DefaultCSS_ Markdown.css.css という名前で保存します。保存する場所は ~/Library/Application Support/BBEdit/ の中に Preview CSS と言う名前のディレクトリ作ります。既に Preview CSS がある場合はそのディレクトリを使ってください。

table {
    border-collapse: collapse;
}

table, th, td {
    border: 1px solid black;
}
なお、ファイル名を DefaultCSS_ Markdown.css.css とするとPreviewの初期値として利用できます。詳しくは、BBEditのwikiを参照してください。

2018年8月25日土曜日

Python 3.7

Python 3.7がリリースされています。
我が家ではHomebrewを介さず、Pythonのサイトからダウンロードしてインストールしていますが、インストーラの最後に以下のようなコメントが表示されました。

詳細は調べていませんがSSLに色々とあったことは聞いていたので、指示に従って/Applications/Python 3.7/にあるInstall Certificates.commandを実行しました。しかし、Terminalが起動して、その画面でインストールは成功したけどpipが古いと言われました。

You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.


そりゃ、Pythonが古くなったから3.7をインストールしたのでpipも古いのは当然です(笑)

pip3 install —upgrade pipで18.0にしました。

ところで、以前は'pip'と'pip3'を使い分けていたように記憶しているのですが、'pip -V'でも'pip3 -V'でも同じ'pip 18.0'を返してきます。歳とってボケてきたかな(苦笑)

2018年4月21日土曜日

BBEditとMarkdownの表

BBEditはMarkdownをサポートしており、テキスト エディタで書いたMarkdownをPreviewのウィンドウでリアルタイムにレンダリングして表示します。BBEditは標準でMarkdownの基本部分だけで表などは表示できませんが、BBEditのフィルタ機能拡張を利用すると表なども表示できます。BBEditのマニュアルにはフィルタ機能拡張の例としてMultiMarkdownが書かれていますが、このMultiMarkdownがBBEditのPreview機能を拡張してくれます。

MultiMarkdownはMarkdownファイルとhtmlファイルを変換できるツールで、以下のurl内の[Download] タグ から入手できます。
http://fletcherpenney.net/multimarkdown/

MultiMarkdown は2018/04/20の時点でgithub.comから配布していました。Mac版(現時点でMultiMarkdown-Mac-6.3.2.dmg)をダウンロードしてインストールすると以下のディレクトリにmmdなどの一連のファイルがコピーされます。ただし、現時点で開発者登録していないらしく[システム環境設定]の[セキュリティとプライバシー]での操作が必要です。
/usr/local/bin/
上記ディレクトリ内のmmdのエイリアスを生成して、ホーム ディレクトリ内の以下のディレクトリに保存します。
~/Library/Application Support/BBEdit/Preview Filters/

以上で、BBEditを起動してMarkdownのファイルを開き、[Markup > Preview in BBEdit]を選択して、[Filer]タグから[mmd]を選択すると表などが適切に処理されます。さらにPreview Filtersディレクトリ内のエイリアス名を[DefaultFilter_markdown]に変更すると、MarkdownファイルのPreviewの初期設定としてmultimarkdownで処理されます。

なお未確認ですが、この拡張機能の設定はBBEditをアップデートすると初期化される場合があるようです。

2014年7月4日金曜日

AppleのUrbinaさんが退職

AppleのUSBメーリングリストで世界中の技術者をサポートしてきたFernando Urbinaさんが退職するそうです。なんと彼はAppleに24年も勤めたそうです。

2013年10月26日土曜日

PebbleとMac OS XのWi-Fi

Pebbleの開発では、Wi-FiとiOSを経由してPebbleに試作したappをダウンロードします。しかし、日常的に使用しているWi-Fiルータを実験に使用するのは不安です。MacではWi-Fiのアドホック モードも利用できますし、屋外や出先でも開発できます。

設定は以下の通りです。
Mac OS X側で[Apple mark > システム環境設定 > ネットワーク]の画面左欄から[Wi-Fi]を選択し、右欄の[Wi-Fiを入にする]ボタンを押します。[ネットワーク名]ポップアップ メニューから[ネットワークを作成...]を選択します。表示された画面でネットワーク名(たとえばOPPANIHA)を指定し、必要に応じてセキュリティを[128 ビット WEP]などに設定します。[メニューバーに Wi-Fi の状況を表示]チェックボックスをONにすると、メニューバーのアイコンがiMacのような図に変わります。

なお、この時にMac OS XはIPアドレスを自動的に割り振ってくれているはずです。[状況]にIPアドレスが表示されていると思います。IPアドレスの変更は[詳細...]ボタンを押し、表示された画面の[TCP/IP]タブで、[IPv4 の構成]のポップアップ メニューから[手入力]を選択し[IPv4 アドレス]などを適時設定してください。

次に、Terminalを開いて、開発しているディレクトリに移動し、以下の命令でPythonのhttpサーバを起動します。
python -m SimpleHTTPServer 8000

iOS側で[設定 > Wi-Fi]の画面で[Wi-Fi]ボタンをONにし、[DEVICES]欄から先ほど設定したネットワーク名を(上記の例ではOPPANIHA)選択し、アラートボックスの[登録]ボタンを押して、パスワードを入力します。

iOSのSafariを起動してURL(上記の例では)に移動すれば、以下のような画面が現れます。
なお、Wi-Fiを設定した後に実際に接続可能になるまで時差があります。特に始めて設定した場合には、数分ほど余裕を見ることをお勧めします。また、スリープの設定などにも注意してください。

次に、URLの入力ですが、メモ.appにURLを入力し、[完了]ボタンを押せば、URLがアンカーポイントして機能します。URLをタッチするとSafariが起動し、目的のURLに移動します。メモ.appであればURLを確認しやすく、複数のappを開発しているときなどに便利です。
まぁ、多くのMacにはBluetoothがあるので、直接ダウンロードするのが正当とは思いますが(苦笑)

MacとPebble SDKの記事はPebbleのラベルで検索してください。

Pebble SDKのHelloWorld

さて、Pebble SDKの最後にHelloWorldです。
Build your first Pebble application
http://developer.getpebble.com/1/GettingStarted/HelloWorld/

今回の実験に使用した器材は以下の通りです。
  • MacBook Pro 17" Mic 2010
    Mac OS X 10.8.5
  • iPod touch 5th
    iOS 7.0.2
  • Pebble Hardware V2R2
    Pebble Firmware v1.12.1
他にWi-Fiのルータがあれば便利ですが、他の人も利用しているルータではセキュリティが気になります。Mac搭載のWi-Fiのアドホック モードでもappをダウンロードできますので、こちらの方が便利な場合もあると思います。興味のある方は、このBlog内の「PebbleとMac OS XのWi-Fi」の項目をご覧ください。

さて、Mac OS Xで開発したappのPebbleへのインストールに関して、上記のページには以下のようにしか書かれていません。
And on your phone, go to: http://:8000/build/. Click on hello_world.pbw and choose to install it with the Pebble application.
iOSのSafariに他appを指定してダウンロードしたファイルを開く機能があることを知らなかったので、この説明には混乱しました(苦笑)

閑話休題、上記URLの解説にある順で説明しますと、以下のようになります。

■ Create a new Pebble project
まずは、新規プロジェクトを作るPythonスクリプトcreate_pebble_project.pyを走らせます。
$ ~/pebble-dev/PebbleSDK-1.12/Pebble/tools/create_pebble_project.py ~/pebble-dev/PebbleSDK-1.12/Pebble/sdk hello_world
生成したプロジェクトのディレクトリhello_worldに移動します。
cd hello_world

■ A first glance at a Pebble application
この項目は~/hello_world/src/hello_world.cの解説です。興味深い内容もありますが、読み飛ばすか、後でじっくり読んでも良いと思います。なお、全てのAPIの解説はPebble SDK: Main Pageにあります。ただし、いきなり補償対象外のコメントが出てきます(笑)

■ Write a Pebble Hello World!
~/hello_world/src/hello_world.cを書き換えてHello World!を表示できるようにします。とりあえず動かしてみたい人はa. とc. の内容はそのままコピー、b. は最後の内容をコピーしてください。

■ Build and deploy your Pebble application
Pythonのビルド システムwafを使って設定とビルドを実行します。
./waf configure
./waf build
PythonのSimpleHTTPServerモジュールを使用して、httpサーバを開きます。ちなみに、サーバの終了は昔ながらのcontrol + cです。
python -m SimpleHTTPServer 8000
さて、ここで最初にあげた一文に突き当たります(笑)
And on your phone, go to: http://:8000/build/. Click on hello_world.pbw and choose to install it with the Pebble application.
your phoneとはiPhoneやiPadなどのiOS装置のことで、URLにあるip addressはMac OS XのIPアドレスのことで、[Apple mark > 環境設定 > ネットワーク]で左欄の[Ethernet]を選択すれば、右欄の[IP アドレス]に書かれていることはご存じの通りです。iOSのSafariでURL(例えばhttp://192.168.0.1:8000/build/ )を指定すると、以下のような画面が表示されます。

表示されたファイル リストの中からhello_world.pbwをタップして、表示された画面右上の["Pebble"で開く]ボタンを押します。

これで、Pebble.appの画面に切り替わって信用するかの問合せに答えると、メータが現れインストールが始まります。

インストールが終わると画面が書きのように変わって、Pebbleにはインストールしたappが起動します。

Wi-Fiのアドホックモードを利用した場合には、URLの指定が少し異なりますが、このBlog内の「PebbleとMac OS XのWi-Fi」という項目を参照ください。

MacとPebble SDKの記事はPebbleのラベルで検索してください。

Pebble SDKイントール

Pebbleと言う時計のオモチャを調べる機会を得ましたので紹介します。

Pebbleの使い方はあちこちで紹介されていますし、日本語の紹介記事もあるようです。しかし、SDKに関しては見当たらないようです。

SDKはInstalling Pebble SDK on Mac OS Xにあります。比較的読みやすい英語ですが、ほかのプラットフォームと共通化するためにMacで馴染みのある方法とは言いがたいところが散見されます。今回はMac OS X 10.8.5上のXcode 5.0 (5A1413)で試しています。

先のページInstalling Pebble SDK on Mac OS Xには最初に四つの作業手順の概要が書かれています。簡単そうに見えますが、一番手間がかかる作業は2のbで、これだけで半分以上の作業時間を取られます。

解説ではインストール先を~/pebble-devにしており、そのまま従いました。また、インストールのヘルプ フォーラムもあるそうですが、私はお世話になることはありませんでした。以下は、開設の手順に従って気がついたことなどを紹介します。

1. Download and install Pebble SDK
PebbleのサイトのDon't have an account? Sign Upボタンでアカウントを作り、SDKのファイルPebbleSDK-1.12.tar.gzを入手します。
ホームにフォルダを作って~/pebble-devと命名し、そこにPebbleSDK-1.12.tar.gzを入れてダブルクリックし、PebbleSDK-1.12というフォルダができたことを確認します。

2. Download and install dependencies for Pebble ARM toolchain
XcodeのPreferencesでDownloadsタブのComponentsタブでCommand Line Toolsの右にあるボタンを押してXcodeのツールをインストールします。

さて、libmpc(GNU Multiprecision library)のインストールですが、ここでhomebrewのインストールが求められています。これは別にまとめましたので、「PebbleのためのHomebrew」の項目を参照してください。

無事にhomebrewがインストールされ、brew doctorも通った…として、次は以下の命令です。
brew install libmpc
ファイルを三つほどダウンロードすると完了しますので、以下のファイルが存在するか確認します。
/usr/local/lib/libmpc.3.dylib

3. Download and install Pebble ARM toolchain
もうひとつファイルをダウンロードします。このファイルはMac OS Xのバージョンによって異なります。ダウンロードしたファイルを~/pebble-devに入れてダブルクリックするとinside ~/pebble-dev/と言うフォルダができます。
私はTerminalでbashシェルを使っていますので、.bash_profileを編集して環境変数PATHに~/pebble-dev/arm-cs-tools/bin:を追加します。解説ページにもあるように、一時的にexportしても良いかもしれません。
以上の作業が終われば、gccのバージョンをチェックし、コンパイルの動作検証します。解説ページにある命令はコピーしてTerminalにペーストすれば実行できます。動作検証では解説にもあるwarningが表示され、a.outが作られました。
今回はBuilding the toolchain from Sourceにあるソースからのビルドは不要でした。

4. Download and install SDK dependencies
この作業はフォントや図の変換などに使うPythonのライブラリのインストールです。Mac OS X 10.8.5では書かれた通りに手順を踏めば良いのですが、c. Install the Python library dependencies:は先の二つの命令と比べて長めのテキストをはき出し、最後は以下のようになります。
Successfully installed Pillow freetype-py sh
Cleaning up...
また、最後のfreetypeのチェックはなにも応答が な け れ ば 正常です。

はてさて、これでようやくHelloWorldのappを試す、用意ができました。

MacとPebble SDKの記事はPebbleのラベルで検索してください。

Pebbleの解説文章

Pebbleの解説文章にはiOSやMac OS Xに関連する部分が書かれていないことが良くあります。ほかのプラットフォームと共通化が目的なのでしょうか?

例えば、最初にBluetoothでPebbleをペアリングする時にPebble.appのインストールを求められますが、同社の説明書にもWebサイトにも記述が見当たりません。私の場合は、機能制限でappのインストールを止めていると、iTunes StoreでそれらしきPebble.appを探す羽目になりました。探すものがPebble.appという名前であると分かっていれば良いのですが、最初なので分かるはずもなく似たような名前のappをいくつか試しました。

MacとPebble SDKの記事はPebbleのラベルで検索してください。

PebbleのためのHomebrew

Pebbleと言う時計のオモチャを調べるために、Homebrewをインストールしました。
http://brew.sh
Homebrewのインストーラは上記URLの一番下にかかれたRubyのスクリプトです。

ところで、ドメインが.sh、なんとナポレオン幽閉で有名なセントヘレナ島(笑)いままでパッケージ管理システムは避けていたのですが、大西洋の孤島程度にはパッケージを閉じ込めてくれるのでしょうか?
少し調べてみると、比較的分かりやすいところにHomebrewはアンインストールの方法が書かれていたので試すことにしました。もちろんTime Machineもありますし…

ruby -e "$(...
インストールのスクリプトは最初にどこを書き換えるかなどを表示します。しかし、問題は利用後のテンポラリ ファイルなどのゴミが妙なところに残ったり、ほかのファイルを書き換えたりしないか?という・・・まぁ、心配し始めると切りがないので、パスワードを入力すると以下の一文で終わりました。
==> Installation successful!
You should run `brew doctor' *before* you install anything.
Now type: brew help

brew doctor
インストール スクリプトがはき出した指示に従ってbrew doctorを実行するとWarningが7つ出てきました。
指示に従って一つ一つ潰していき、適時にbrew doctorを走らせ追加の指示があればそれに従いますと、以下の一文が出てきます。
$ brew doctor
Your system is ready to brew.
これでPebbleのSDKをインストールする準備ができました。

MacとPebble SDKの記事はPebbleのラベルで検索してください。

2013年4月16日火曜日

Mac OS X上のJava逆コンパイラ

Mac OS X上で動作するJavaの逆コンパイラとしてJava DecompilerのJD-GUIという無料のツールがあります。
http://java.decompiler.free.fr/?q=jdgui
オープンソースではありませんが、WindowsとLinux版もあります。

JADと言うコマンドラインツールもありますが、http://www.kpdus.comがアクセスできなくなり、メンテナンスされておらず、Java5もサポートされていません。この記事を書いている時点で、以下のミラーサイトがあります。
http://www.varaneckas.com/jad/

2013年3月26日火曜日

gatherheaderdocにバグ

JavaDosのApple版HeaderDocのツール[gatherheaderdoc]にバグがあって、それを修正方法も含めて指摘しているサイトです。
found bug in apple tool 'HeaderDoc' - arg3.com
http://arg3.com/blog/2012/09/16/found-bug-in-apple-tool-headerdoc/
ただし、このコードをそのままCopy&Pasteしても治りません。ここに書かれている修正箇所とバグの部分を見比べればperlを知らなくても治せますので、良しとしましょう(笑)
[gatherheaderdoc]は[headerdoc2html]が生成した複数のHTMLファイルに対するタグを持ったHTMLファイルを自動生成してくれるperlのスクリプトです。しかし、このバグが原因でHTMLの最初の一行だけのファイル(事実上の空ファイル)しか生成されません。

2013年2月18日月曜日

XcodeのエディタとBBEdit

XcodeのエディタとBBEditを比べて、検索のテキストフィールドには正規表現のシンタックス カラーリングがありません。BBEditになれている身には、とても見にくい (苦笑)

2012年3月31日土曜日

kext 64bit KPIとAPI

Appleは当初からkextドライバを書くことを推薦していません。また、多くの外付け装置がUSBを経由するようになった現在では、独自にkextドライバを書く必要性は低くなっています。ほとんどの場合にはターゲットの装置を他のアプリケーションが横取りしないようにするためのcodeless kextドライバを書くだけで十分でしょう。

…とは言うものの、USB-IFのDevice Classなどで定義していないような特殊は装置はkextドライバが必要になる場面も残っています。そのような場面では、カーネル空間とアプリケーション空間とのやり取りが64 bitであることは重要かも知れません。そのような人向けに64bitのカーネル内インターフェイス(KPI)とAPIの概要を解説した文章が以下にあります。

User Client Info.txt

まぁ、Appleのプログラマが64bit化で七転八倒の苦労しているのを読むのも面白いかも知れません(笑)

2012年3月21日水曜日

kextの32、64、PowerPC混在

以下の資料に、64bitと32bit、さらにPoewrPCのコードとの混在させて一つのkextドライバにするアイデアを以下で説明しています。まぁ、こう言うこともできるという事だろうと思います。

https://developer.apple.com/library/mac/samplecode/SimpleUserClient/Listings/Read_Me_txt.html

2012年3月18日日曜日

64 bit kextドライバ

2003年に最初に公開したUSBマウス用のkexドライバの作り方をMac OS X 10.7.xで動作する64 bit版として書き直しました。また、書式をpdfからhtmlにしました。まだ校正中ですが、参考になれば幸いです。
http://db.tt/lQMFCrWU

2011年10月12日水曜日

dartとChromium

Googleがdartと言う言語を発表していますが、それを走らせるにはChromiumというプロジェクト名のオープン ソースのWebブラウザが必要だそうです。

そのChromiumはソースコードが公開されているだけで、自分でコンパイルすると書かれています。そこで順位追ってみると以下の記述に当たりました。

Get the Code - The Chromium Projects
http://dev.chromium.org/developers/how-tos/get-the-code

If you only want to look at the source code on your own machine, you'll need at least 1.6 GB of hard drive space available. (Somewhat less for Linux, since it already has some of the dependencies installed.) If you want to build it, you will need just under 10 GB of space, including all the object files and executables.
さすがに、このためだけに10G byteものスペースをメインドライブに空ける余裕も根性もわたしには無い(苦笑)と言う事であきらめました。

2011年3月13日日曜日

Xcode 4をダウンロード

Xcode 4をダウンロードしました。プノンペンで4.6G byteのファイルのダウンロードするのは至難の業で、途中で何度もエラーになりました。ブラウザーがダウンロードを終了したと誤判断してダウンロード中のファイルを.dmgファイルにしてしまいます。

Safariでは.dmg.downloadファイル内にあってダウンロードに関する情報を書いたInfo.plistを消去して、.dmgファイルを外に出してしまいます。Firefoxでは.dmg.partファイルを消去します。

どうもISP側のルータかなにかの設定に問題があるように思うのですが、プロトコル アナライザでもないと解析のしようがありません。

いずれにせよ、三日ほど掛けてダウンロードに成功しました。残る問題はこれをインストールするか?です(笑)