ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

子供に Minecraft for Java版 を購入する際に引っかかった事

子供が、Minecraft に嵌っております。
今まで、Switch 版をやっていたのが、mod で遊びたーいとか言い出して、PC版で遊びたいと言う。
んで、紆余曲折あって、Minecraft for Java版を購入したのですが、そこで嵌った点を説明。


最初に結論から列挙します。

  • Java版 / Windows版 どちらを購入するか決める事。
    これは 比較サイトがあるからそこで目的に応じて比較してください。どちらにせよ、お試しができるので、まず PC環境で楽しく遊べるか確認してからかな。
  • 購入時、子供用に用意した Microsoft アカウントで購入する事。
    子供に Minecraft を購入する際の注意点として、他でも強調しているので重要。これをしないと、購入時の Microsoft アカウントで遊ばせる事に陥る。
  • 課金は Webで完結できる。
    最初、お試し版を入れていた関係上、最初 Minecraft Launcher から試していましたが、Webで完了できました。
  • ペアレンタルコントロール設定時、(現時点は)課金制限は一旦解除しないとダメっぽい。
    これが一番引っかかった事。課金チェック時に 親に確認が飛んでくると思って、色々試してみましたが ダメでした。

購入課金の手順

試行錯誤のは すっ飛ばして、多分これが自分の中で正しい手順。


まず、Minecraft の web site に行きます。
www.minecraft.net

右上の丸囲みが、自分の Microsoft アカウントになっていれば、そのまま購入に進めます。
f:id:Wacky:20220402110738p:plain


そうでなく、上の画像のように、「ログイン」になっていれば、「ログイン」を押すと、Microsoft アカウント と Mojan アカウントのどちらで入るか聞いてきます。今後は、Microsoft アカウントに統合されるようなので、Microsoft アカウントにすべきでしょうね。
f:id:Wacky:20220402111026p:plain


まだ、Microsoft アカウントを作ってないなら、ここで作れるようです。
というか、子供に PCを渡すなら、ペアレンタルコントロール 用に、子供用のアカウントを作っているでしょうから、そこで Microsoft アカウントを設定して、それを利用した方が、後々楽になるんじゃないかな。と思います。


余談ですが、現状 Windowsの ペアレンタルコントロールは、結構良い感じかな。という感触を持っています。(Windows10 / 11 の話ね)
Appleのペアレンタルコントロールは、延長機能が良い感じ。
対して、Switch は、もうちょっと何とかしてよ レベル。Windows とまではいかないけど、延長機能は最低限搭載して欲しい。


話を戻して、ログインが成功したら、上側の「ゲーム」を選択します。
f:id:Wacky:20220402150254p:plain

下側にゲーム項目がドロップダウンするので、「Minecraft」を選択します。
f:id:Wacky:20220402150400p:plain

Minecraftを購入」を選択します。
f:id:Wacky:20220402150556p:plain

次に、「どんなふうにプレイしたいですか?」と聞いてくるので、「パソコン」を選択します。
f:id:Wacky:20220402150659p:plain

次に、「どのプラットフォームをご利用ですか?」と聞いてきます。私は子供が「Java~!」だったので、「Java Edition」を選択しました。
f:id:Wacky:20220402150949p:plain

Java Edition を選択すると、以下の画面が出てきます。
ここで「Minecraftを購入」を選択します。
f:id:Wacky:20220402151129p:plain

この後、うまくいけば、以下の注文画面が出てきます。
f:id:Wacky:20220402151238p:plain


問題は ここで、私の場合「購入する権限がありません」と出てきてしまい、注文画面に入ることができませんでした。
↓同じ現象の方が、いくつか投稿されているようですね。
13歳ですがMinecraftjavaEditionを買おうと... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11254895321


ペアレンタルコントロールの設定をしていたので、親への確認が飛んでくると思いきや、まったく来ない。
f:id:Wacky:20220402155531p:plain
「購入するたびに承認が必要」を有効にしていたのにダメで、年齢フィルターのせいかな?と思って、フィルターのリミットを解除してみてもダメ。
Microsoftアカウントの残高」で、事前課金すれば何とかなるかな?と思って試してみたが、全く反応してくれない。
もう、諦めて「購入するたびに承認が必要」を一旦オフにする事で、注文画面の先に進めて、無事購入課金が完了しました。
この後、さっさと元に設定を戻しましたけどね。
しっかし、なんで、承認確認が出てこなかったのかなぁ?

