2014年9月21日日曜日

Windows7, Windows server 2008 R2, Windows XPでネットワーク上のPCが見えない

考えられる原因の第一は、LAN Manager認証レベルがあっていないことが上げられる。

新しいWindowsは、クライアントとして使用する認証プロトコルに、NTLMv2をデフォルトとして使う。古いWindowsはNTLMかLM/NTLMを使うようになっている。ために、見えない。

よって、古いWindowsが混在する場合は、セキュリティレベルが低いプロトコルにあわせることになる。手っ取り早いのは、スタートメニューを開き、ファイル名を指定して実行にregeditを入れて、レジストリエディタを起動し、レジストリを書き換えてやる方法。書き換えた後PCを再起動する。

書き換えるレジストリの内容:
キー     HKLM\SYSTEM\CurrentControlSet\Control\Lsa
値の名称  LmCompatibilityLevel
値の型   DWORD
値の内容  2か1か0にする

上記値の内容についてのコメント:
レジストリに、LmCompatibilityLevelがない場合は、デフォルトの3になっている。NTLMv2プロトコル。
2、1、0とセキュリティが下がっていくので、値の内容を順番に試すか、最初から1で行っておく。

Windows7でスタートメニューにコントロールパネルなど右袖が出なくなった

対処法はいたって簡単だ。
スタートボタンをクリックして、スタートメニューの何もない部分を右クリックし、「プロパティ」を選択する。

「タスクバーとスタートメニューのプロパティ」が表示されるので、「スタートメニュー」タブをクリックし、「カスタマイズ」ボタンをクリックする。

開いたウィンドウの左下に、「既定の設定を使用(D)」があるので、それをクリック。これで、消えていた、コントロールパネルやコンピュータがスタートメニューの右袖に現れる。あとは、必要に応じてもう一度カスタマイズする。


ついでに、カスタマイズひとつ。
「ファイル名を指定して実行」をスタートメニューにに出す方法。
「タスクバーとスタートメニューのプロパティ」を表示し、「スタートメニュー」タブをクリックし、「カスタマイズ」ボタンをクリックするところまで上と同じ方法。
開いたウィンドウの上のほうに「[ファイル名を指定して実行]コマンド」があるのでチェックを入れる。これだけ。


2014年9月20日土曜日

Windows7 Home Premiumを家族の秘密ファイルサーバーにする方法

古いWindows7 Home Premiumが残ったので、パパ、ママ、ゆいの3人でバックアップサーバー兼秘密のファイル基地を作った。その方法を紹介する。ファイルサーバー名はserverとする。

手順:
(1)フォルダを3つ作る。papa、mama、yui。(名称はご自由に)
(2)ユーザーを3つ作る。papa、mama、yui。
(3)3つのフォルダにネットワーク共有設定を施す。
  (下記の記述中、羽田とかの名前が出てきますが、papaと読み替えてください)

  1.papaフォルダを右クリックして、プロパティを開いて、共有タブの「詳細な共有」を開く。(注意:フォルダを右クリックして、プロパティを開いて、共有タブの「共有」は使わないこと。)

  2.このフォルダを共有するにチェックを入れ、追加ボタンをクリックする。

  3.papaのアクセス許可が開く。papaを選択して、許可のフルコントロールをチェックする。papa以外にEveryone等があったら、選択して許可のチェックをすべてはずす。全て外し適用をクリックすると、グループ名またはユーザー名からEveryoneが消える。これで、ネットワークからserverへアクセスすると、papaフォルダはpapaしかアクセスできない。ハッカー野郎にも手出しできない。

  4.次は、serverに直接ログインしたときに、papa以外がpapaフォルダを見えないようにする。papaフォルダを右クリックして、プロパティを開いて、セキュリティタブをクリックする。グループ名またはユーザー名から、アクセスさせたくないユーザー(ここでは、mamaとyuiの2人。一人ずつ)を選んで、編集をクリックして、拒否ををチェックする。OKをクリックする。これで、serverに直接ログインしても、他人からは見えない。

(ただし、管理者になっている人は、serverに直接ログインすれば、何でもできるので、そのあたりは、紳士淑女協定で他の2人のフォルダを勝手に設定しなおして、中を見るようなことはしないようにする。誘惑に負けない人を管理者にすること。だよね。!?)


text入力欄でEnterキーを押してもフォームを送信しないJavascript

ホームページのフォームでtext入力欄を3つ作って、公開したとする。利用者が、最初のtext欄に入力して、Enterキー(リターンキー)を押したとすると、他の2ケ所を入れる前に、意図せずフォームが送信されてしまう。

