Scratch の iPad / iPhone版で、ローカルへのファイル保存機能が機能しだした
子供が時折 Scratch していて、自分が作ったプロジェクトAのデータを、プロジェクトBに持っていくのに、ローカルへのファイル保存機能を使いたいケース。
PC版だと問題なく動くんだけど、iPad(= iPhone)版では、何故かエラーメッセージが出てきて駄目だったんですね。
(ブログで、あまり言及している人がいないので、多分PC版前提の方が多いんだろうなぁ。と)
時折、Scratch プロジェクトで誰か言及している人いないかなぁ。とぐぐっていたんですが、あまり大きく取り上げられてなかったようなので、うーん日本版特有なのかな?と思っていました。
で、この間、偶然以下の issue がヒットしました。
更に子供が 久しぶりに、Scratch 始めていたので、「直ったかもよ?試してみて」と言ったら、ちゃんと保存できるようになっていました。
ありがとう、開発の方。m(_ _)m
GMailで、指定したfrom以外からのメールを転送しない
自分、とあるメアドに対して 送られてきたメールを携帯のメールに転送していたりします。
急ぎは携帯。1日くらい余裕の有るやつは、自宅のパソコンでのんびり。という使い方ですね。
で、当初、メアド宛のメール全てを転送していたんですが、段々携帯で読む必要が無いメールが増えてきました。
消す手間も惜しいので、GMailのフィルタ条件を見直す事にしました。
参考にしたURL
参考にしたURLは、↓これです。多謝。
- Gmailフィルタの使い方。
http://gmail.1o4.jp/filter.html
http://gmail.1o4.jp/operators.html - フィルタ条件の考え方 - Gmailの使い方
http://www.ajaxtower.jp/gmail/filter/index3.html - Gmail のフィルタ設定の基本を押さえておこう ; Tips of Gmail Filters Settings | COG LOG LAB.
http://cogloglab.com/tips/gmail-%E3%81%AE%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E8%A8%AD%E5%AE%9A%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%92%E6%8A%BC%E3%81%95%E3%81%88%E3%81%A6%E3%81%8A%E3%81%93%E3%81%86-tips-of-gmail-filters-setting/ - Gmail振り分けの便利な使い方 by @tsuj
http://webweb.jp/blog/web-service/gmail/
フィルタ条件のミソ
自分の設定したい、フィルタ条件は、
- 基本的に、メアド(hoge@gmail.com)宛に送られるメールを、全て携帯に転送。
- しかし、送信元で、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-twitter - A python wrapper around the Twitter API - Google Project Hosting
http://code.google.com/p/python-twitter/
まずは、ここの情報を見るのは必須ですね。
後は、先達の皆さんのブログなメモを見ながら、Pythonのhelpコマンドの表示内容と見比べつつ やっていけばOKです。
注意:APIを使用するには、Twitter Developersの登録が必須です
古い情報だと、例えば以下の呼び出しで、幾つかAPIが呼び出せるよ。と、書いていますが、現在は
oAuth 認証が全ての機能の呼び出しで必須の模様です。
import twitter api = twitter.Api(username='ユーザー名', password='パスワード') ary = api.GetFriendsTimeline()
つまり、Twitter Developersサイトでの登録が必須だという事です。
- Twitter Developers
https://dev.twitter.com/
作業の流れとしては、以下の感じです。
- Twitter Developersにアクセス。
- 右側のメニュー「Create an app」をクリック。
すると、「Sign in with your Twitter account」と出て、ユーザー名とパスワードを求められるので、自分のTwitterアカウントを入力する。 - Sign inできると、表示が切り替わるので、「Create a new application」を選ぶ。
- アプリケーションの情報を入力する。
(自分、何かアプリな情報を入れないといけないのか?と、思ってたんですが、かなりテキトーでもOKでした)
入力内容は、↓を参考にすると良いでしょう。
TwitterでOAuth認証を行う(1:Twitterへのアプリケーション登録) | Tech Booster
http://techbooster.org/android/mashup/4525/ - すると、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って奴。このタイプでは一番安いタイプじゃないかなと思います?
ただ、これ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デバイスサーバ(プリントサーバ機能付き)
- 出版社/メーカー: コレガ
- 発売日: 2011/07/20
- メディア: Personal Computers
- 購入: 1人 クリック: 101回
- この商品を含むブログを見る
接続の手順ですが、大体以下の感じでした。
- 無線化したいプリンタを、まずUSB接続でドライバを入れる。
ちゃんとスキャナとか使える事を確認した方が良いでしょう。 - USB共有センターのドライバを入れる。
CD-ROMのものより、Web siteの方が新しかったので、こっちを入れました。 - CG-WLNUP04Nと無線ルーターを接続。
USB共有センターで開くと、デバイスを認識するので、IPアドレスを自分の所属するドメインに設定し直して、ping確認しましょう。 - CG-WLNUP04Nにプリンタを接続。
USBポートのLEDランプが点灯します。 - USB共有センターで、接続したいプリンタを選んで、「接続」します。
- 無線上で「接続」したプリンタを使います。
当初、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と組み合わせてみました。
RMapsを使う為に、Windows7(x64)環境で Mobile Atlas Creator を使う
Androidタブレットを買ったんですが、Wi-Fi環境なので、基本外に持ち出す事が出来ないんですね。
(Wi-Fiルーターを持ち歩く必要がある)
Google Mapsは便利なので、これを外で電子地図代わりに使いたい。
けど、Wi-Fiルーターで接続しないと、地図表示できない。…うーん。という訳で、悩んでいたんですが、どうやらローカル地図ソフトなるものがある事を知った次第。
- 人々柱の備忘録| RMaps Android ローカルMAP
http://hitobitobashira.blog64.fc2.com/blog-entry-132.html - 人々柱の備忘録| Maps (-) Android オフライン地図をいつでも簡単キャッシュ
http://hitobitobashira.blog64.fc2.com/blog-entry-162.html - 人々柱の備忘録| Androidのオフライン地図アプリまとめ iPhoneとの比較
http://hitobitobashira.blog64.fc2.com/blog-entry-157.html
という訳で、RMapsというソフトを入れてみる事に。
動かしてみた感じ、良さげだったので、パソコンからオフライン地図データを取得して、RMapsに入れ込む事にしました。
オフラインな地図データ作成ソフトの存在
RMapsをWi-Fiが届かない環境でも使えるようにする為には、オフライン地図データが必要な訳ですね。
描画速度の速さで、↓このページからダウンロードできる Mobile Atlas Creator か TrekBuddy Atlas Creatorが良いように感じました。
- android-map - Solutions to Offline Google Maps for Android-powered phones. - Google Project Hosting
http://code.google.com/p/android-map/ - 作者と思われるページ:Dr. TYT 的 Android 地圖
http://android-map.blogspot.com/
本家?か良く判らないんですが、Mobile Atlas Creatorからダウンロードできる配布物は、SQLiteのバージョン不一致か良く判りませんが、少なくとも、Windows7(x64)な環境では正しく地図データを作成してくれません。
(当初、しょうがないので、VirtualPCで動かしていた)
ソフトの経歴としては、TrekBuddy Atlas CreatorからMobile Atlas Creatorにメンテナンスが移っているようなので、現在だと Mobile Atlas Creator(の、このサイトバージョン)を使った方が良いでしょう。
自分は、Mobile_Atlas_Creator_1.8_SQLite.zipをダウンロードして動かしてみたんですが、何の設定変更も無しに、地図データを作成してくれました。
多分、正しく動く SQLiteライブラリが同梱されているお陰だと思われます。
皆さんが紹介されている、TrekBuddy Atlas Creatorも使えます。(というか、タブレットでの動作確認は、こちらばかり試していた)
この場合、Windows7(x64)環境では、そのままでは使えません。x64に対応したSQLiteのライブラリに更新する必要があるので注意して下さい。
x64なSQLiteは、↓ここで紹介されている通り、やはり同サイトの、Mobile_Atlas_Creator_1.7_SQLite.zip内の「Win x64(64bit)」フォルダにある、「sqlite_jni.dll」に上書きする必要があります。
- Updating problems [myProject]'. no sqlite_jni in java.library.path | The Log of "__ ____"
http://thelogofthewook.blogspot.com/2011/12/updating-problems-myproject-no.html#!/2011/12/updating-problems-myproject-no.html
使い方
使い方は、基本皆さんの説明ページを読んで下さい。
そちらの方が、詳細で判りやすいです。
- 人々柱の備忘録| RMaps Android ローカルMAP
http://hitobitobashira.blog64.fc2.com/blog-entry-132.html - TrekBuddy Atlas Creator & RMaps
http://wp.07ch.com/?page_id=57 - RMapsを使ってトレイルランに(XperiaにオフラインでGPS): くろすけの、まったりと過ごす日々
http://kuro277.cocolog-nifty.com/blog/2010/08/rmapsxperiagps-.html
まぁ、それだと芸が無いので、同じ説明で申し訳ありませんが、順を追って説明をば。
1.アプリを起動すると、地図がどーんと表示されます。
ここで、注意ば必要なのは、左ドラッグは領域選択。右ドラッグが地図の移動です。最初、アレ?と思って固まりました。
1 posted by (C)wacky
2.地図データを作成したい大体の場所まで移動したら、おもむろに地図データを作成したい部分を左ドラッグで選択します。
選択した後、左ペインの「Zoom Levels」の数値を選択して下さい。これは地図の詳細度を指定します。
あまり大きい値を入れると、データサイズが莫大になるので、選択した際に表示される「xxx tiles」の値を睨みながら選んで下さい。
2 posted by (C)wacky
3.次に左ペインの「Add selection」をクリックします。
領域設定した情報は、下側の「Saved profiles」の下の「Save」で保存できるようなので、テケトーに保存しましょう。
3 posted by (C)wacky
4.次に左ペインの「Create atlas」で、地図データの情報取得と作成を行います。
全ての作業が完了したら、「Open Atlas Folder」ボタンが有効になります。
4 posted by (C)wacky
ちなみに、「Atlas settings」の「Format」で作成する地図データの形式を選ぶ事ができるようです。
6 posted by (C)wacky
5.「Open Atlas Folder」ボタンをクリックすると、作成された地図データファイル(.sqlitedb)のフォルダがオープンされます。
これを、タブレット端末の、SDカードの「//rmaps/maps」フォルダにコピーします。
5 posted by (C)wacky
6.タブレット端末を起動して、RMapsを起動し、Menuを選び、「その他」→「Settings」→「User defined maps」で、作成した地図データファイルを選択→「Enable map」にチェックを入れます。
一旦画面に戻って、Menuを選び、「Maps」で選択した地図データファイル名を選択すると、オフラインな地図データを表示するようになります。
感想
人々柱の備忘録さんのページで、オフライン地図アプリのまとめが載っていて、非常に参考になります。
- 人々柱の備忘録| Androidのオフライン地図アプリまとめ iPhoneとの比較
http://hitobitobashira.blog64.fc2.com/blog-entry-157.html
つーか、iPhone版もあるんですね。知らなかった。
こうなると、手持ちのiPod touchにGPSが欲しくなるなぁ。次期バージョンで搭載してくれないかなぁ?