Toastの再利用

Androidで、サービス等のUIを持たないコンポーネントから画面にテキストを表示するToastというAPIがある。割と昔からあるものなので挙動も同じだろうと思っていたら、某社の端末(未発売)でトラブルがあった。 その端末のバグっぽい印象だったので割と邪道な…

KotlinのCoroutineScopeのメモ

やっとexperimental が外れたのでボチボチ使っていきたい。https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md や http://kotlinlang.org/docs/reference/coroutines/exception-handling.html を読みながら理解しようとしたが、…

Docker構成のMastodonに組み込んだpgbouncerの監視をmuninに追加する

「Docker構成のMastodonに後からpgBouncerを組み込む http://d.hatena.ne.jp/tateisu/20170418/1492457904 」の続きです。https://github.com/munin-monitoring/contrib/blob/master/plugins/postgresql/pgbouncer_ を使ってみたというただそれだけの記事で…

Docker構成のMastodonでImageMagickのポリシーを変えてGhostscriptの脆弱性に対応する

Ghostscript に緊急レベルの脆弱性、悪用攻撃も発生 https://japan.zdnet.com/article/35100535/MastodonではImageMagick経由でGhostscriptが呼び出される場合があります。今回はImageMagickの設定ファイルを変更することでGhostscriptの呼び出しを回避しま…

Subway Tooter

Subway Tooter https://play.google.com/store/apps/details?id=jp.juggler.subwaytooterAndroid用のMastodonクライアントアプリです。 2017年4月23日に Playストアで公開しました。 (某所の「アプリを最速でリリースした話」よりさらに早い&速い) 当時の痕…

Docker構成のMastodonに後からpgBouncerを組み込む

背景 mastodon.juggler.jp はここ数日はサーバの人数1100〜1050、1日間のアクティブユーザ270人くらいで人数はあまり変わってません。しかしユーザ間のフォローが増えるにつれて、発言、ブースト、お気に入りで発生するFan-outが大量にsidekiqのキューに積ま…

Mastodonを設置したときのメモ

Mastodonは公式ドキュメントが比較的充実しているので設置そのものは簡単な部類です。mastodon.juggler.jpは4/12に稼働開始しました。特に人を増やす予定もなかったのですが、当時の日本サーバ群は色々と不安定だったので避難所的な使われ方をして人数が増え…

DHCPを使わずに無線LANに接続する

普通はDHCPクライアントが自動的にIPアドレスを取得してくれるが、今回はDHCPサーバにしたかったので dhcpcd5 と isc-dhcp-client をpurge してから以下の方法でネットワーク情報を設定した。 resolvconf のインストール 「dpkg -l |grep resolvconf」で確認…

java.net.PlainSocketImpl.finalize() timed out after 10 seconds

java.util.concurrent.TimeoutException: java.net.PlainSocketImpl.finalize() timed out after 10 seconds at libcore.io.Posix.close(Native Method) at libcore.io.BlockGuardOs.close( BlockGuardOs.java:101) at libcore.io.IoBridge.closeAndSignalBl…

back stack を保持したまま現在のfragmentを入れ替える

素直に入れ替えると「back stackに記録された最後のフラグメントとcontainerに現在保持されているフラグメントがマッチしない」という問題が発生します。back stack の内容を書き換えるのは難易度が高いので、別の対応を考えてみましょう。 back stack をpop…

Androidの通知アイコン

2.3から5.0までの端末で表示確認を行ってみました。 画像が多いので別ページで http://juggler.jp/tateisu/android/notification_looks/

Nexus 7 (2013)からの動画キャプチャ

ゲームの録画をしたくなったので動画キャプチャ環境を整えたなど。最初はChromecastの出力をHDMIスプリッターに繋いだけど、やはり帯域の問題で、Chromecast に出力した時点で画質が結構劣化してた。有線のHDMI出力アダプターの方が明らかに鮮明だった。録画…

irc.juggler.jp のサービス障害と irc2.juggler.jp の追加

irc.juggler.jp は2014年10月9日17時45分頃から翌日2時30分頃まで停止していました。リレーサーバなしだと障害時にチャンネルを維持できないので、対策として irc2.juggler.jp を用意して irc.juggler.jp とリレーさせました。 使っているIRCサーバソフトは6…

irc.juggler.jpの2ch@IRC脱退について

http://irc.juggler.jp/ の告知の詳細です。2014年4月に Jim が irc.2ch.net をDNSから消しちゃった件について、2014年9月に Jim と色々交渉した結果、彼のネットワークポリシーだと irc.juggler.jp が再度 2ch@IRC とリレーできる可能性はほとんどないとい…

Android アプリの間違った作り方 の続き

ずっと前に「Android アプリの間違った作り方」という記事を書いたけど、 見なおしてみると色々アレだったので、今ならこうするというのを書いておく Activity の初期化と終了処理 Activityはバックグラウンド状態になったり画面を回転させたりすると一時的…