text入力欄でEnterキーを押してもフォームを送信しない方法と、そのときに同時にエラーメッセージを表示する方法のjavascriptを書いておきますので利用してください。

下記のjavascriptを<head></head>の間にコピーする。function formcheck()がエラーメッセージの表示。function submitStop(e)がEnterキーを押したときの動作を制御して、フォームを送信させないようにする部分。
<table></table>は<body>のformに記述する。


<script type="text/javascript">
<!--
function formcheck(){
var flag = 0;
if(document.formwebtest.secid.value == ""){
flag = 1;
}else if(document.formwebtest.secmail.value == ""){
flag = 1;
}else if(document.formwebtest.secname.value == ""){
flag = 1;
}

if(flag){
window.alert("必須項目が未入力");
return false;
}else{
return true;
}
}


function submitStop(e){
if (!e) var e = window.event;
if(e.keyCode == 13)
return false;
}
// -->
</script>


<table>
<tr>
<td>テキスト1:</td>
<td><input name="secid" value="" type=text size=68 onKeyPress="return submitStop(event);"></td>
</tr>

<tr>
<td>テキスト2:</td>
<td><input name="secmail" value="" type=text size=68 onKeyPress="return submitStop(event);"></td>
</tr>

<tr>
<td>テキスト3:</td>
<td><input name="secname" value="" type=text size=68 onKeyPress="return submitStop(event);"></td>
</tr>
</table>

session_start()はコールする位置(記述する位置)が重要 PHPマニュアル

3月と9月、半年に一度使うプログラムを少し直した。3月に使った後に直しておいて9月に使った。AページからBページへ遷移して、Aページで入力した内容をプログラム処理して、Bページで表示するはずが、表示できなくなった。

調べてみると、スーパーグローバル$_SESSIONの内容が消滅してしまっている。3月に直したときは、直す前のセッションがまだ残っていて、エラーが現出しなかった。正確には、消滅というより、セッションが再開できず$_SESSIONの内容が使えなかった。

3月に直して半年経っているので、直した部分をすぐには思い出せなかった。最初からプログラムの流れを全部追ってみて原因がわかった。

session_start()の記述位置を変えてやらないといけなくなっていた。途中にページをはさんだので、直す前のままのsession_start()の位置では、セッションが再開されなくなっていた。途中に挟んだページにsession_start()を入れ直してやらなければいけなかった。

session_start()の記述位置(コールする位置)に関して、少々間違った記述をしているホームページがよくあるので、正しい認識をここに記しておく。

正しくない認識: session_start()は、<?phpの直後に書く。
<?php
session_start();
// session_start()は<?phpの直後に書く。他のどの記述よりも上に書く。
// ここからプログラムを書く
?>

正しい認識:: クッキーに基づくセッションを使用している場合、ブラウザに何か出力を行う前に session_start() をコールする必要がある。(通常は、クッキーに基づくセッションを使っている)
つまり、ブラウザに出力する処理でなければ、<?phpとsession_start()の間に、いろいろ記述してもよい。

PHPマニュアル session_start()



2014年9月14日日曜日

iPhoneで写真をスケッチ風に加工するアプリ、Photo Sketch

2,3年前までは写真をスケッチ風に加工する無料アプリは、魅力がなかった。随分変なスケッチ風にしかならなかった。なので、使うことはなかった。


ところが、写真のスケッチ風加工とは無関係のアプリを探していたときに、検索結果の中に「Photo Sketch」という写真のスケッチ風加工アプリが入っていた。説明を読んだら面白そうだったので、インストールしてみた。5月ごろ有料のソフトを入れたが、いまいちの出来だった。それに比べても出来はずっといい。ただ、制作者の名前が、CHEN ZHAOさんなのが少し気になる。今の時代あの国は怖い国だからね。

インターネット上で、photo sketch app iphoneの4単語を入れて検索しても、出てくるのは、無料では「Sketch guru」くらい。Photo Sketchは出てこない。 Sketch Guruは使っていないのでわからないが、Photo Sketchと同じようかと想像する。

iPhoneのApp StoreでPhoto Sketch freeを検索すると、Sketch Cartoon MeというAppも出てくる。感じとしては同じエンジンを使っていそうだが、使い勝手は、僕には、Photo Sketchがいい。見本の写真を出しておきます。2015年から発売になるトヨタの燃料電池車です。この時点で世界に3台しかない内の1台です。人物写真でも同じような感じで加工ができます。












