[読書感想文]実は私は1~6

Filed in , 読書感想文

実は私は 1 (少年チャンピオン・コミックス)

実は私は 1 (少年チャンピオン・コミックス)

posted with amazlet at 14.05.13

増田 英二
秋田書店 (2013-06-07)

Amazon.co.jpで詳細を見る

 ここ三ヶ月ほどkindleでラノベ読みまくってるんですがなぜか漫画はあまり読んでませんでした。
 たぶん容量大きくて買ってすぐダウンロードが終わらないからなんですが、今回の本は一巻を読んでつい全部買っちゃう出来だったのでひさしぶりの読書感想文です。(導入長い

 この漫画はラブコメ、ギャグマンガに属します。
 大筋では隠し事ができない主人等が秘密を持ったヒロインたちの秘密を知ってしまって隠すのに苦労したり、ヒロインたちが秘密の割に脇が甘くてドタバタするのを楽しむことになります。

 ベタベタな鈍感振りや迂闊さなんですが、ちょっとした間がいい感じで見慣れたドタバタさも安心感と言っていいレベルに仕上がってます。
 あんまりちゃんと考えてみてませんが、この間のよさは画面のうまさに見えます。まず絵がうまい、構図もうまい。吹き出しの位置とかタチキリとかは細かく見てないですが、導線がよくできてるんだと思います。なので絵でちゃんと間が取れてるんじゃないかと。

 昔わんくまで話したりもしたんですが視線誘導の観点で見直してみるとおもしろいかもしれませんね。

[Firefox OS]test.sh xpcshellがbusyboxないよ! と怒るときの処方箋

Filed in Firefox OS, prog

 長月@"テスト周りの翻訳祭り中"葵です。

 前回test.shについて書きました。
 xpcshellは動くと書いたんですが、動かないですヨ? と言われたので補足を。

 test.sh xpcshellを実行するとエミュレータを起動してエミュレータにbusyboxをインストールします。
 このbusyboxはビルド環境の中に入っていないので自前で用意する必要があります。
 具体的には$B2G/scripts/xpcshell.shの中で

BUSYBOX=$B2G_DIR/gaia/build/busybox-armv6l
    :
  (snip)
    :
XPCSHELL_FLAGS+=" --b2gpath $B2G_DIR \
                  --use-device-libs \
                  --busybox $BUSYBOX \
                  --testing-modules-dir $TESTING_MODULES_DIR"

 と、--busybox引数で特定のパスを渡しています。
 なのでちょいとwgetしてみました。


#!/bin/sh

B2G_DIR=$1

if [ ! -f $B2G_DIR/gaia/build/busybox-armv6l ]
then
wget -P $B2G_DIR/gaia/build/ http://busybox.net/downloads/binaries/1.19.0/busybox-armv6l
fi

 これでとりあえず動くはず?

[Firefox OS ]test.shェ。。。

Filed in fxos, prog

 長月@テストとかよーわからん。葵です。

 ちょっと用事があって最近Firefox OSのテストとか調べてるんですが、ちょっとやられた感あったので愚痴を。

 B2Gディレクトリ直下にはいろいろ便利なシェルスクリプトが入ってるんですが、テスト用にもtest.shと言うのがあります。

 このtest.shは引数としてテスト対象のシンボルをとります。XPCShellテストなら./test.sh xpcshellといった感じですね。
 この引数は他にmarionette mochitest updatesがあります。usageにはそう書いてます。
 で、xpcshellは動いてくれるんですが、問題はmarionetteとmochitest。
 これGeckoの人とかGaiaの人とかよく使うはずなのに実装されてない。なんか文字列出てくるだけ。

 Gaia UIテストとかGaia integrateテストやりたいって人にtest.sh mochitest使えるんじゃねって言っちゃったしもー!

[Font][Freetype]26.6 fractional pixel formatってなぁに? にお答えしますね

Filed in 未分類

 長月@フォントちょっとかじってました。です。

 ついったでこんな質問を見かけました。

https://twitter.com/kuina_ch/status/467588168888246272

 というわけでついったで答えておいたんですが、一応ブログでも書いてみます。

 26.6 fractional pixel formatというのはたぶんFreetype発祥のサブピクセル位置指定の固定小数フォーマットです。
 32ビット整数の26ビットを整数部、6ビットを少数部として使うので26.6と呼ばれます。
 この6ビットというのは、フォントのピクセルレンダリングにおいてピクセルに収まらない位置 (サブピクセル) を表すのに一辺64の位置を指定できるようにということのようです。

 このほかにもFreetypeには16.16 fractional scaling pointという固定小数もあって、これは整数部16ビット少数部16ビットの固定小数です。
 16.16 fractional scaling pointはフォントユニットから26.6 fractional pixel formatに変換するのに使います。

 具体的な使い方はAPIのリファレンスを見てくださいねー。

[目黒]百式 - あさりのつけ麺

Filed in ラーメン, 趣味Tags: , ,

image

 今回は目黒の百式。今まで軽く内緒気分で口コミばかりしてあんまりネット上では言ってこなかった名店です。
 行列のできない激ウマラーメン店という番組で知った店ですが、実際いつ行っても空いてます。

 今回食べたのはあさりのつけ麺ひや盛り。
 百式ではいくつかのスープを組み合わせたものが多いんですが、あさりのつけ麺の場合鶏白湯の割合が多くてまったりとした感じになってます。滋味豊かなスープに酒蒸ししたあさりが風味を添えていてとってもおいしい。
 語彙が豊富ではない長月ですが、そんなの関係ないです。言葉もないと言わざるを得ないです。言葉もないのでそれも言えないまであります。
 あさりのつけ麺は一度メニューからなくなっていて、今回渡り蟹のつけ麺を食べにいったら復活していたので迷わずオーダーしました。またいつなくなるかわからないですからね。

 長月はここの渡り蟹のつけ麺とあさりのつけ麺がとてもとても好きです。関東に来てから食べ歩いたラーメンの中でも頭一つ抜けておいしいと自信をもっておすすめするのでお近くに寄られた際は是非一度食べてみてください。

[渋谷]蒙古タンメン中本 - 冷やし味噌ラーメン

Filed in ラーメン, 趣味Tags: , , ,

image

 うっかり写真取るのを忘れてて食べ終わりの残念写真ですが、ひさしぶりに中本行ってきました。

 控えめにいこうと思って冷やし五目みそタンメン(五辛)にしようと思ってたのにうっかり買い間違えて冷やし味噌ラーメン(十辛)にしてしまって、食券渡す段で慌てて辛さ控えめオーダーする微笑ましい一幕がありつつ初めてのつけ麺タイプ。
 冷やし味噌ラーメンは冷やしと言いながらスープは熱々でした。
 つけ麺だからとか麺が冷たいからとか控えめオーダーだからとかいくつか理由はありそうですが、いつものと比べて辛さはきつくなかった印象です。
 さすがの中本だけあって辛いけどおいしいです。今回は味噌なのでマイルドで口当たりが良かったです。辛いのに。
 中本の辛さは何というか複雑な味というか豊かな味ですよね。味噌だからというのもあったんでしょうが、単に唐辛子辛いだけではなく風味よくて良かったと思います。蒙古タンメンでも野菜や豆腐を刺激的に食べさせてくれてよいですよね。

 何度も書いたとおりおいしいとはいえ辛いので苦手な方もいるかと思いますが、辛いの平気な方はぜひ一度足を運んではいかがでしょうか。

わんくま勉強会東京#82のスライドが間違ってたお話

Filed in 未分類

最近会社のブログばっかり書いててご無沙汰でしたが久しぶりに個人ブログ更新しますよ!
以前わんくま勉強会東京#82で話したパズルのお話に質問があったので回答します。

問題のスライドと問題点

まずは質問のもとになったスライドはこちら。

問題はこのスライドの37ページ。

1 2 3
4 5 6 = 初期配置
7 8

1 2 3 例) 1 2 3  1 2 3  1 2 3  1 2 3  1 2 3
4 6 7     4 6 8  4 6 8  6 7 8    6 7  4 6 7
5 8       7 5    7   5  4   5  4 5 8  5 8
= 初期配置+(1 2 3 5 6 4 7 8)

