ワテのブログ

The fundamental things apply As time goes by.

2014年10月30日木曜日

wxWidgets 3.0.2用のVagrantfileを作成した

スポンサーリンク

wxWidgets-3.0.2がリリースされていたのでVagrantfileを作成した。

wxWidgets 3.0.0用のVagrantfileを作成した

変更点

  • ubuntuをtrusty64に変更しました。
  • apt-getを高速化するため/etc/apt/sources.list内のurlをftp.jaist.ac.jpに変更しています。
  • wxWidgetsをsourceforgeからダウンロードするように変更しました。

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/trusty64"

  config.vm.provider :virtualbox do |v|
    v.gui = true
  end

  config.vm.provision :shell, :inline => <<-EOT
    sed -i".bak" -e 's/archive\.ubuntu\.com/ftp.jaist.ac.jp/g' /etc/apt/sources.list
    apt-get update -y
    apt-get install -y ubuntu-desktop
    apt-get install -y g++
    apt-get install -y libgtk2.0-dev
    apt-get install -y curl
  EOT

  config.vm.provision :reload

  config.vm.provision :shell, :inline => <<-EOT
    rm -rf wxWidgets-3.0.2*
    curl -OL https://sourceforge.net/projects/wxwindows/files/3.0.2/wxWidgets-3.0.2.tar.bz2
    tar xvfj wxWidgets-3.0.2.tar.bz2
    cd wxWidgets-3.0.2
    mkdir -p ubuntu
    cd ubuntu
    ../configure --disable-debug --disable-shared --enable-unicode --enable-graphics_ctx
    make
    make install
  EOT

end
スポンサーリンク

2014年10月25日土曜日

[golang/cgo] C配列をGoの関数に渡す方法

スポンサーリンク

Cの配列をGoの関数に渡す方法。

  1. C配列のポインタと長さを渡す
  2. Go側でC配列をSliceにみせかける

メリットとしてはオーバーヘッドがほぼないこと。

デメリットとしてはreflect.SliceHeaderの構造は将来のバージョンで変更される可能性があるのでポータビリティの点で不安がある。

ちなみに、配列のメモリはC側でアロケートされているので、Go側ではメモリ管理はされない。

// c
int a[] = {0, 1, 2, 3};
hoge(&a[0], 4);
// go
func hoge(p *C.int, l C.int) {
  var go_array []C.int
  slice := (*reflect.SliceHeader)(unsafe.Pointer(&go_array))
  slice.Cap = int(l)
  slice.Len = int(l)
  slice.Data = uintptr(unsafe.Pointer(p))
  fmt.Println(go_array)
}

関連項目

スポンサーリンク

今週の出来事(2014/10/25)

スポンサーリンク

2014/10/20

夕飯に山芋そばを食す。
夜中に腹痛で目覚める。

昨年火災にあった藪そばが復活していた。
小奇麗な雰囲気である。

2014/10/21

iMac 5kモデルを見に行く。
画面がでかくて綺麗である。
解像度的にはMBPと同じぐらいか。
それほどインパクトは強くなかった。

2014/10/22


気温がさがる。

2014/10/23

2日連続で雨。
Windows 10 Previewを更新。

2014/10/24

NYでギニア帰りの医師がエボラを発症。
今後の情勢がきになる。

マリにエボラ上陸。

スポンサーリンク

2014年10月24日金曜日

[iOS8] 動画でみる・ヘルスケアの簡単な使い方

スポンサーリンク

iOS8に「ヘルスケア」というアプリが追加されました。

健康に関するデータを表示してくれるアプリのようですが、初めて起動するとどうやって使うのか正直よくわかりませんでした。

そこで、簡単な使い方を動画にしてみました。

iOS8 ヘルスケアの簡単な使い方

内容は

  • ウォーキング + ランニングの距離
  • 歩数
  • 体重

をダッシュボードに表示する方法です。

ちなみに、ウォーキング + ランニングの距離と歩数はiPhone 5s以降であればM7あるいはM8プロセッサが検出してデータを保持しているので自分で入力しなくてもデータは更新されます。

体重は、さすがにiPhoneは検知できないので、手入力です。
これは動画で説明していませんが、
「データポイントを追加」をタップして入力することができます。
自分で体重を測ったあとに入力しておけばグラフが作成されます。

スポンサーリンク

2014年10月21日火曜日

[話題] 虫はLEDがお好き?

スポンサーリンク

Who Loves LED Lights? The Nobel Committee – And Flying Insects | Tech | Australian Popular Science
によると、虫たちはナトリウムランプの街灯よりLEDの街灯にあつまりやすいらしい。

虫は青色の光によく集まる習性があるらしい。

白色のLEDは青色LEDの光とその補色である黄色の光との組み合わせである。