2014年9月10日水曜日

Chromeを日本語に設定する。ホームページを変更する。

日本語にする。

Chromeはインストールすると初期設定は英語のようだ。日本語にする方法を記しておきます。

右上にある三本マークのGoogle Chrome Settingをクリックして、Settingsを選択する。設定用のページが開く。

通常は、一番下のshow advanced settingsをクリックして、より多くの設定項目を表示する必要がある。
開いたら、LanguagesセクションのLanguage and input settingをクリック。
続いて、Addをクリックして日本語を選んで、日本語を枠の中に登場させる。
その日本語を選択して、右枠の中のDisplay Google Crome in this languageをクリックする。
下の画像のようになったら、Doneクリックする。


すべてのタブ(画面)を閉じてChromeをいったん終了する。
再起動すると日本語のChromeになっている。


ホームページを変更する。

上記と同じ方法で設定画面を開くと、「デザイン」という項目がある。
その下あたりに、たとえば、「www.google.co.jp/ 変更」という行がある。変更をクリックして表示された入力枠に、http://www.xxx.co.jp/ と入れると、それがChromeを起動したときのホームページになる。

■□■ Googleは怖いので、ChromeはやめてFireFoxを使おうかと思う。ただ、FireFoxも今では、Chromeのエンジンを使っているらしいので、それはそれで残念なことだ。


2014年9月9日火曜日

Google Maps(地図)が間違っていた。貴重なサンプルです。

iPhoneの地図が間違っていて、車が飛行場へ入ってしまったり、駅が海の中にあったり、ジョブス亡き後のAppleが散々いやみを言われたのは2年ほど前。もう今では、大丈夫なのだろうか。

ジョブスなきAppleならあっても不思議ではないが、Google地図で間違いがあれば、それは大ニュースだ。私が遭遇したGoogle地図の間違いは、世紀の貴重なサンプルだろうと思う。最近では、知らない所へ行くときは、iPhoneのGoogleNAVIを使うのが我が家の当たり前になっている。(我が家のロートル車はNAVIが装備されていない)

そして、2014/9/7にGoogle地図の貴重なエラーに出会いました。トアルコトラジャが飲みたいのに、「さくら珈琲鏡島店」がない、行けない。まれな体験をさせていただきました。

午後3時ごろ、トアルコトラジャが飲める喫茶店「さくら珈琲鏡島店(かがしまてん)」へ行きたくて、キーコーヒーのトアルコトラジャが飲める喫茶店全国一覧表から、「岐阜市西荘3丁目1-12」を見つけて、iPhoneのGoogle地図で検索した。

この時点でGoogle地図が間違えているなどとは思うはずもなく、地図のピンの位置を目指してロートル君を運転していった。ところが、喫茶店らしき店などどこにも見当たらない。たまたま、有人ガソリンスタンドが開いていたので、聞いてみたら、店の人は知らなかったけど、ガソリンを入れていた親切なおばさんが教えてくれた。ぜんぜん違う場所にあることが判明。 (下は、Google地図が間違えた世紀の貴重なサンプル。2枚目がそれなりに修正された地図表示)


この後の話がまた、信じがたいものだった。 9/7日曜日の夜にトアルコトラジャのブログを書いているときに、Google地図のこの間違いのことも書いた。ブログを書いた1時間後、Google地図が修正されていた。1時間後に岐阜市西荘3丁目1-12を検索をすると、岐阜市西荘3丁目1の大雑把な区画を表示するようになっている(2枚目の図)。岐阜市西荘3丁目1-11だけは、ドラッグユタカ鏡島店の位置にピンマークが出る。それ以外の岐阜市西荘3丁目1番地内の細かい番地は、すべて区画で表される。

いったいどうやって直したのだ。人が直したのか、Googleのサーバーが自分で直したのか。サーバーが自分で直したとしたら、ちょっと怖いことであるぞ。そんな風に思って日曜日の夜は寒気がした。Googleは僕らのネット上のあらゆる活動を監視している!!!それはSFではなく、現実なのだ。


翌月曜日9/8朝7:23に事務所のパソコンで確認すると、1枚目の図と同じように間違って表示した。やれやれという思いと、なんでという思いが交錯した。
でも、月曜日の夜、家で確認すると、2枚目の図と同じ。続いて、火曜日の朝事務所で確認すると、2枚目の図と同じ。以後、ずっと2枚目の図のまま。

やはり、Googleは怖そうだ。われわれの行動をすべて監視している。特に、たぶん「Google」という単語は絶対に見逃さないに違いない。この僕のブログは、Googleサーバーによって要注意ブログに区分されていることだろう。

