non vorrei lavorare

2020年度からの小学校プログラミング教育の必修化を親として迎えるブロガーの書く、子供との日常

lorcaを試した

次男の恐竜好きが続いており、先日も上野の国立科学博物館真鍋真先生のお話を聞きに行ってきました。@kjunichiです。

lorcaとは

Build cross-platform modern desktop apps in Go + HTML5 

インストールされているChromeChrome DevTools Protocolを利用し、操作してGUI等を実現している模様。

github.com

試したやり方

go get -u github.com/zserge/lorca
cd $GOPATH/src/github.com/zserge/lorca/examples/hello
go run main.go

関連記事

12年前の記事

11年前の記事

7年前の記事

3年前の記事

Rustで共有ライブラリを作る際に必要だったCのconst char*をRustの&strにする方法

おはようございます。また次男が高熱が出ており、登園している保育園でインフルエンザが盛大に流行っているので、これから検査に病院に行く@kjunichiです。

背景

Rustで作ったwebcamrsをcrateではなく、共有ライブラリとする事で、node.jsのffi-napから利用しようと思った。

Cのconst char*をRustのstrにするには

use std::ffi::CStr;
use std::os::raw::c_char;

pub fn foo(title: &str) -> () {
    // 
}

pub extern fn named_window(title: *mut c_char) -> () {
    let slice = unsafe {CStr::from_ptr(title)};
    foo(slice.to_str().unwrap());
}
  • Rustでconst char**mut c_char
  • CStr::from_ptrで共有ライブラリに渡されたconst char*からスライスを作成
  • 作成したスライスをto_strでResult型のから&strが取り出せる。

参考資料

doc.rust-lang.org

関連記事

14年前の記事

7年前の記事

5年前の記事

久々にhomebridge-iSightを動かそうとしてmojaveにやられた

こんばんは。年が明けてから、長男は学校の宿題を家に帰ってからだとマイクラ等で遊んでしまい、両親が帰宅するまでにやる事あまりできなく、ちょっと暗い中を帰宅することになるものの、学童で宿題を終えてから帰るようにと帰宅時間を遅めにして過ごしています。@kjunichiです。

背景

mac mini 2014にamazonサイバーマンデー で外付けのSSDを買ってこれによりSSHDからSSDへアップグレードを 果たした。

SSHDからSSDへの移行はクリーンインストールで行ったので、チマチマこの環境を整備している。 そこで、

abrakatabura.hatenablog.com

の記事を思い出し、homebridgeでサードパーティのウェブカメラを再び動かそうとした。

homebridge-iSightffmpegが即死する

Abort trap: 6

という、共有ライブラリの参照が解決できないと割とありがちなエラーなのだが、 otool -Lで確認しても特に問題なし。

そこで、しばらく期間を置いていたので、ffmpegが新しくなって、新たな不具合が発生しているのか? と疑い、homebrewでHEAD版を入れてみた。

brew unlink ffmpeg
brew install --HEAD ffmpeg

なぜか、nasmとtexi2htmlをreinstallしろとhomebrewに言われた。これには素直に対処して進めることができた。

が、HEADにしてもエラーが解消することがなかった。

mojaveが原因だった

ffmpegでmojaveにして同様に動かなくなった症状を検索したが、見つからず途方に暮れた。 一晩寝て、VirtualBoxがmojaveで動かなかったことをぼんやり思い出し、 許可しないとダメかも?と思いつき、その線で検索したら事態が好転した。

Terminal.appでのカメラアクセスを許可する

以下のように、コントロールパネルでTerminal.appでのカメラアクセスを許可することで解決した。

f:id:kjw_junichi:20190125202307p:plain

今後の課題

とりあえず、静止画はホームアプリで表示されるようになったが、 クリックして本来動画がストリーミング表示されるはずが、これがダメ。

関連記事

15年前の記事

7年前の記事