その他の気づき

お試し版を入れる

お試し版を入れる際は、以下の画面から「今すぐダウンロード」を使ってインストールすると思います。
f:id:Wacky:20220402161204p:plain

確かに、ここで良いようなんですが、この後のダウンロードで、自分は中々作業が進まない問題が出ました。
で、自分の場合、Microsoft Store から、Minecraft Launcher をダウンロードして実行すると、何故か簡単に解決しました。
f:id:Wacky:20220402161707p:plain

どっちにしろ、Minecraft を購入後に遊ぶ際も、この Minecraft Launcher を使って起動するので、入れてしまって良いとは思いますがね。

Minecraft Launcher 起動時の警告メッセージ

なぜか、自分の環境では、Minecraft Launcher を起動すると、以下の画面のように右上肩に警告メッセージが出てきます。
f:id:Wacky:20220402162213p:plain

Minecraftを購入した後、消えた時もあります。
が、この記事を書く際に、一旦ログアウトして再びログインすると、また現象が出ました。
いまいちよく分からないです。

Minecraft Launcher をデスクトップに貼り付ける

Minecraft Launcher をタスクバーにピン止めすると、何故か真っ黒アイコンで、アイコンの視認性が悪かったのです。
で、デスクトップに貼り付けたいなぁ。と思いました。
ぐぐって調べると、アプリケーション集を開いて、対象のアイコンをデスクトップにコピーすれば良いようです。

手順は、まず Windowsキー + Rキーで、「shell:AppsFolder」を入力してOKします。
f:id:Wacky:20220404231537p:plain

すると、アプリケーションのアイコンが入ったアイコン群が出てくるので、「Minecraft Launchear」を探して、デスクトップにコピーすれば良いようです。
f:id:Wacky:20220404231857p:plain

最後に

ペアレンタルコントロールの課金制限は、しばらく経ったら、オフにしなくても ちゃんと課金できるようになるかも知れません。
このオフにするのに 暫く戸惑ってしまい、長い時間を掛けてしまったので、今回の記事を投稿しました。
余談ですが、子供は、Minecraft で遊ぶのかと思いきや、MCreator で まずは mod を作りたいとか言い出してきました。
いきなり そこかい?と思った次第。

Scratch の iPad / iPhone版で、ローカルへのファイル保存機能が機能しだした

子供が時折 Scratch していて、自分が作ったプロジェクトAのデータを、プロジェクトBに持っていくのに、ローカルへのファイル保存機能を使いたいケース。
PC版だと問題なく動くんだけど、iPad(= iPhone)版では、何故かエラーメッセージが出てきて駄目だったんですね。
(ブログで、あまり言及している人がいないので、多分PC版前提の方が多いんだろうなぁ。と)

時折、Scratch プロジェクトで誰か言及している人いないかなぁ。とぐぐっていたんですが、あまり大きく取り上げられてなかったようなので、うーん日本版特有なのかな?と思っていました。

で、この間、偶然以下の issue がヒットしました。

github.com

更に子供が 久しぶりに、Scratch 始めていたので、「直ったかもよ?試してみて」と言ったら、ちゃんと保存できるようになっていました。
ありがとう、開発の方。m(_ _)m

周回遅れ

動くのが遅すぎた。
既にインポート機能は 3/7に停止されていた。あちゃー。

はてなブログは、archives で記事一覧ができないので、ぼーっとしていたんだよね。
まぁ、仕方ない。

ダイアリーへの投稿が、2012/9/17なので、えらい昔だよ。
自分では永遠に無理だと思っていたのが、何故か女神様に拾ってもらって、いつの間にか座敷わらしが1upしている不可思議。
人生って、何があるのかわからんもんですね。

GMailで、指定したfrom以外からのメールを転送しない

自分、とあるメアドに対して 送られてきたメールを携帯のメールに転送していたりします。
急ぎは携帯。1日くらい余裕の有るやつは、自宅のパソコンでのんびり。という使い方ですね。


で、当初、メアド宛のメール全てを転送していたんですが、段々携帯で読む必要が無いメールが増えてきました。
消す手間も惜しいので、GMailのフィルタ条件を見直す事にしました。