1 2 3
6 7 4 = 初期配置+(1 2 3 5 6 4 7 8)+(1 2 3 5 6 4 7 8)
5 8

これが何をやってるのかわかりませんというご質問でした。
例はなんなの? が分かりにくいですね。すみません。
さらにいうとこれ = 初期配置+(1 2 3 5 6 4 7 8) は間違ってます。
ご質問くださった方は多分これでわからなくなったんだと思います。重ね重ねすみません。

間違いを修正します!

初期配置
\left(\begin{array}{cccccccc}1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\end{array}\right)

\left(\begin{array}{cccccccc}1 & 2 & 3 & 5 & 6 & 4 & 7 & 8\end{array}\right)
を加算すると

1 2 3
5 6 4 = 初期配置+(1 2 3 5 6 4 7 8) = (1 2 3 5 6 4 7 8)
7 8

が正しいです。また、さらに

\left(\begin{array}{cccccccc}1 & 2 & 3 & 5 & 6 & 4 & 7 & 8\end{array}\right)

を加算すると

1 2 3
6 4 5 = (1 2 3 5 6 4 7 8)+(1 2 3 5 6 4 7 8) = (1 2 3 6 4 5 7 8)
7 8

ですね。

図も書いたよ!

例)で書いていたのは\left(\begin{array}{cccccccc}1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\end{array}\right)から\left(\begin{array}{cccccccc}1 & 2 & 3 & 5 & 6 & 4 & 7 & 8\end{array}\right)までのスライド操作の一部でした。現場で話すときに指でくるくる指示しながら説明するからと端折ってました。
図も書いてみましたが多くなるのでスライドで。

スライド修正しました!

というわけで間違い修正して図に置き換えたものをslideshareにあげました。

というわけでご質問くださったE.Sさん回答が遅くなりましたが以上でした。

