2013年6月28日金曜日

新しいgooglemaps(続々編)

・45゜表示がなくなった。
 古いマップでは対応していたのに新しいGooglemapsでは表示できない。
古いマップで45゜で表示した例

新しいgooglemapsではまだ45゜で表示出来ない。

もっともこれは私のPCがライトモードで表示しているせいかもしれませんが、古いGooglemapsでは出来たことを新しいGooglemapsで出ないのは不便です。

・短縮URLのボタンが見当たらない
 上の古いGoogleMapsで赤い□で囲んだ短縮URLのボタンが新しいGooglemapsでは見当たりません。この機能は便利だったので早めに対応して欲しいです。

(新旧Googlemaps共通)
 小学校の名前の表示がおかしい。
Googlemapsの新旧どちらでも確認したのですが、小学校等の表示がその小学校を管轄している教育委員会の表示になっている場合があります。地図の縮尺を変えると◯◯教育委員会◯◯小学校等となっています。この地図の情報はZENRINが提供している様ですが、同じようにZENRINが提供している他のオンライン地図ではこの様な表示にはなっていません。これはわたしの勝手な想像なのですが、ZENRINから受け取った地図データをGooglemaps上のデータして加工する過程で何らかの手違いがあってこうなったのではないかと思われます。

新しいgooglemapsで小学校の表示がおかしい例

おなじZENRINからデータ提供を受けているgooの地図では普通の表示になっています。

Googlemaps使いやすいマップだと思いますが、まだまだ完成度が低いと言わざるをえないとおもいます。
なお投稿時に素人である私がわかる限りで書いていますので、解決策等あるかもしれませんが、それについては一切責任を追わない事を最後に書いておきます。

2013年6月21日金曜日

新しいgooglemaps(続編)

前回、いろいろ注文をつけた新しいgooglemapsですが、諦めずに使ってみました。

インドアmapに新しいgooglemapsは現時点では対応していないようです。


以前のgooglemapsに切り替えると表示されます。


前回も指摘したヘルプについてですが、どうも不親切な感じがします。

「ヘルプとフィードバック」はマップ画面の時に表示され、「問題の報告」はストリートビューの時に表示されます。その事がどこにも説明されていないからです。ヘルプ自身についてのフィードバックは画面コピーを取れないので送信出来ません。

経路検索は色々工夫のされてる様です。

日本の大都市圏ではこの例のように複数の鉄道会社が同じ区間を、価格、経路、スピードで競争している場所があります。前のgooglemapsでは様々な経路を検索出来たのですが、今回のはいまいちまだ慣れません。慣れがまだ足りないのか、もう少し検証してみる必要があると思います。
例に示したのは大阪、神戸間の大まかには3つの鉄道会社が競合している区間です。


また時間が出来れば試してみたいと思います。

2013年6月18日火曜日

新しいgooglemapsを使ってみました。

新しいgooglemapsを使ってみました。

ごく普通の日本人のユーザの感想を言わせてもらいます。
これは個人の感想であり、この感想によって生じたいかなる損害、不利益についても責任を追わないことを踏まえた上で御覧ください。

結論:まだ完成度が低いです。改善されるまでもう少しまったほうがいいと思います。

・パフォーマンスが悪いです。
 普段使っているコンピュータではそうでもなかったのですが、私のよりいいCPUとGPUのマシンを 借りて使ってみた時に遅さを感じました。

・操作性が私には使いづらいと感じました。
 特に不便だと感じたのはストリートビューの画面の操作性です。従来のストリートビューで出来たカーソルボタンでの操作が出来なくなっています。そのため画面の端に表示される小さなコンパス表示をクリックして方向を変えないといけなくなり大変不便です。カーソルボタンでの操作をすると写真とストリートビューが入り混じった画面の切り替えになっていて、どっちの方向を向いてるのかが直感的じゃなくなっています。
もしかしたら、最近のタッチパネルの端末ではそうでないのかもしれませんが・・・。

・バグが残っています。
 画面右上の
「ヘルプ/ご要望」-「ヘルプ」-「新しい Google マップについて」
を選択した場合のヘルプ画面の表示で不自然な空白が表示されます。

しかもフィードバックの送信でこの画面についてのフィードバックを送ることが出来ません。
地図本体のスクリーンショットは取れても上の画面のスクリーンショットは取れないからです。
もしかするとこの問題は日本語表示の場合だけの問題かもしれませんが、他の言語の場合を確認するつもりはありません。なぜなら私は日本語を母国語とする日本人だからです。
同様に
 「ヘルプ/ご要望」-「ヘルプ」-「ルート検索」
                                         「地図のカスタマイズ」
                                         「画像とストリートビューの概要」
を選択した場合でも、不自然な空白が表示されます。

2013年6月13日木曜日

1から1000

最近stackoverflowというサイトを知りました。
その中であった質問の一つにこういうのがありました。

Task: Print numbers from 1 to 1000 without using any loop or conditional statements. Don't just write the printf() or cout statement 1000 times.
How would you do that using C or C++?
printing-1-to-1000-without-loop-or-conditionals

簡単な日本語に訳すと
「1から1000までの数字をループや条件分岐を使わずに表示しなさい。ただしprintf()やcoutを1000回書くのは無しね。CかC++を使ってあなたならどうする?」
といったところでしょうか。

ループを書けば一瞬で終わる処理もこれらがないと普通じゃないやり方になるようです。
一番投票が多かった回答は、

#include <iostream>
template<int N>
struct NumberGeneration{
  static void out(std::ostream& os)
  {
    NumberGeneration<N-1>::out(os);
    os << N << std::endl;
  }
};
template<>
struct NumberGeneration<1>{
  static void out(std::ostream& os)
  {
    os << 1 << std::endl;
  }
};
int main(){
   NumberGeneration<1000>::out(std::cout);
}