参考にしたURL

参考にしたURLは、↓これです。多謝。

フィルタ条件のミソ

自分の設定したい、フィルタ条件は、

  1. 基本的に、メアド(hoge@gmail.com)宛に送られるメールを、全て携帯に転送。
  2. しかし、送信元で、puge@hogeratta.comやponyo@mera.mera.net.jp から送られてくるメールは転送しない。

といったものでした。


この場合、以下のように設定します。

From .
To hoge@gmail.com
件名 .
含む .
含まない from:hogeratta.com and from:mera.net.jp


設定のミソは、「含まない」に、送信元(from)の部分文字列を、and条件で繋げる。って事です。


これで、不要なメールの転送を防げるという事です。良かった、良かった。

python-twitterを使う

Twitterで、気になった つぶやき を、ポコポコ お気に入りに登録しています。
後で、がーっとwebで見なおしてやろうと思っての事なんですが、Twitterクライアントって、お気に入りを一気に開きまくるという使い方には、対応していません。


という訳で、Twitter APIを使って、何とかしてやろうと思いました。
その際、幾つか躓いた点をメモします。

最初

Python版のライブラリは、python-twitterというのがあるようで、先達の方々が色々と調べてらっしゃっています。

まずは、ここの情報を見るのは必須ですね。
後は、先達の皆さんのブログなメモを見ながら、Pythonのhelpコマンドの表示内容と見比べつつ やっていけばOKです。

注意:APIを使用するには、Twitter Developersの登録が必須です

古い情報だと、例えば以下の呼び出しで、幾つかAPIが呼び出せるよ。と、書いていますが、現在は
oAuth 認証が全ての機能の呼び出しで必須の模様です。

import twitter 

api = twitter.Api(username='ユーザー名', password='パスワード') 
ary = api.GetFriendsTimeline() 

つまり、Twitter Developersサイトでの登録が必須だという事です。

作業の流れとしては、以下の感じです。

  1. Twitter Developersにアクセス。
  2. 右側のメニュー「Create an app」をクリック。
    すると、「Sign in with your Twitter account」と出て、ユーザー名とパスワードを求められるので、自分のTwitterアカウントを入力する。
  3. Sign inできると、表示が切り替わるので、「Create a new application」を選ぶ。
  4. アプリケーションの情報を入力する。
    (自分、何かアプリな情報を入れないといけないのか?と、思ってたんですが、かなりテキトーでもOKでした)
    入力内容は、↓を参考にすると良いでしょう。

    TwitterOAuth認証を行う(1:Twitterへのアプリケーション登録) | Tech Booster
    http://techbooster.org/android/mashup/4525/
  5. すると、Consumer key, secretの情報がゲットできます。
    更に続けて、ページ下部にある「Create my access token」を選んで、Access token/secretをゲットしましょう。

削除機能を使うならば、Access levelを変更すべきです

参照するだけなら良いですが、削除とかを行うAPIを呼び出したいならば、先ほどのページで、Access levelを変更しましょう。

自分は、Api.DestroyFavoriteメソッドを使おうとして、この問題にぶち当たりました。

TwitterError: Read-only application cannot POST

既にAccess tokenをゲットしている場合は、Access levelを変更後、再度Access tokenを取得しなおして下さい。

サンプルコード

という訳で、お気に入りを一覧取得するサンプルコードです。

# -*- coding: utf-8 -*-
# テスト:お気に入り情報の取得
import twitter

CONSUMER_KEY = '入れて'
CONSUMER_SECRET = '入れて'
ACCESS_KEY = '入れて'
ACCESS_SECRET = '入れて'

def T(s):
	return s.encode('cp932', 'ignore')

def print_status(ary):
	for i in ary:
		print "------"
		print "[%s][%s][%s]" % (T(i.created_at), T(i.relative_created_at), T(i.user.name))
		print "  %s" % (T(i.source))
		print "  %s" % (T(i.text))

api = twitter.Api(
	consumer_key = CONSUMER_KEY,
	consumer_secret = CONSUMER_SECRET,
	access_token_key = ACCESS_KEY,
	access_token_secret = ACCESS_SECRET)

stat = api.GetFavorites()
print_status(stat)