Windows 8.1にしたらVMWareのネットワークがつながらなくなった(解決)

Filed in 未分類

 何の気なしにアップグレードしたWindows 8.1でプロジェクタにつながらなかったりVMWare上のUbuntuからどこにもつながらなくなったりして困ってたりしたのでメモ。
 プロジェクタにつながらなかった件はプロジェクタごとに状況が異なるので置いといて、今回はVMWareの話を。
 と言っても話は超簡単で、修復インストールしたら直りました。
 ネットワーク接続の設定をいろいろ調べたりNAT設定やり直したりしたんですがあんまり関係なくて、Windows 8.1にアップグレードした時点でVMnetなんとかがネットワークデバイスとかデバイスドライバー上で見えてるのにないもの扱いされてたので仮想NICの再インストールをすればいいみたいです。
 とりあえずデバイスマネージャでレガシーデバイスの追加とかやってみたんですが見つからない。
 じゃあもう再インストールするかとアプリケーションの追加と削除でアンインストールと変更をしてみたら修復インストールがある。
 修復インストールしてみるかとクリックしてみたらインストール用のexeからやってねと言われる。
 言いなりに昔落としてきたexe叩いて修復インストールやってみた。ら直った。
 のであんまりごちゃごちゃやる前に修復してみるといいかも。

わんくま勉強会東京82でごまかした8パズルのパターン数を調べてみたが間違ってた

Filed in C/C++, prog

 昨日のパターンを調べた件が会社のパズル詳しい人におかしいと突っ込まれたので考えてみた。

 偶置換を一個入れ替えると必ず奇置換なんだから確かに$\frac{8!}{2}$になるべき。
 ということでコード書き直し。要するに巡回置換作るところの添字の取り方がおかしかった。
 参照済みの添字の管理をもうちょっとうまくやれそうな気がするけどめんどくなったのでこれで。

 あと地味にalgorithmインクルードしてなかった (職場でIDEONに投げるまで気づかなかった)。

#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
bool is_pazzleout(const std::vector<int>& seq)
{
std::vector<int> referenced(seq.size(), 0);
int sum = 0;
for (int i = 0; i < seq.size(); i = std::distance(referenced.begin(), std::find(referenced.begin(), referenced.end(), 0))) {
int f = i + 1;
std::set<int> cyclic;
cyclic.insert(f);
referenced[i] = f;
for (int j = i; f != seq[j]; j = seq[j] - 1) {
//            std::cout << "f: " << f << ", seq[" << j << "]: " << seq[j] << std::endl;
cyclic.insert(seq[j]);
referenced[seq[j] - 1] = seq[j];
}
sum += cyclic.size() - 1;
}
return sum % 2;
}
void print(const std::vector<int>& seq)
{
std::cout << "( ";
std::for_each(seq.begin(), seq.end(), [](int x) {
std::cout << x << " ";
});
std::cout << ")";
if (is_pazzleout(seq)) std::cout << "*";
std::cout << std::endl;
}
int main()
{
std::vector<int> complete;
for (int i = 1; i <= 8; ++i) {
complete.push_back(i);
}
do {
print(complete);
} while (std::next_permutation(complete.begin(), complete.end()));
return 0;
}

わんくま勉強会東京82でごまかした8パズルのパターン数を調べてみた

Filed in 未分類

 8パズルのパターン数は8!ぐらいですよーとかごまかしてましたが、ちゃんと解ける形だけ数えるとどうなのかなと思って列挙してみました。

 はいこれ列挙に使ったコード。

#include
#include
#include
bool is_pazzleout(const std::vector& seq)
{
int sum = 0;
for (int i = 0; i < seq.size(); ++i) { int f = i + 1; std::set cyclic;
cyclic.insert(f);
for (int j = i; f != seq[j]; j = seq[j] - 1) {
//std::cout << "f: " << i << ", seq[" << j << "]: " << seq[j] << std::endl; cyclic.insert(seq[j]); ++i; } sum += cyclic.size() - 1; } return sum % 2; } void print(const std::vector& seq)
{
std::cout << "( "; std::for_each(seq.begin(), seq.end(), [](int x) { std::cout << x << " "; }); std::cout << ")"; if (is_pazzleout(seq)) std::cout << "*"; std::cout << std::endl; } int main() { std::vector complete;
for (int i = 1; i <= 8; ++i) { complete.push_back(i); } do { print(complete); } while (std::next_permutation(complete.begin(), complete.end())); return 0; }

 Initializer listで初期化したいのになんかエラー出るから諦めたのはご愛嬌として。
 やってることは順列作って順列表示して順列の巡回置換の長さ-1の総和が奇数だったら印つけるだけです。
 これで列挙してみると印のつかなかった行が26939行ありました。$8!$が40320なので$\frac{1}{3}$ぐらいが解けないんですね。
 ちょっとすっきりしました。


Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Oenology Post Formats
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Posts Calendar
Click to view/hide
2017年7月
« 12月    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
アーカイブ
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
最近の投稿
Click to view/hide