低温調理器としてAnovaを手に入れた。

続きを読む
ヨーグルトメーカーでブリとかの魚を低温調理してみる
Raspberry Pi用Arduino「πduino」基板を手に入れた
Raspberry Pi用Arduino「πduino」基板を手に入れた。
トランジスタ技術2017年2月号の雑誌付録の基板のみで、実装する部品は手に入れていない。


Arduino Unoの互換ということなので、ATmegaマイコンにArduino Unoブートローダーを書き込んだものを実装すればよさそうだ。
回路図は、これを見ればよい。電源回路とシリアル通信用の電圧変換回路で出来ている。手持ちの同様な部品でも代用できそうだ。
ちなみに部品込みのキットはスイッチサイエンスなどで購入できる。
Raspberry Piとの通信はシリアルポートで行うようになっており、シリアルポートを使ったArduinoのソフトの書き込みもRaspberry Piから行うことができる。
それくらいなら普通のArduinoをRaspberry Piに繋げば一緒なのだけど、πduinoのメリットとしては基板をRaspberry Piに重ねて固定して使えるというのがあるようだ。
断捨離と減量メモ2017 その5
1/30~2/5の分。
断捨離は、やっと今週末に重い腰を上げて、積み上げてあるコンテナ箱のうちガラクタっぽいのを1箱だけ片付けた。
退職する前の会社で人事研修とかで使った書類のバインダーとか出張先で貰ったカタログとかの束とかが箱に突っ込んであった。小まめにそのときに捨てていれば良かったのだろうけど、ずっと放置していた。
減量は、エアロバイク漕ぎをやったのだが、たぶん2日ほどサボってしまったようだ。
筋トレはスクワットを1回だけやった。
iPad mini2の充電が不調になっている
iPad mini2の充電が不調になっている。なぜだろう?
純正のケーブルが断線して駄目になってしまってから、MFiマーク付きのちょっとごつい互換充電ケーブルをずっと使っている。
iPhone5sの充電は問題ないのだけど、iPad mini2の充電で「このアクセサリは使用できない可能性があります」というようなポップアップ表示が頻発して、充電ができなくなることが最近増えてきていて困っている。
しばらく前までは、充電が完了してから使用できないというポップアップが出て無効になるという挙動だったのであまり実害を感じていなかったのが、ここ最近は充電開始時に出るようになってしまったので困っている。
何度かケーブルを挿し直すとポップアップが出ないことがあるので、数回挿し直していた。
ところがここ数日で症状が悪化して挿し直してもうまくいかないことが多くなってしまった。
(気温による影響とかあるのだろうか?)
とりあえず断線してしまった純正ケーブルが不安定なのだけどケーブルの折れ曲がる角度によっては導通してまだ使えることがあるので、それを使ってなんとか凌いでいる。
純正ケーブルを買い直した方がよいみたいだ。
だとしたらMFiという認証は意味無いのかと、ちょっと理不尽だと思った。
マクドナルドのトリプルチーズバーガーをダブルで頼んだら中身が4枚だった
マクドナルドのトリプルチーズバーガーをダブルで頼んだら中身が4枚だった。
期間限定でマクドナルドがトリプルチーズバーガーを販売しているので、注文したみた。ダブルで。

写真の左側のトリプルチーズバーガー、なんか少し大きいような気がすると思ったら、ハンバーグのパティが3枚ではなく4枚だった。

