ニュース読み上げクライアントを考える。

まぁ、この手のクライアントはたくさんあるんだけど。
個人的に欲しい機能を考えてみる。

1.新着がきたら勝手にしゃべる(音声オフにもできる)
2.おはようモード(前回起動からの差分を全部読み上げる)

とりあえずこの二点ですかねえ。


ちなみに「2」は現在、Webでやってる。だらだらニュース見ている時間がもったいないので、NHKニュースヘッドラインを自宅のサーバにDBで蓄積させて、それをCGI経由でスマホのブラウザで読み上げているんだよね。

でもこれ、プッシュじゃないから出勤とかの時にまとめて読むしかない。
まぁそれでも実用には耐えるけど、なんていうか、オンデマンドは漢のロマンっていうか、ねえ? XD

あとは、どういうターゲットで書くか?
だいたい、いつもニュースが聞きたいなんてのは、どこかに腰を据えている時なわけで。すると以下のどちらかかな?

A)Androidスマホ
B)Windows機(ノートかタブレット)

Androidで書けば無敵だろうけど……うーん。

今風の更新チェッカーの話

大昔にwgetを利用したWeb更新チェッカー作ってたんだけど、同じ事を今やろうとしたら大変なのを最近知った。

主に以下の理由なんだよね。

・Ajax使ってるところは素直にとれない。

小説家になろうサイトみたいに素直な構造ならいいけど、世の中そう単純ではないらしい。
これ対策として、以下を実際に試作してみた事がある。

★Windows上でミニマムなダウンローダを作り動作させる。

異種OSで再現に四苦八苦するより、こっちが楽で確実ですわな。
ただし全部Windowsで書くのも面倒なんで、大部分はUNIX likeですませましたんで、
Windowsなのにcygwin+Apacheがいるという妙にクリティカルなシロモノになりましたが ^^;;

1.概要

チェッカーのアクセス部にwebBrowserコンポーネントを使う。
これはIEの部品そのものなんで、あとはレジストリで「うちはIE10ナリ」と言い放ちながらアクセスさせたんですね。

それから、Ajaxなどの対策に、単にロード完了を待つだけでなく、しばらく待機して処理完了を待つ。
(ロード完了は単にダウンロード完了なので、各種プログラムの動作完了にはもう少しかかる。テキストの変更待ちをすればいいみたい)
このあたりは泥臭い処理になるけど、まぁブラウザ対応なんて昔から泥臭いもんですし。
で、あとはそのゲットしたものをあれこれ比較して履歴をとり、更新チェッカーに用いるわけですな。

全体の実装方法は色々あるんですが、制御はRubyでやりました。
これはRubyのユーザスレッドを使いたかったからですね。
Rubyも最近はネイティブスレッドがあるけど、環境問わず類似の結果が得られるユーザスレッドが僕は好きです。

んー、まじめにゼロから作り直そうかな。
でも需要ないよなぁ……。

WPFでwebBrowserを使い、さらにスクレイピングしてみる。

お恥ずかしい事だけど、Windowsはあまり得意ではない。
だから、.NET+WPFな環境で、webBrowserコンポーネントが使えるなんて知らなかった。昨日まで。

ちょうど最近よく.NETで遊んでいたもので、さっそくやってみた。

スクリーンショット 2016-02-11 12.20.45

おーすげえ、動く動く XD

詳しくはこっちで → WPFでスクレイピングを

Skyrim MODの日本語化モジュールを書いてみた。(for SWT 1.2)

Skyrim MODの日本語化モジュールを書いてみた。
といっても凄いものではない。

SexLab Sex with Thieves ってのがある。名前の通り一種のエロMODだ。
これは、Skyrimで盗賊に襲われた時「さぁ、金目のものを出しな……」という例のセリフへの返答に、金を差し出すから命だけはお助けをと言うか、何も持ってない(だからあっちいって)と返すかの二択を追加する。もちろん後者だとお金の代わりに犯される。ある意味明快なものである。