虫は、我々には白く見える光の中の青色を感じることができるらしい。

研究者がナトリウムランプとLED照明で比較実験を行ったところLEDの方が48%ほど多く虫が集まってきたらしい。

LEDは街灯の多い 市街地に虫を呼び込むことになり、生態系を乱したり病気を持ち込んだり有害な虫が広がるかもしれない。

研究者は、電気屋さんとの協力が生態系への影響を最小にするために必要であると考えている。

虫だけに無視できない話ですねw

ちなみにこの話題、ナトリウムランプとの比較なのでその点注意です。日本では街灯は蛍光灯が多いですが、海外だとナトリウムランプのが多い国もあります。ナトリウムランプからLEDにかえると虫があつまりやすいということで、日本のように蛍光灯からLEDにかえるとどうなるかはわからないですね。LEDと蛍光灯だとLEDの方が虫が寄り付きにくいというはなしもあるようですがどうなんでしょうか?

スポンサーリンク

2014年10月18日土曜日

[Yosemite] MacPortsでwxWidgetsビルドに失敗する件

スポンサーリンク

OSX Yosemiteにアップグレードしてさっそくmacportsをインストールした。
ちなみにmacportsのpkgインストーラだとインストールできなかったのでソースからインストールした。
で、wxWdigetsを

追記
Yosemiteに対応したMacPorts 2.3.2がリリースされている。
The MacPorts Project -- Download & Installation

$ sudo port install wxWidgets-3.0 @3.0.2_1

としたところエラーが発生。どうやらWebKitLegacy.hがみつからないというエラーらしい。

#16329 (wxwidgets doesn’t build on Mac OS 10.10) – wxWidgetsに報告がある。

この報告を読むとYosemiteではWebKit.hをWebKitLegacy.hに統合したようだ。

#include <WebKit/WebKit.h>

#include <WebKit/WebKitLegacy.h>

に書き換えるべしとある。
そして、macportsがpatch(patch-webview_webkit.mm.diff )でこの書き換えを行なっているようだ。

ところが、Xcode 6.0.1に付属のSDKがMacOSX10.9だけなのでこちらはWebKit.hしか存在しない。
その結果WebKitLegacy.hなんてないぜとエラーが出ているようだ。

結局パッチをあてない状態にソースをもどしてビルドした。

Xcode 6.1からMacOSX10.10のSDKが付属するのだろうか?

追記

より優雅な解決方法

$ sudo port edit wxWidgets-3.0