今後は、メールや地図をGoogle以外で使うようにしていかないといけないと、考えている。


追伸:2014/9/12金曜日22:30 家で
またまた、同じエラーを発生した。いったいどうなっているのだろう。心配したほどのことをGoogleがやっていないなら、逆に安心ではある。間違いの証拠の地図。


追伸:2014/9/16火曜日21:00 家で
今日は3丁目1を四角に囲う表示になっている。いいぞ、いい加減なGoogle。

追伸:2014/10/3金曜日12:20 事務所で
久しぶりに岐阜市西荘3丁目1-12をGoogleMapsで検索してみた。驚いた。検索してくれない。GoogleMapsのレコメンドとして西荘3丁目1が出てくる。それをクリックすると2枚目の図と同じ表示をする。
Googleもこんないい加減なところもあるのだ。少し安心。と言う風に安心させといて、実は裏では100%確実に個人のネット上の動静を把握しているに違いない。


2014年9月7日日曜日

京都オープンデータソン2014 Vol.2に参加しました

オープンデータのもうひとつの道

京都は昔から進歩的な都市でした。たぶん日本で一番進歩的な都市であり続けているのでしょうね。(下の写真は琵琶湖疏水の水が白川となって流れている様子。ここのちょっと上流で昔は泳いだそうです)



オープンデータといえば、この時点で、福井県鯖江市が保有するデータの一般公開が有名です。
鯖江市出身の青年が社長をしているIT企業と市が協力して、公共トイレの場所とか、消火器の設置場所とかの位置情報を公開し、それを利用したスマホアプリを開発しています。

一般的に、オープンデータとは、TEDでも言われている「国や自治体の所有する情報・データは国民と市民のものだから、その情報を官僚や役人が独占するのではなく、すべて公開すること」です。これをお上からもらうオープンデータとしましょうか。

でも、京都オープンデータソンの主旨は、一般に言われているこのオープンデータとは違います。お上から出てくるのを待つのではありません。世の中に存在している誰のものでもないデータを自分たちで集めて自分たちのために、かつ世の人々のために利用できるようにすることです。このような自分たちの手足で物事を実施する姿勢が京都人の進歩性の基礎にあります。

え? それって、具体的にどういうこと?

多くの人が知っているWikipediaがそのひとつ。実は、京都のいろいろな事物でさえ、今でもWikipediaに登録されていないものがたくさんあります。2014/8/30(土)のVol2では、琵琶湖疏水の関連で重要なシステム「蹴上インクライン」を記述しました。
地域の文化財や観光名所などの情報をWikipediaに掲載していくこの活動は、Wikipediaタウンと呼ばれています。2012年にイギリス・ウェールズ州の人口9,000人弱のモンマスという町が発祥といわれています。

オープンデータソン京都の重要なテーマの今ひとつがOSM(Open Street Map)の作成。インターネット上の地図で一番有名なのはGoogleMap。でも、GoogleMapは完全無料、完全自由使用ではない。完全無料、完全自由な地図を目指して、2004年イギリス人の当時大学生コースト氏がはじめた。
まだまだOSMの編集者も少なく、GoogleMapに及ばない点が多々あるが、GoogleMapよりも情報量が多い地域などもある。

当日のOSMマッピングパーティー初心者組は、南禅寺界隈を歩いて実地調査した。京都はあちこちいろいろ観光地みたいなものだから、地図作成のために歩くことも大変楽しい。

当日いろいろ教えていただいた、YAMASHITAさんはじめ京都オープンデータソンの皆さんありがとうございました。

2014年9月4日木曜日

Laravel4のディレクトリ設定

ホームページを作成するとき、普段、ディレクトリは直接Web用のルートディレクトリに置かないようにしている。
例えば、/var/www/htmlがApacheのルートだとすると、/var/www/web1に、様々なモジュールやファイルを置く。そのweb1ディレクトリを、conf.dディレクトリの中のweb1.confで、http://www.sample.com/web1などに成るようにAliasを設定して、Webアクセスするようにしている。

ところが、Laravel4のインストールディレクトリを、/var/www/laravel4にし、conf.dディレクトリの中で、http://www.sample.com/laravel4に成るようにAliasを設定しても、エラーが発生してWebアクセスができない。

何かを間違えているのかと、目を凝らして一字づつチェックしたが、記述に問題はない。半日悩んだが、解決策は簡単と言われれば簡単なことだ。