こんなものだから、日本語化といっても触れるところは少しだけ。
以下のように、たったこれだけである。
TesVTranslator を使うが、別に中を読んでそのとおりに書き換えれば他のものでも当然イケる。

ダウンロードは以下。
もちろん利用にはオリジナルの SexLab Sex with Thieves が必要で、ひいては Sexlab Framework 配下でなくてはならないって事になる。
SWT1.2_english_japanese.xml

たったこれだけで対応できるのだから、面白いね。

以下は参考リンク。

LoversLove mod 簡易リスト
http://seesaawiki.jp/teslab/d/LoversLab%20Mod%20%b4%ca%b0%d7%a5%ea%a5%b9%a5%c8

ASUS Vivo PCに注目してます。

まぁ、着眼点は「小さいけど3.5インチHDD」ってとこなんですけどね。

うちのメインサーバは古いDellのPCなんだけど、クライアントにデスクトップが存在しなくなっちゃったもんで、新HDDでシステムをゆっくり構築→ぽんと差し替えっていうのがやりにくくなってるんです。openvzやlxcの問題をどうするかっていうのがうちでは小さくないもので。作業用として注目中です。

まぁ、秋葉原で適当なPC買ってきて使うって選択肢も当然ありなんだけど、大きいからなぁ。

VivoPC(Google検索)

なぞのコード

* /etc/udev/rules.d/51-android.rules *

SUBSYSTEM==”usb”,ATTR{idVendor}==”18d1″,MODE=”0666″,GROUP=”plugdev”

設定し終わったら、

# /etc/init.d/udev restart

んで、きみのNexus7をUSB2.0で差し込む。

$ dmesg|中略
[31580.252143] usb 2-1.1: new high-speed USB device number 5 using ehci_hcd
[31580.357095] usb 2-1.1: New USB device found, idVendor=18d1, idProduct=4e42
[31580.357105] usb 2-1.1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[31580.357112] usb 2-1.1: Product: Nexus 7
[31580.357117] usb 2-1.1: Manufacturer: asus
[31580.357121] usb 2-1.1: SerialNumber: 015d26152518020b

いじょ XD

MovieClipを透過させてみる。

ちょっとワケあって、久しぶりにAdobe Flashシリーズなんぞ触るハメになった。生SDKで遊んでいたのを思い出しつつ「こんなのFlexでやれよ!」なんて言いながら触っていたのであったが。

とはいえ、知らなかった小技がひとつ出てきたので早速メモ。MovieClipの透過だ。
続きを読む MovieClipを透過させてみる。

カラオケ評価の変換

2010年の6月からカラオケボックスにほとんど毎週通っている。そこで何をしているかというと、課題曲を決めて延々と歌い、それをICレコーダで録音しておいて帰宅後に評価、というのを延々と繰り返しているのだ。

続きを読む カラオケ評価の変換

マイブームったらこんなもので。

http://www.geocities.jp/humanrace96/NetBeans1.html

厳密にはNetBeansで遊んでいるという方が正しい。なんで今どきいきなりJava?と言われそうだが、いじってみると「結構悪くないんじゃね?」と思ったので、いじって遊んでいる。うちのテキストページ構築にpure Javaな小さなプログラム使っているというのもあるが。

大抵のIDEはめんどい。今までGUIはあまりやってこなかったし、やっても身につかなかった。さて今回はどうかな。

SunからOpenJDK、そしてIcedtea……。(直訳っぽい文)

数年前から何度かOpenJDKの利用を試みた。だけど当初はどうしてもいくつかのアプリが動かず、結局Sun Javaを入れる事になった。

現在、うちのPCはごく一部の例外(OpenJDKが入手しづらい、あるいはJava自体が不要)を除いてほぼ全てでOpenJDKが動いている。

しかしSunがOracleに買われてしまった。OpenJDKといえども古いSunのコードが残っているのは事実で、Oracleは過去の所業から想像するに、これをたてにJavaを潰すかそのコントロール権を握りたいと考えるだろう。

よってIcedTeaには期待している。これは完全にオープンなJDKだそうで、さらに幸せになれるだろう。