というものでした。
テンプレート関数を使ってひたすら関数を展開していく方法でした。
このプログラムを手元の環境でコンパイルすると

$clang++ 1000.cc -o 1000 
175890 Jun 12 18:55 1000*
     339 Jun 11 03:32 1000.cc

実行形のサイズがかなり大きいですね。

私が気に入ったのは以下の様なサンプルです。(自分で書きなおしたものです。)

#include <iostream>

static int n=1;

class out
{
public:
    out()
    {
        std::cout << n++ << std::endl;
    }
};
int main()
{
    out o[1000];
}

コンストラクターに出力を書いてます。
これなら

$clang++ my1000.cc -o my1000 
6064 Jun 11 08:00 my1000*
  136 Jun 11 07:59 my1000.cc

実行形のサイズも小さくてすみますね。
もちろん、パフォーマンスはこの問題には関係ないとは思いますが・・・。




2013年6月9日日曜日

ハスラー2

普段テレビをあまりみない生活なんですが、今日ふとテレビをつけたら懐かしい映画がやってました。途中から観たのですが、「ハスラー2」という映画でした。ポール・ニューマン、トム・クルーズが主なキャストです。あらすじはなんとなく知ってましたが、いま見てもいいですねー。ポール・ニューマンがとにかく渋いです。

ちょうど撮影された時期のポール・ニューマンは60歳前後だと思うのですが、私の周りにこんな素敵な大人はいませんね。もちろん映画だからというのはあると思いますが・・・。私の周りにいる大人は自分の事しか考えてなく、視野が狭く、思慮も浅い人間ばかりの様に見えます。人生の先輩として尊敬できる大人は残念ながらいませんね。

Chrome 文字化け多すぎる(続編)

以前にも同じトピックCrome の文字化けで書きましたが続編です。
Google プロダクトフォーラムのGoogle Chromeに関しての以下の様なページを見つけました。
エンコードの自動判別を付けて欲しい
やはり私と同じような要望を持っている方はいる様です。

今回はとあるページを例にして見てみます。

http://www.mnet.ne.jp/~tnomura/

このページを表示させると最初文字化けしました。
そのときのChromeの設定は日本語(ISO-2022-JP)で自動検出にチェックがついた状態です。

そこでこのページのソースを見ると

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>I love CUI</TITLE></HEAD>

きちんとutf-8を指定しているようです。

ここでUTF-8を指定するともちろん正常に動作しますが、ここでは別の操作を仕方をしてみます。エンコードの自動検出のチェックを1回外して、再度チェックをします。すると正常にUTF8が選択された状態になってページも文字化けされずに表示されます。

Chromeはユーザの指定のエンコードをまず優先して、自動検出は最初の表示の時にはうまく動作しないのではないか?

という疑問が残ります。どうなんだろう?中途半端ですいません。でもフィードバックも簡単にできず個人のブログで書いても無視されるのかなー?ちなみにこのブログはGoogleの運営しているBloggerです。部署とか違うだろうけど^^;

2013年6月7日金曜日

摂氏と華氏

日本はというか僕の部屋は既に夏です。
毎日30℃を超す暑さです。

華氏を使う人達にはなかなか伝えにくいですが、華氏と摂氏の関係は、華氏をF摂氏をCとすると

F=9/5(C)+32

だそうです。今は摂氏が国際単位系(SI)なんですが、慣れたものをなかなかは変えられないようでまだ華氏を使っている国もあるそうです。

だから上の式をプログラムすると本当にシンプルなものになるはずが…。


なんだかややこしくなりました。 テクニックもないのにクラスなんか作っていじってたら温度クラスからセルシウスとファーレンハイトを派生させて・・・ 最後の
int main()
{
    celsius    c;
    fahrenheit f;
    for(c.set(25.0);c.val()<37.0;c.add(0.5))
    {
        f.transform(c);
        std::cout<<c<<"\t\t"<<f<<"\n";
    }
    return 0;
}
の部分だけ簡単にしたかったのですが。

ちなみに結果は以下の様になり30℃は華氏で86度ですね。
25C    77F
25.5C  77.9F
26C    78.8F
26.5C  79.7F
27C    80.6F
27.5C  81.5F
28C    82.4F
28.5C  83.3F
29C    84.2F
29.5C  85.1F
30C    86F
30.5C  86.9F
31C    87.8F
31.5C  88.7F
32C    89.6F
32.5C  90.5F
33C    91.4F
33.5C  92.3F
34C    93.2F
34.5C  94.1F
35C    95F
35.5C  95.9F
36C    96.8F
36.5C  97.7F

2013年6月1日土曜日

libereofficeを更新しました

新しいバージョンが出てもすこし様子をみようと思っていたけど、速くなったという情報もあり今日更新しました。今回インストールしたのはlibereoffice4.03日本語版です。面倒だったのは以前のバージョンのlibereofficeが新しいバージョンをインストールしても残っていたこと。もうひとつlibereofficeにすると以前のOpenOfficeで作った表が崩れたので残しておいたOpenOfficeも残っていて、同じオフィスソフトが3種類もある状態になったことです。手動でOpenOffice、旧バージョンのlibereofficeをそれぞれアンインストールしました。そのままではファイルが関連付けられていなかったのでこれも手動で関連付けてようやく最新バージョンのlibereofficeだけの状態になりました。簡単に使ったところ表も崩れないし、やや速度が速くなった印象です。私の場合マイクロソフトのファイルは滅多に使わないので、どのバージョンでも良かったのですが。とりあえずこのバージョンで使って見ようと思います。