ln -s /var/www/laravel4/public/ /var/www/html/laravel4 とリンクを貼った。これで無事にWebアクセスができた。
あとは、なぜ、conf.dディレクトリの中での設定ではエラーを起こすかを突き止めておきたい。


2014年9月3日水曜日

中華タブレットでBiglobeの980円SIMを使った顛末

9980円と安めの中華タブレットで3G対応かつ衛星GPS対応の機種があったので購入してみた。機種名は、Colorfly E708 3G。(購入したショップは最初から日本語にして送ってくれたから楽だった。写真は中国語のままですけど)

実は、その前に、息子が使っていたAUのiPhone4SにBiglobeの980円SIMを購入して使うことにしていた。
AUのiPhone4Sで使うにはSIMロック解除アダプターを使う。私はGPPを使った。電源を切り、まずは、復元SIMを挿して電源を入れ、表示されるリストからAUを選択し、OKをクリックして、すばやく復元SIMを抜く。その後、BiglobeのSIMをGPPのアダプターに乗せ換えて差し込む。これだけで、AUのiPhone4SがSIMフリーになってしまい、Docomoの回線で使える。
こういうすごいことが1000円もせずにできるようにしてくれるなんて、賢いやつがいるなー。

さて、中華タブレットの話。iPhone用のSIMはサイズが小さいく、そのままでは中華タブレットに使えないので、SIMアダプターを60円(送料250円)で購入した。

Colorfly E780はSIMが2枚させる。そのうちの一方は、SIMを挿してもまったく反応しない。他の一方はしめしめ、電波を捕まえることができた。その夜は3Gが使えた(と、思っているのだけど)。翌日になると、Webにアクセスできない。SIMスロットを差し替えると直ることがあるとネットに出ていたので、差し替えることにした。

ここからが大問題。SIMを抜こうとして抜けない。SIMアダプターがスロットのどこかに引っかかってしまっているようだ。10分くらい、なだめすかしてやさしく引き出そうとしたが、だめ。もう一か八か力任せにラジオペンチで引き出した。バチッ。スロットは見事に壊れた。不幸中の幸いは、iPhone4S用に購入したSIMは無事だった。

皆さんが同じ目にあわないように忠告:
中華タブレットでは、SIMアダプターを使うと引っかかって抜けなくなるから使うな。かならず、サイズの合うものを使うこと。他の機種でも引っかかる可能性あり。
また、中華タブレットでは、そもそもDocomoのSIMが使える周波数に対応していないとの情報もある。それを確認するのがひとつの目的ではあったが、確認する前に、スロットが壊れてしまった。南無阿弥陀仏。周波数の情報は購入店に聞けば教えてくれるかも。

2014年9月2日火曜日

Ubuntu14.04で日本語106キーボードと日本語を使う

実はすごく簡単。何!そんなことでいいの!

ところが、私は最初、viでうまく日本語106キーボードが使えなかったので、ネットを検索した。
そして下記のページなどを参考に努力をしてみた。かなり努力した。

http://ubuntu.hatenablog.jp/entry/20140403/1396524520
http://walts.xii.jp/psp/blog/archives/436
http://www.server-world.info/query?os=Ubuntu_14.04&p=keymap
http://q.hatena.ne.jp/1149948784
http://qiita.com/koizuss@github/items/3608bd4caf24433ede84

これらのページを参考に日本語106キーボードを設定をすると、再起動するまでは、viで日本語106キーボードが使える。でも、どのような組み合わせで設定しても、再起動すると日本語106キーボードではなくなってしまう。

昨日、2014/9/1ふと思った。Superキー(WindowsではWindowsキー)+スペースキーでの切り替えができるとどこかで読んだ。そういえば、メニューバーにもja, en, あAの3つが出ている。

Superキー+スペースキーを押してみると、ja, en, あAの3つがトグルして変わる。

この3つのトグルに関して、私は昨日まで漠然と勘違いしていた。日本語はあA、英語とアルファベットはenと思っていた。実際は、日本語106キーボードでアルファベットはja。そうjaだったのです。日本語キーボードで日本語はあA。enというのは、英語キーボードでアルファベットだったのです。

ここで不思議なのは、なぜ、Ubuntuベテランのホームページの皆さんは、この3つのことを書かないの?

Googleもこのことに限れば、馬鹿でしかない。このようなホームページとブログばかりを表示して出すのだから。

極めて簡単な解決方法があるのに、それを出せないなんて、馬鹿と言われても仕方がない。Googleを馬鹿呼ばわりできるなんて爽快だな。