twitterライブラリが、utf-8専用だと書いてあったので、エンコードutf-8にしてみました。
ただ これだと、コンソール出力する時に、encode失敗するようなので、適当に encode メソッドを呼び出して逃げています。

ちなみに、登録したお気に入りを削除するには、例えば、以下のように変更すればOKです。

...
def print_status(ary):
	for i in ary:
		api.DestroyFavorite(i)
...

これらの挙動を調べる際、pdbモジュールとhelpコマンドを総動員しました。
便利ですよね。

corega CG-WLNUP04N を買った

嫁さんがプリンタ(非無線対応)をUSBケーブルで接続していたんだけど、取り回しが大変そうだったんですね。
他にも、非無線対応なUSBデバイスがあったので、無線対応なプリンターサーバーを買って、机の周りをすっきりさせる事にしました。


当初考えていたのは、PLANEXのFFP-PKP03って奴。このタイプでは一番安いタイプじゃないかなと思います?
【Amazon.co.jp限定】PLANEX 無線LAN プリントサーバー シンプルシリーズ 双方向通信対応 FFP-PKP03(FFP)

ただ、これUSBが1ポートしかないんですね。
USBハブで複数分けて使えるのか、非常に微妙。


他のメーカさんで、複数のUSBポートが使えるタイプは無いか調べてみたんですが、大体以下の状況っぽい。
ほとんど1ポートのみなんですが、無線対応のプリンタが出てきている状況で、何の意味があるんだろうなぁ?(USBハブ対応とはっきり書いてある訳でも無し)

メーカ 型式 URL
corega CG-WLNUP04N/-W http://www.corega.co.jp/prod/wlnup04n/
I/Oデータ WN-DS/US http://www.iodata.jp/product/network/option/wn-dsus/


で、いつものAmazonでチェックしていたら、CG-WLNUP04Nがある瞬間 結構安かったので、思わず購入してみました。

Corega CG-WLNUP04N 無線・有線LAN対応 4ポートUSBデバイスサーバ(プリントサーバ機能付き)

Corega CG-WLNUP04N 無線・有線LAN対応 4ポートUSBデバイスサーバ(プリントサーバ機能付き)


接続の手順ですが、大体以下の感じでした。

  1. 無線化したいプリンタを、まずUSB接続でドライバを入れる。
    ちゃんとスキャナとか使える事を確認した方が良いでしょう。
  2. USB共有センターのドライバを入れる。
    CD-ROMのものより、Web siteの方が新しかったので、こっちを入れました。
  3. CG-WLNUP04Nと無線ルーターを接続。
    USB共有センターで開くと、デバイスを認識するので、IPアドレスを自分の所属するドメインに設定し直して、ping確認しましょう。
  4. CG-WLNUP04Nにプリンタを接続。
    USBポートのLEDランプが点灯します。
  5. USB共有センターで、接続したいプリンタを選んで、「接続」します。
  6. 無線上で「接続」したプリンタを使います。


当初、WPSボタンで簡単接続は出来なかったので、無線ルーターのフィルタ外しを、ちこっと行なっていたら、共有センターがデバイスを認識していました。(多分、パケットを監視してんだろうなぁ)


で、「サーバーをダブルクリックして、IPアドレスを変更してください」とあったので、自分の所属ドメインに適当に振ってやると、後は簡単に接続できました。


他の製品で、無線化したプリンタは、応答速度が遅いというコメントも見られましたが、そんなに遅いかな?という感じです。
(あぁ、一度だけ妙にスキャナの応答速度が遅い時がありましたが、その後、特に発生していません)


今回、無線化したプリンタは、EPSON PM-A890という奴ですが、Win7 x64環境で、スキャナがばっちり使えています。(というか、先日からスキャナばっかり使っている)

バッチファイルで、あるプロセスが起動してなかったらば…を実現する

自分的なメモ。


バッチファイルで、あるプロセスが起動していなければ、実行する。
というのを指示する方法です。

tasklist | find /C "procexp"
if ERRORLEVEL 1 start C:\ほげほげ\ProcessExplorer\procexp.exe /t

これで、ProcessExplorerが起動していなければ、起動させる。という事が実現できます。
(まぁ、ProcessExplorerは、「Allow Only One Instance」って指定が出来るんですけどね)


tasklist単体では、返値が常に「0」っぽいので、findと組み合わせてみました。