投稿

2014の投稿を表示しています

Yukari for Android ver.1.0.0

結月ゆかりさん、お誕生日おめでとうございます。心よりお祝い申し上げます。
VOCALOID 4に対応した純・穏・凛の新しいライブラリ、それらを使った作品が見れるのが今からとても楽しみです。

さて、Yukari; prototype 0.35 の公開から1年が経過した今、2014年の成果物として Yukari for Android 1.0.0 をリリースします。

0.166.1alpha からの変更点オートミュート機能ツイフィール ビューア表示域拡張を使用中、画面左下の「▶」をタップするとナビゲーションバーを再表示する機能UserStreamが切断された時のメッセージ表示を復活サムネイル対応の追加Gyazototori.dip.jpオプションの追加実況モードRTレスポンス通知サムネイルモザイク加工日本語のツイートのみの検索と、RT除外検索Limited TL (画面上のツイート保持数の制限と自動破棄)画像添付プレビューで画像を正しい向きで表示するよう修正Pixiv R-18画像のサムネイル処理でクラッシュするバグを修正pbs.twimg.com直リンクの画像でサイズsuffixが付いている場合に表示失敗するバグを修正フォロー関係の取得でクラッシュするバグを修正DMタブが開かれた状態でアプリを休止すると、復帰時にクラッシュするバグを修正

期末試験が重なったために、11月は月末の定期リリースを行うことができませんでした。そのため、11月に公開予定だった機能も今回のアップデートにまとめています。

このアップデートをもって、私が2013年中に構想を立てていた全ての機能の実装を完了しました。私だけが使うアプリだったら、妥協に妥協を重ねてそれすら到達することは無かったことでしょう。ユーザの方々の声は確実にモチベーションに影響していました。ありがとうございます。

これからしばらくは、機能追加を優先して1年間放置し続けていたバグについての調査を行うことと、ライブラリの更新によるMaterial Design対応を行っていきたいと思います。
どうか、これからもよろしくお願いします。

はじめてのおーえすしー - OSC2014 Tokyo/Fallに行った

10月19日、明星大学にて開催された「オープンソースカンファレンス 2014 Tokyo/Fall」の2日目に行ってきました!
私にとっては初めてのOSCで、しかも技術系のイベントに参加したのは初めてかもしれません。とても新鮮な体験でした。

当日の私の行動は、朝イチで群馬を発ちEjectセミナーに参加。
何とかして時間に間に合わせました。

きたぜ!303
— 芝生 (@shibafu528) 2014, 10月 19 あっきぃさんの喋りはとても面白い、私はこういうの聞くの大好きです。
EjectでQoLの向上を図るということ、今までどういう目的なのか知らなかったのでなるほど〜という感じでした。
どのようなことをしてきたのかを聞いているうちに、アイデア次第で面白いことが出来そうだなと感じました。この辺は私の好きなmikutterプラグインシステムと何となく近い……?

そういえばセミナー中、特定されてました。