PENTAX K-3用のカメラプレート(Lブラケット)

カメラを縦位置で三脚に固定する際、アルカスイス型雲台の信者はカメラにL字型のプレートを取り付けるのですがRRSもKirkもK-3用のLブラケットを出す予定はないそうですorz We have no plans to create custom plates for the K-3 camera at this time. Unfor…

PENTAX K-5, K-3 のACアダプタ

ペンタックスのデジタル一眼レフに装着するACアダプタは二種類あります。 K-AC50J (D-AC50とメガネケーブルのセット)(対応機種 645D/ K-5/ K-7/ K10D/ K20D ) K-AC123J (D-AC120とメガネケーブルのセット) (対応機種 K-5II / K-5IIs / K-3 ) 実際に両方買っ…

Android Walkman NW-F807

今まで NW-X1050 を使ってたんですが、容量16GBだとロスレスの曲を入れるには厳しかったので10月20日発売の NW-F807 を調達してみました。2chのNW-F800シリーズスレに書いたことや指摘された問題を以下に書いておきます。 プレイヤーアプリの選択 Google Pla…

Windows Phone の WebRequest のキャンセルとタイムアウト

Windows Phone の WebRequest にはタイムアウトの設定がありません。 タイムアウト機構は呼び出し側が独自に実装する必要があります。

Windows Phone の WebException のハンドリング

Windows Phone の WebRequest で リクエストを送った際にネットワークやサーバ由来のエラーがあると WebException 例外が発生するんですが、この例外のStatusプロパティやResponseプロパティにはクセがあって以下のような現象が発生します。 存在するサーバ…

Expression Blend 4 でカスタムコントロールとそのテンプレートを作ってみる

前回はWPFのスタイルやテンプレートについて書いたので、今回は実際に Expression Blend 4 でカスタムコントロールの作成とテンプレートの編集を行なってみます。

リソースとスタイルとテンプレート

WPF再入門状態なので忘れないように忘れてもいいようにメモ。(MSDN)スタイルとテンプレート に書いてあることの要約。具体的に組んでみる例は次回やります

Windows Phone アプリのUIレイアウトXAMLから文字列リソースを参照する

普通アプリを書く時は端末の言語設定によってテキストリソースを切り替えられるようにする訳ですが、Windows Phone 7.1 SDK でそれをやるのに多少苦労したのでメモしておきます。もっといい方法を御存知の方は是非教えて下さい。

SharedPreferences と MODE_MULTI_PROCESS がイマイチよろしくない件

運悪くAndroidで複数プロセスのアプリを作ったり、アプリ間で SharedPreferences を相互参照するハメになってしまった場合に役に立つ…いや、たぶん立たないメモ。 Context#MODE_MULTI_PROCESS フラグはどのように使われているか このフラグはContext#getShar…

Androidアプリからのファイルパーミッションの制御

アプリ間のファイルアクセスの許可/禁止には unix のファイルパーミッションの仕組みが使われています。 ファイルパーミッション - Wikipedia Androidではアプリごとにuidとgidが割り当てられていて、パーミッションのうち、otherのread,write,execute ビッ…

Windows Live ID が停止されてる件でたらいまわし続行中

SkyDrive Explorerで手持ちの画像を3GBくらいupしてみる 原因はわからないがアカウント停止される Webからサインインできない カスタマー サポートにお問い合わせください。 いくつかの質問をさせていただき、お客様のアカウントが安全であるかをご確認いた…

Bitmapのカドを丸くする

「アイコン画像を角丸にしてくれ」 とか、割とよくある話だと思うんです public static Bitmap clip_radius(Bitmap src,int out_w,int out_h,float radius_x,float radius_y){ // 入力と出力の矩形 Rect rect_in = new Rect(0,0,src.getWidth(),src.getHeigh…

cron-apt で自動アップデート

cron-aptを使うと毎日だいたい決まった時間にパッケージの自動更新を行える。 インストール apt-get install cron-apt /etc/cron-apt/config を編集 デフォルトでは全項目がコメントアウトされているので、変更したい部分だけ変更する。 APTCOMMAND=/usr/bin…

メールを受け取らないサーバでのexim4の設定

unixユーザアカウントが1つか2つ、メールを外部に送ることはあっても内部のローカルメールなんか見ないよという場合のexim4の設定。目新しくはないけど、よくやる設定なのでメモしておく。今回の例では myhostname が設定するサーバのホスト名で、 myhostnam…

node でIRCボットを書いてみた

書いてみた。フラッドプロテクションもちゃんと実装した。 http://dl.dropbox.com/u/10049046/node-ircclient.tgznode v0.7.4で動作確認。追加で node-iconv モジュールが必要。チャネル内のユーザがURLを書いたらそこにアクセスしてタイトルを読みに行くサ…