エディタにwxWidgets-3.0の設定ファイルが表示される。
以下をコメントアウト(行頭に#を置く)して保存すればよろしい。

platform darwin 14 {
    patchfiles-append patch-webview_webkit.mm.diff
}

2014/10/21

xcode 6.1がリリースされた。MacOSX10.10のSDKが付属。

回避策は不要

スポンサーリンク

今週の出来事(2014/10/18)

スポンサーリンク

2014/10/13

台風19号襲来
夜になり風雨つよまる
横浜市から緊急速報メールがとどく
音に驚くが
「詳細はホームページをごらんください」
という一文にも驚く。
ホームページが落ちるだろうとおもったら落ちていた。

2014/10/14

台風一過で気温高し
夜になり気温が下がる

2014/10/15

[話題]
ブロッコリが自閉症の治療に役立つ!?

Could A Treatment For Autism Be Found In…Broccoli? - Modern Farmerによると、ブロッコリに含まれる成分が自閉症の治療に役立つかもしれないらしい。
自閉症は発熱しているとその症状が和らぐ→発熱なしに発熱と同じ状態をつくればよい→ブロッコリに含まれている成分がその状態をつくれるかも?
ということらしい。
なお、ブロッコリを食べまくってもその効果は期待できないらしい。

2014/10/17

AppleからiPad Air 2とiPad mini 3、iMac 5k retina、mac miniが発表される。
5kというのがすごい。驚異的である。実際の画面を拝みたい。

OSX Yosemiteがリリースされる。
MBPにクリーンインストール。
デザインがフラット化。画面の視認性がよくなっている。

enter image description here
この電池のデザインがいまいちだ。

スポンサーリンク

2014年10月13日月曜日

ビアレッティ ブリッカでカプチーノを楽しむ

スポンサーリンク

ビアレッティ ブリッカでカプチーノを楽しむ。
カプチーノは泡立てたミルクにエスプレッソをそそいだ飲み物です。
ミルクとエスプレッソがいい感じに混和して美味しいです。

ミルクの泡立てにはハリオのクリーマーゼットを使用しました。
クリーマーゼットはミルクの撹拌機です。
単三電池二本で動作します。
温めたミルクをクリーマーゼットで撹拌するといい感じにミルクが泡立ちます。
泡だったミルクにブリッカで作ったコーヒーを注ぎ込めばカプチーノのできあがり。

クリーマーゼットでミルクを泡立てる
ブリッカでつくったコーヒーを泡立てたミルクに注ぎ込む

関連投稿

スポンサーリンク

2014年10月11日土曜日

今週の出来事(2014/10/11)

スポンサーリンク

2014/10/06

台風18号襲来
0710頃出勤
雨強し
1100頃風が強くなる
一時間ほどでおさまる
午後は綺麗に晴れた

横浜で土砂災害があったようだ

2014/10/07

ノーベル物理学賞
青色LEDの発明に日本人3名に授与される
素晴らしい
白色LEDは青色LEDがないとできなかったらしい
知らなかった

2014/10/08

皆既月食
今回の月食は高度が低く大きく見えた

アメリカでエボラを発症した患者が死亡

2014/10/09

右足が痛む
歩き難し
筋肉が傷んだようだ

2014/10/10

台風19号が近づいてきている
この台風も急速強化で強力になっている
電車では14日に遅延や運休の可能性があるとアナウンスしている

スポンサーリンク

2014年10月10日金曜日

[Swift] String.rangeOfStringについて

スポンサーリンク

SwiftのString.rangeOfStringについて
文字列の中から特定の文字を探しだしてその位置を取得してその次の文字にアクセスしようとしてハマりました。

NSString.rangeOfStringの戻り値NSRangeは、

struct NSRange {
    NSUInteger location;
    NSUInteger len;
};

的な構造体だったと記憶していたのでSwiftもその乗りだろうと考えて

var str = "hoge/gero"
var range = str.rangeOfString("/")
var pos = range.startIndex + 1

とかするとエラーがでてコンパイルできましぇんと言われます。

どうやらrange.startIndexが型が異なるとおっしゃられているらしい。

調べてみると、

range.startIndex

はイテレータ的な型らしい。
なのでこれを進めるには

advance(range.startIndex, 1)

的な書き方をするらしい。

ちなみにString ClassにはstartIndexというインスタンスメソッドがあってこれを使って

var pos = distance(str.startIndex, range.startIndex)

としてやれば数値として先頭からのオフセットを計算できます。

直接数値でインデクッスを表現しない理由は
Strings in Swift – Ole Begemann
これっぽいです。

以上

スポンサーリンク

2014年10月5日日曜日

[ブリッカ][コーヒ粉] コロンビアコーヒー”スプレモ”

スポンサーリンク

台風18号の影響ですごい雨です。

先日購入したバルベーラ マゲットが底をつきました。

今回は、コロンビアコーヒー”スプレモ”を購入しました。

enter image description here

コロンビア大使館御用達のようです。

さて、いつものようにブリッカでいれてみました。
酸味は少しありますが強くなく爽やかです。
少し渋みがるような感覚があります。
全般的には上品で飲みやすい味わいです。

関連投稿

スポンサーリンク

2014年10月4日土曜日

今週の出来事(2014/10/04)

スポンサーリンク

2014/09/27

11:53 御嶽山噴火
水蒸気爆発と思われる
晴天、休日、紅葉シーズンが重なり犠牲者多数
御嶽山は死火山と思われていたが1979年に水蒸気爆発
活火山の定義をみなおすきっかけとなった

2014/09/30

Winodws 10が発表される
9はどこにいったのか?
スタートボタンが復活
Windows 10 Technical Previewが提供される
Virtual Boxにインストールした

スポンサーリンク

感想
スタートボタンがやはり便利
ほかは8とほとんど変わらず
もうこの仕様でよいとおもいます
安定性を高めてはやくリリースしてほしい

2014/10/01

エボラ出血熱、アメリカ国内で初の感染
テキサス州ダラスで感染者を確認
隔離中

リベリアで取材を行ったアメリカのカメラマンがエボラに感染
隔離中

今後の動向に注目

愛用のiPhone 5Sのディスプレイ右上に浮き上がりを発見
Apple Storeのジーニアスバーに持っていった
ディスプレイの交換で対応できるとのことで交換していただいた
ギリギリ保証期間だったので無料
ディスプレイの交換費用は13,800円らしい

2014/10/03

自称パフォーマーがヒカリエの屋根に侵入
確保される
ルパン四世らしい

docomoからiPhone対応サイフケータイジャケットが発表される

台風18号が接近中
急速強化で超強力な台風ぽい
関東には5日から影響がでそうである

急速強化
台風は海が温かいとより勢力が強くなる
海水温は海の表面の浅いところだけが高くなる
台風がくると深いところの温度の低い海水とかきまぜられ海水温がさがり台風の強化に寄与しなくなるが
深いところまで温度が高いとかき混ぜられても温度が維持され海水温が下がらない
そのため長い間台風が強化される

スポンサーリンク