Okada Hiroshi の blog

typo が多いです

手抜きの人用の favicon ジェネレータを作りました。

昔に比べて、クライアントサイドの JavaScript だけで、かなり色んな事ができるようになったので、手抜きの人(自分とか)用の favicon ジェネレータを作ってみました。

拙速 favicon ジェネレーター

https://hasty-favicon.toycode.com/

文字を入れるだけでとりあえず favicon ができるので、デザインがあまり必要ではい (でもブラウザのタブを沢山開いた時でも区別したいので、最低限の favicon はつけたい) 時には便利ではないでしょうか。

なお、同様のサイトとして Favicon Generator とうのがあります。もう少しこった物が欲しい人はこちらを使った方がよいかもしれません。 (僕はもう歳なので、複数文字だと見づらいのですが)

Mastodn API を叩くための access token を取得するコマンドラインプログラムを node.jsで書きました。

Mastodn API を叩くための OAuth2 の access token を取得する。コマンドコマンドラインツールを node.js で書いてみました。

www.npmjs.com

(途中でブラウザが立ち上がります。)

npm を公開するにのは初めてだったので、数日かかってしましましたが、これで bot を作るのが楽になったと思います。

なお、 mastodon の場合

config/initializers/doorkeeper.rb

# Access token expiration time (default 2 hours).
# If you want to disable expiration, set this to nil.
 access_token_expires_in nil

となっているので、 access_token の更新はしなくても良いようです。

INotifyPropertyChanged の実装が面倒くさい (Google Apps Script を使ってスニペットを生成したけどそれでも面倒くさい)

久しぶりに Windows アプリケーションを C# で書いているのですが、INotifyPropertyChanged の実装が非常に面倒くさいです。正直言って非人間的だと思います。

仕方がないので、Google Apps Script でコードの断片を自動生成することにしました。

具体的な方法としては

(1) Google スプレッドシートを開いて、さらにスクリプトエディタを開いて以下のスクリプトを作成しました。

gistd911b45aa32a99e5c0be

(2) スプレッドシートを閉じて開いて、以下のように f:id:OkadaHiroshi:20160314175648p:plain のように入力しました。

(3) メニューからスニペット作成→INotifyPropertyChangedスニペットを実行し、以下のような文書が作成されるのでこれをコピーしてプログラムにペーストしました。

        private int testOne = 0;
        private string testTwo = "";

       /// <summary>テスト1</summary>
        public int TestOne        {
            get { return testOne; }
            set
            {
                if (value != testOne) {
                    testOne = value;
               }
               NotifyPropertyChanged("TestOne");
            }
        }


        public string TestTwo        {
            get { return testTwo; }
            set
            {
                if (value != testTwo) {
                    testTwo = value;
               }
               NotifyPropertyChanged("TestTwo");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        private void NotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

面倒臭さが 100 から 50 くらいには減りましたが、いちいちコピペするのは全くイケていません。外部ライブラリ等を導入するのも躊躇するしみんなどうしているのだろう。

ページのタイトルとURLを取得する Chrome 拡張を作ってみました

お勧めの Web ページの一覧表とかを作るときに、いちいちページタイトルとURLをコピーして組み合わせるのが、するのが面倒くさいかったので、勉強も兼ねて Chrome 機能拡張を作ってみました。

同じような機能拡張は結構あるのですが、 Textile とか Markdown とかでドキュメントを作っている場合には便利かもしれません。

f:id:OkadaHiroshi:20150206195007p:plain

[Android] Android エミュレータが遅いので、VirtualBox に Androidx86 をインストールしてみました

Ubuntu 10.04 に Android の開発環境をインストールしてみた - Okada Hiroshi の blog ということで、Android の勉強をはじめたのですが、エミュレータの起動が遅いし、動作も今ひとつもっさりしていて、あまり快適ではありません。

そこで、X86 で動く AndroidVirtualBox で動かしたらもう少し快適に動作するのでは? と思ってやってみました。

僕の使用しているデスクトップは 1.86GHz くらいの Core2Duo ですが、結果は、おもった以上に快適でした。

以下、手順を書きます。環境はUbuntu 10.04 LTS デスクトップ です。

  • まず、VirtualBox を Synapitic パッケージ・マネージャーからインストールします。 -- 単純に virtualbox-ose にチェックを入れてインストールするだけです。 -- なお、起動は、アプリケーション -> アクセサリ -> VirtualBox OSE です。

  • 次に http://www.androidx86.org/ http://www.android-x86.org/ の downloads の所から android-x86-1.6-r2.iso をダウンロードしました。

  • この CD イメージを使って AndroidX86 をインストールしました。 -- メモリを512MB、ハードディスク 4GB にしました。*1 -- 仮想マシンのネットワークの設定はディフォルトでは NAT ですが、それでは外側からアクセスできないので、ブリッジアダプタにしました。*2 -- インストール時にハードディスクのパーテーションを設定しますが、全部を1パーティションにして、ext3 でフォーマットしました。

  • 起動時には20秒ほどかかります。

  • とりあえず Settings -> Locale & text -> Select locale で Japanese を選びました。

  • 設定 -> Ethernet Configuration で Ethernet の設定を確認しました。 -- なお、IP アドレスは一番上部の部分からマウスでドラッグして出てくる場所で確認できました。

  • デバッグを有効にするために次の設定をしました。 -- 設定 -> アプリケーションで 提供元不明のアプリを許可をチェックしました。 -- さらに -> 開発で USBデバッグとスリープモードにしないをチェックしました。*3 -- また Dev Tools -> Development Settings で Wait for debugger をチェックしました。*4

  • Ubuntu の端末上で ./android-sdk-linux_86/tools に移動して次のコマンドを打ちました。

    || $ export ADBHOST=192.168.1.7 # アドレスはさっき確認した物 $ ./adb kill-server $ ./adb start-server $ ./adb start-server # 確認、下のように出れば多分 OK です。 List of devices attached emulator-5554 device ||<

Eclipse 上で Android Project (1.6用) を作って Run As Android Appliaction で実行すると見事にエミュレータ上で実行できました。

参考ページ - http://f.orzando.net/pukiwiki-plus/index.php?SmartQ5/AdbWithWifi - http://d.hatena.ne.jp/androidzaurus/20080930/1222739493

*1:たぶんそんなに要らないです

*2:家庭内LANでは問題がないですが、そうでない時は問題かもしれません

*3:これはいらないかも?

*4:僕の所では必要でした