大体察した pic.twitter.com/DxYzYXzM3O
— 来いや!!(´゜ε゜`(⊃*⊂) (@mumei_himazin) 2014, 10月 19そりゃこんなAP立ててりゃ当然だ。仕方ない仕方ない。

この後は、気になったブースを巡っていました。

openSUSEユーザ会。ぎーこかわいい!!
かわいい! #osc14tkpic.twitter.com/s7Su7gHWip
— 芝生 (@shibafu528) 2014, 10月 19
NetBSDユーザ会。シールの量がやばかったですね。らこらこシールを持って行きました。
シールが大量設置されてるブースこわぁ… #osc14tk
— 芝生 (@shibafu528) 2014, 10月 19
Gentoo-JP。カーネルコンパイルをしているというツイートに釣られて行ったら本当にやっていました。
Gentooブースではカーネルコンパイルしています(しろめ
— でぃーあきさん (@d_aki) 2014, 10月 19
Gentooブースほんとにカーネルコンパイルしてた… #osc14tkpic.twitter.com/xdsgh2W79c
— 芝生 (@shibafu528) 2014, 10月 19
そんなことをしていたら、フォロワーであるたけのこ氏からのリプライが。
@shibafu528 こんな…

夏休みはmikutter-plugin

夏コミ終わりましたね。参加された皆様はお疲れ様です。私は行ってないです。
mikutterの薄い本、買いました? ラボ畜本、買いました? えー、それらが欲しかったんですよ……。

さて今年は最後の夏休みということで、惰眠をむさぼったり、Yukariの開発をすすめたり、mikutter-pluginを書いて思う存分遊んでます。課題?知るかよ

数がまとまってきたので、本Blogではまだ紹介していないものをちょっとこの辺に書きなぐってみようかなと思った次第で。

gstreamer mikutterのサウンドプラグインとしてGStreamerを利用できるようにするプラグイン。
動作の詳細については、今後Web上にも公開される予定である「mikutterの薄い本 vol.6」の記事を参照されたし。
適当に言うと、mikutterが直接GStreamerを触るとアプリケーションがハングアップしてしまうことがあるため、mikutterとGStreamerの間に仲介役のプロセスを立てて通信を行いGStreamerを利用するといったもの。
まぁ例えば、授業中にちょっと離れてる友達に伝言を直接投げつけるのは難しいので、相手先の途中に座っている子にメモを渡して、それを送ってもらう感じですかね。
余計分かりにくいね。
ともかく、これを使うことでGStreamerの力でサウンドが再生できるようになる。通知再生プラグインとしてだけでなく、他のプラグインからGStreamerで再生を行うためにも使えるようにしている。
ALSA Pluginではaplayの都合でwav程度しか鳴らせないものが、これによって幅が広がるので、まぁ発想次第でいろいろ遊べるんじゃないかなと思っています!

mediaplayermikutter_gstreamerの力を使い、mikutter上でサウンドファイルを再生するためのプラグイン。
実際にはmikutter-gstreamer単体で再生可能だが、ユーザが使うためのコマンドを実装していないために別途書いた。
これを使うことで、とりあえず作業用BGMを流すといったことがmikutter上で完結する。まあ、mikutterはいつも立ち上がっていますものね?
ちなみにmikutter作者の@toshi_aさんにはこのような使い方もリプライされていました。
@shibafu528

GNOME 3.12でコンテキストメニューにアイコンを出す方法

GNOME 3.12、私の環境だけってことはおそらく無いと思うのですがコンテキストメニューにアイコンが出ませんね。
しかも、Tweak Toolでも該当の設定が見当たりません。これは困りました。

ということで、GNOME 3.12でもアイコンが出るようにしましょう。

まずdconf-editorを開き、org.gnome.settings-daemon.plugins.xsettings を探してください。そこにある overrides キーを
{} から
{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>} と書き換えます。環境によっては既に括弧内に値が記述されている場合もありますので、その場合は 'Gtk/Button〜 の辺りをカンマ区切りで追記すれば大丈夫です。

これで、アプリケーションによっては即時あるいは再起動後に、コンテキストメニューにアイコンが表示されるようになります。
非表示にしたい場合は追記したぶんを削ってください。


本エントリでは、次のページを参考にしました。Fedora勢はデフォルトDEなだけあってGNOME Shellに触れている人が多いので情報が蓄積されてますね。
https://ask.fedoraproject.org/en/question/23116/how-to-fix-missing-icons-in-program-menus-and-context-menus/

しっかしGNOME Shell、設定が減ったぶんやりづらい節があるなあ…

Yukari; prototypeの進捗(ver0.11x)

Yukariについて書くのは、公開時以来です。

2013年12月22日にVer0.35を公開し、それから約半年が経過しました。
現在はバージョン番号も無駄に進み、Ver0.11xを開発しています。(バージョン番号は作業した日に1日1回だけインクリメントしています、つまり110日と数日は1行でも作業したということですね)

さてそれだけいじり続けてきたYukariですが、目標のクライアントとして完成させるためにここで当初の計画を振り返ってみたいと思います。

Yukariは「モバイルでもTwitterの機能をほとんどこなせる力と、ツイートが読めること、そしてマルチアカウントの統合タイムライン」を目標に開発が開始されました。
Twitterの機能をほとんど使えるクライアントであれば「twicca」が、文字化けせずに読めるクライアントは「ツイッターするやつ」が、マルチアカウントの統合タイムラインは「Twidere」があります。
しかし、それぞれをいいとこ取りした、私の求めていたクライアントは見つかりませんでした。PCでやることをそのままモバイルでやろうとするのはおかしいのかもしれませんが、とにかく私はパワフルなTwitter環境を求めていました。

そして、マルチアカウントと多機能を目指して開発してきました。
未だにできないことは何でしょう。

私のToDoに書いてあるだけで、こんなにあります。

リストの管理機能(リストへのユーザ追加・削除とリスト自体の作成・削除)スクロールロック条件カラーマーカーツイート詳細画面のアカウント切り替え対応短時間ミュートDMスレッド表示位置情報の付加と表示ブックマーク(アカイトリ4の積ん読機能のような) 思ったより残ったことが多いです。しかも、作業の重いものが。 大きいことはなかなか腰が重くなるんですよね、そう言うくらいなら実装したいものです。動ける人間になりたいですね〜。
これらの機能が実装された時、バグの大小や機能性の良し悪しに関わらず、Ver1.00として、正式版リリースを行う予定です。 いつになるでしょうね。

応用情報受かりました

イメージ
やりました。

午後問の選択がいい感じに効いたのではないでしょうか。
まー受かってよかったです。これを活かせる進路が決まっていませんが。

群馬県情報処理競技大会でたよ

ささっと書きましょう。
団体で優勝、個人では準優勝でしたっ。

ううむ、去年は個人優勝したから、悔しいですねえ。
ちなみに今年の個人優勝は後輩の@raven_38_君です。競プロ勢つよい。
まぁ、2部問題では同点なんです。1部問題の計算問題が明暗を分けたとのこと。。。


今回の問題の感想。
1部、とても普通だったと思う。見かけるような問題が少なくないといった印象で、過去問等で対策をしていればもうちょっと取れたのかなあ。
データベース問題はちょっと理解しきれてないです。時間が迫っていて大問2との兼ね合いで思考時間を削らざるを得なかった。

2部、いつも通り表計算が時間を喰う。表計算問題、見づらいんですよね。問題文からセルを確認してそこからトレースしたりしていくの面倒臭さあります、仕方ないんですけど。
確か、うるう年を求める問題があったと思います。あれ、問題の出し方によっては詰みも有り得ましたがそうでもなくて良かったです。処理条件読めば何とか行ける感じ。しかし読みにk
短い方のフロー問題は、基本的な二分探索などが盛り込まれていました。配列の開始番号を読み誤ることさえなければ解けるでしょう…と書きたかったんですけど、開始番号について理解してなくても当該解答は埋めることができます。中央値の求め方を選択肢から選ぶだけでしたから。
長い方のフロー問題は、もはやただの時間との戦いです。攻略に際してはやたら長い文章、大きいフロー、これらに圧倒されず、かつ、表計算問題で時間を食われすぎていないことが条件となるかと。
実際の回答は読めば埋められます。1つ1つはごく単純な変数の指定や、計算式だったと思います。解答の文字数も枠に対して少なく済むでしょう。

こういう感想、不確定な場所を記録にしないように問題を読み返しながら書きたいんですけど、問題冊子は回収となっています。悲しい。

GentooInstallBattleをしたよ

うっわBlogの存在忘れてた どうもどうも

今年のとても微妙なゴールデンウィーク、あまりに何もしていないので何かをしようと思った結果、私は#gentooinstallbattleをしようと何故か思い立ってしまいました。

今まで、一度VMware上でGentooのインストールは試みたことがあるのですが、Kernel Panicによりぽっきり心を折られてしまい、それっきりでした。

ですが、今回は何とか成功しました。とりあえず、流れを覚えているうちに感想文として書いておこうかなと思います。

あくまで感想文、インストールの方法や問題へのうまい対処法などその手のものはありません。ご了承ください。

開戦 今回のインストール目標は以下のようにしました

Gentooを正常起動させるDE として GNOME 3 をインストールするmikutterから日本語でつぶやく
ウオオ回線がへぼい!へぼいぞ! pic.twitter.com/qqENtVFeU9
— 芝生 (@shibafu528) 2014, 5月 5
ということで #gentooinstallbattle
— 芝生 (@shibafu528) 2014, 5月 5
5/6 2:20頃セットアップ開始です。この時点では作業をUbuntu 14.04 Live DVD上で行っています。GentooのISO落とすのが面倒くさかった。

空腹コンパイル #gentooinstallbattle
— 芝生 (@shibafu528) 2014, 5月 5
3時頃、chrootを行いカーネルのビルドを開始。かなりお腹が空いていたことは覚えています。

ブート成功 #gentooinstallbattle
— 芝生 (@shibafu528) 2014, 5月 5
4:23、新しい環境での起動に成功しました。しかし、ネットに繋がらない……。
原因は、ネットワークデバイスをeth0であると勘違いして設定いたことでした。
Archと同じで、今はenp1s0とかそういう感じの名前がつくんですね……。

おはようございます
— 芝生 (@shibafu528) 2014, 5月 5
いったん寝てた。

Xいれます
— 芝生 (@shibafu528) 2014, 5月 5
8:41、X Window Systemのインストールを開始。これ以降のemerg…

第9回全国高等学校情報科学競技大会 に出ていた

出てました。
IT部門にてわが校が団体入賞、またSE部門にて後輩が優勝です。すごい。
私は入れなかった。

今回の個人戦における主な敗因は、慢心と油断でしょうかね。

前者は、計算問題をつめてこなかったことや頭を最新に保っていなかったことで、普段解いている問題と比較して癖のある出題の前に死。

後者は単にマークのミス。これによって応用問題の表計算において最低2問を確実に落としました。問題数の少なさを考えると、とても手痛い。
しかも某後輩と話をした限りでは考えは合っていたようだし痛いってもんじゃない。とても情けない。

あと、回答メモってくるの忘れて自己採点が行えないという事故もキメました。踏んだり蹴ったりか。

なんと言いますか、慢心ダメ絶対。
このままだと応用情報を落としかねないので、特に苦手な計算問題はやっていく必要がありそうです。
用語問題は、基本情報とある程度被っている所もありますし、検定過去問とかやってればできるようになると思うのですが、こればかりはちゃんと頭を働かせないと駄目ですね。
数学嫌いの踏ん張りどころですねぇ……。

[メモ]ICS未満のActionBarActivityにandroid.R.id.contentにFragmentをうまく表示できない

support-v7に含まれているActionBarActivityを使うと、Android2.3等の古いOSでもActionBarのあるActivityを使うことが出来ます。
ですが、ちょっとしたハマりどころがあったのでメモ。

とりあえず実際に中身のあるFragmentを1つ記述して、それをActionBarActivityで表示するとします。
中身をInnerFragmentとして、例えばこんな感じになるのではないでしょうか。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); InnerFragment fragment = new InnerFragment(); transaction.replace(android.R.id.content, fragment); transaction.commit(); } これでも別にクラッシュは起きませんし、ICS以降では普通に表示されます。 ですが、Android2.3等で動かすと何も表示されません。

理由については理解しきっていないためここでは省略してしまいますが、これを解決するためには自前のレイアウトを介せば何も問題ありません。
FrameLayoutだけ置いたレイアウトXMLを作成しsetContentView()でセットした後、FragmentTransactionではFrameLayoutのIDを使うようにしましょう。
詳しいことはStackOverflow読みましょう。

(XMLのID = R.layout.frame, FrameLayoutのID = R.id.frame とした例)
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.frame…

mikutterプラグインを書いていた

イメージ
最近、メインで使うOSを Windows 8.1 から Arch Linux に変えました。
割と快適で、さほどWindowsに依存していなかったんだなあと自分でも若干驚きましたね。

さて、OSが変わればTwitterクライアントも変わります。
私はmikutterを使うことにしました。これ、すっごい便利ですね。快適です。

そして、mikutterの特徴であるプラグイン。せっかくなので自分で欲しい物を2つほど作ってみました。

nicorepo プラグイン ⇛ [GitHub]
mikutter上でニコレポを閲覧するためのプラグインです。
ログインメールアドレス/PWを入力すれば使える感じにしてあります。
Tweetと同じように1タイムラインとして表示します。そこそこ調和してて良い。
ついでに、ビルトインの画像プレビューでニコニコ静画を開けるようにもします。
(サムネイル表示はsub_parts_imageプラグインによるものです。すごい便利。) 問題は、TLの扱い方が悪いのかmiracle painterとよく喧嘩して表示エラーを起こすこと……これさえ直せればなぁ。

support pixiv プラグイン ⇛ [GitHub]
ビルトインの画像プレビューで、Pixivを開けるようにするプラグインです。
やってて思ったのですが、PixivはAPIが公開されていないのでとても面倒くさいですね。
おまけに、セッションやリファラが無いとサムネイルデータが開けませんでした。めんどくせぇやつだ。
そのため、addsupportで単純にサムネイルURLを返しても403になってしまうので、内部でサーバを起動してそちらへのURLを渡し、内部サーバ側でサムネイルのダウンロードをさせるようなゴリ押しを行いました。
さほど利口なやり方でもないと思いますし、資源を正しく停止・解放できているのかが私には分からない……。
そういう面で、一応動くけど残念なプラグインです。

さいごに プラグイン楽しい!!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ ところで、mikutterでデスクトップ環境に通知を発生させる利口な方法って何かありますかね。
環境を気にせず手荒にやるとするなら、直接notify-sendコマンドを叩いてしまうくらいのつもりですが…