WindowsでUnicode版のFindFirstFileのAPIを使ってみたサンプルコード
昨日のWindowsでファイル名を変更するプログラムをANSI版APIからUnicode版APIに書き換えた話で、
とりあえずリネーム処理以外のFindFirstFileというAPIのUnicode版FindFirstFileWを使ったフォルダとファイルをスキャンする使い方のサンプルコードっぽいのを晒してみる。
cmd.exeで動かすと文字化けするので、スタートメニューからPowershellを起動してPowershellで動かせば文字化けせずにUnicodeのフォルダ名やファイル名が正しく表示される。
続きを読む
Windowsでファイル名をまとめて変更するのに、C言語でプログラムを書いたのだけどUnicode文字のファイル名でハマって苦労した
Windowsでファイル名をまとめて変更しようとしていた。
で、何かスクリプト言語でちょろっと書いて一気に変換みたいなことをやろうと最初は思っていたのだけど、結局C言語でプログラムを書いてしまった。
ところがANSI版のAPIで書いたらMoveFileでうまく変更できないファイル名が出てきたので、Unicode対応のMoveFileWを使って書き直す等、もとのANSI版のAPIのプログラムをだいぶ書き直して動かした。
フォルダ内のファイルをスキャンしていくのにFindFirstFileWとFindNextFileWというAPIを使う。
使用する構造体はWIN32_FIND_DATAでなく、WIN32_FIND_DATAWを使う。
ファイル名はANSI版ならヌル文字を終端に入れたchar型の配列でよいのだけど、Unicode版はwchar_t型の配列を使う。
wchar_t配列型の文字列のフォルダ名やファイル名などを加工するのに、strcpyやstrcatが使えないので代わりにwcscpyやwcscatを使った。
文字定数は”foo”などと書く代わりにL”foo”と書いてUnicodeにしておかなければならない。
コマンドラインで動かすプログラムなのだけど、Unicodeを表示させるためにprintfでは駄目なので、printf(“%s”,str)と書くかわりにwprintfを使ってwprintf(L”%ls”,wstr)となどと書く。
cmd.exeから動かすとwprintfの表示が文字化けしてしまう。
コードページを変更するコマンドを使ってもどうもうまくいかない。
cmd.exeを使わずにPowershellで実行するとちゃんとwprintfの表示ができた。
知っている人にはきっと今更な話だが、ずっと自分はANSI版のAPIしか触ってなかったので。
—
つづく
ミラクルフルーツみたいな味覚hackで、苦味や渋味やエグ味とかを変換できないのだろうか
ミラクルフルーツみたいな味覚hackで、苦味や渋味やエグ味とかを変換できないのだろうか?
先日、ミラクルフルーツというのを体験した。

ミラクルフルーツの果汁は、舌の味を感じる細胞に不思議な作用をして、酸味を甘みに変換してしまうらしい。
ミラクルフルーツを食べて果汁をしばらく舌につけた後、レモンなどの酸っぱいフルーツを食べると酸っぱく感じる代わりに甘く感じる。
この性質を利用してダイエット用の食品としてAmazonなどでも売っていたりする。
カロリーの高い甘いデザートの代用にミラクルフルーツと酸っぱいフルーツを食べることで、甘味を摂りたいとい欲求を低カロリーで満たすことができるということだ。
続きを読む
Swiftでglibcを使うにはどうすればいいだろうか
Swiftでglibcを使うにはどうすればいいだろうか?
SwiftのLinux版(Ubuntu版)というのがあり、Mac版やiOS版みたいなフレームワークのライブラリが無いかわりにglibcを使うことができる。
それなら逆にMac版などでも同じようにglibcを呼び出すことができるのではないだろうか?
しかし、Ubuntu版のSwiftのディレクトリのincludeの中身を探してみたのだが、それっぽいものが見つからなかった。
import Glibcとすれば、ちゃんと使えているのだけど、どこにその仕掛けがあるのだろう?
—
追記
Ubuntu版のSwiftのlibディレクトリをよく調べたらusr/lib/swift/linux/libswiftGlibc.soというファイルがあった。
さらにそのサブディレクトリのusr/lib/swift/linux/x86_64の中にglibc.modulemapとGlibc.swiftdocとGlibc.swiftmoduleというのがあった。
このライブラリのソースコードとかを調べてみたら何か分かるのかもしれない。
—
余談だが、emacsにおける新バージョンのglibcとの非互換問題はどうなったのだろう?
・Emacsは衰退しました – Qiita
