WHITELEAF:Kindle応援サイト

KindleでWEB小説を読もう! Narou.rb 公開中

Narou.rbの縦書化でやっていること

すこしまとめる機会があったので記しておきます。 Narou.rbでは縦書で読みやすくするために以下のようなことをやっています。 小数点変換 漢数字変換 漢数字単位化 分数変換 感嘆符直後の全角アキ挿入 擬似ローマ数字をローマ数字変換 特殊記号全角化 対の引…

「小説家になろうダウンローダ&変換アプリ」Narou.rbをリリースしました

http://whiteleaf.hatenablog.com/entries/2013/03/07 こっちで公開しました。

「小説家になろうダウンローダ&変換アプリ」Narou.rbをリリースしました

Narou.rb 概要 - Summary このアプリは小説家になろうで公開されている小説の管理、及び電子書籍データへの 変換を支援します。縦書用に特化されており、横書き用に特化されたWEB小説を違和感なく縦書で読むことが出来るようになります。 全てコンソールで操…

Kindleラノベ新刊情報

2013年2月24日現在、Kindleストアにて販売されているラノベは 3,133件 です。 2月18日では 3,108件 だったため、約一週間で25冊増えた計算です。 新着からピックアップして紹介していきます。 人気順現在3位、250円という低価格で販売中です。 聖剣使いの禁…

半移転しました

http://whiteleaf.hatenablog.com/ Kindle関連のことは今後上記のサイトで書いて行きたいと思います。技術的なメモは相変わらずこちらに投下していきます。

移転しました

同名のサイト(http://d.hatena.ne.jp/whiteleaf/)からこちらのはてなブログに移転しました。Kindle関連、WEB小説関連(小説家になろう)はこちらブログで更新していきたいと思います。関連ツールの公開もこちらで行なっていく予定です。これだけではアレな…

フォント埋め込み時のバグっぽい挙動の調査メモ

■ゴシック指定が明朝になってる→仕様(kindle pwのバグ?) バグ詳細:pw本体のフォントを入れ替えている場合で、かつepubにフォントを埋め込んでいる場合、 デフォの明朝及び自分でpwにいれたフォントを選択している場合に sans serif 指定が無視される。 …

kindlestrip.rb

必要に迫られて kindlestrip.py を ruby で書きなおしたので置いておきます。もしかしたら必要な人がいるかもしれない。https://github.com/whiteleaf7/narou/blob/master/lib/kindlestrip.rb

小説家になろうを読みやすくしよう

現在小説家になろうのダウンローダとして 小説家になろう一括ダウンローダ(NovelDL) というものがあるが、これはShiftJIS固定、改稿未対応、章立て認識不能という大きな弱点があるので、結局は自分でプログラムを作ることに。というわけで Narou.rb という…

Kindle Paperwhite の行頭カギ括弧のうざいインデントをどうにかする

Kindle Paperwhite ではカギ括弧(や普通の格好等も)が行頭でなぜか半分詰めて表示される。以下の画像のように と、隣あっている行頭字下げされている文章よりも上に出っ張ってしまい、若干見苦しい。 通常の小説をみてみると、だいたいは他の行と文字が同…

node.js 学習メモ

0. node.js(nvmやら)、npm いれとく1. socket.io 入れる npm install -g socket.io2. express 入れる npm install -g express 参考 http://gihyo.jp/dev/serial/01/nodejs/0003

オーバーロードWEB版のルビを青空文庫形式に

オーバーロードWEB版のテキスト中のルビを、青空文庫形式の《》に変換します。魔法名は区切りが分かりやすいのですが、他の固有名詞は区切りが明確ではないため、MeCabによる形態素解析を用いてある程度単語の区切りを推測し、最終的に人間が区切りを判断す…

P2P地震情報とLimechatの連携

去年の震災直後(3/20頃)、P2P地震情報から流れてくる震度情報、緊急地震速報をLimechatに流しこむ javascript コードを書いてました。Limechat用アプリだというのに OSWinsock.dll やら Orthoclase が必要という単独で動かない状態だったのでお蔵入り状態…

javascript で tap

Array.prototype.tap = function(block) { block(this); return this; }; var array = [].tap(function(a) { a[0] = 100; });

LimeChat で ini ファイルを読もう

prototype.js で書いてます。LimeChat で prototype.js を使うには id:whiteleaf:20110326 あたりを参照。 // // Simple Ini file controller // // [ ] で囲まれたものはセクションとして扱われ、それ以降のデータはセクションに所属する // セクションが登…

DXRuby::Shader 使うときに HLSL から変数名を取得してみる

DXRuby で Shader::Core オブジェクトを生成するとき、 core = Shader::Core.new(hlsl,{:g_size => :float}) のようにHLSL内のグローバル変数名をわざわざ教えてやらないでも、HLSLのソースコードを見ればいいんじゃないかな〜と前から思ってたので書いてみ…

リソースの自動ロード

DXRuby(や何か)でゲームを作っていた場合を想定して、何かのリソースを変更するたびに実行し直すのは面倒臭いので、リソースの更新を検知して自動で再ロードをしたい。(画像データやマップデータ、モデルデータetc.) モジュール化とか何も考えずに書いて…

Googleリーダーのデザインの調整

Googleリーダーのデザインが新しくなりました。 新しいGoogleのデザイン統一の一環ですが、やっぱりリーダーでもその特徴の、余白が多い、という点があります。 あまりにも無駄に余白があるので、全体的に詰めたCSSを作りました。Stylish等を使って適用して…

rosv を公開しました

RO Server Checker for Limechat を github にて公開しました。 https://github.com/whiteleaf7/rosv 詳しい使い方はリンク先の README を参照のこと。

東京電力電力供給状況APIを使ってLimeChat2に表示する Tepco.js

LimeChat2.25以上専用。 東京電力電力供給状況API を使って現在の電力量を表示します。 「停電」か「tepco」と発言すると実行出来ます。ZIPでダウンロード (下のソースコードと同じ内容です)使い方: 設定→スクリプトの設定→スクリプトフォルダを開く でス…

Flash をクリックしたときに出る点線の枠を消す

Stylish を使うか userContent.css を使って、 @namespace html url(http://www.w3.org/1999/xhtml); @-moz-document url-prefix("http") { object, embed { outline: none !important; } } を設定。

FireGestures

[ハイブリッド] タブのピン留め/ピン外し+[TMP]タブの保護/解除 var tab = gBrowser.mCurrentTab; tab.pinned ? gBrowser.unpinTab(tab) : gBrowser.pinTab(tab); gBrowser.protectTab(tab);

ruby-aaws 0.8.1 で invalid byte sequence in utf-8 が出た場合

Ruby で Amazon Web Service(AWS) を使用するためのライブラリに、ruby-aaws というものがあります。 このライブラリを Ruby1.9 で使用した場合、cache がある場合に invalid byte sequence in utf-8 とエラーを吐いて止まります。これの対処方法を書いてお…

Ruby で構造体もどき その3

その1 | その2前回までと違って unpack フォーマットを直接書くのではなく型を定義して BinData のような形式にしてみました。unpack のフォーマット文字列を生成して一回の unpack 実行で済ませる方針は変わっていないので、配列の添字にシンボルは使えま…

Ruby で構造体もどき 続き

前回の続きBinData と比較するためにコードを作成。約1Mのモデルデータを読み込むコードです。BinData を使ったほうは2.5秒かかりました。自前の unpack ラッパーは約0.07秒。(PCスペックに左右されるので参考程度)BinData は柔軟な記述ができる代わりに、…

Ruby で構造体もどき

Ruby から離れていたのでリハビリがてらにちょろっとコードを書いてみた。 バイナリデータを扱う場合に unpack は使いづらい、だがしかし Gem の BinData とかを使うほど大げさでもない場合用。構造体もどきを定義して名前でアクセスできる、が、やっぱり使…

niconail.info 終了のお知らせ

告知が遅くなってしまいましたが、 niconail.info のサービスは終了いたしました。 3年間という長い間ご利用ありがとうございました。もともと、すべてのブログサービスにニコニコ動画のサムネイルをはることができるということが唯一にして最大の目標でした…

push or <<

Array に要素を挿入するメソッドは push ですが、 require "benchmark" Benchmark.bm { |bm| bm.report("push") { a = [] 5000000.times { |i| a.push(i) } } bm.report(" << ") { a = [] 5000000.times { |i| a << i } } } ruby 1.9.2dev (2010-04-27 trunk…

:"symbol"

気になったので他のパターンも。JRuby のための計測です。 require "benchmark" def test_symbol(sym) a = sym end Benchmark.bm { |bm| bm.report("(1)") { 10000000.times { test_symbol(:abc) } } bm.report("(2)") { 10000000.times { test_symbol(:"abc…

access hash

Hash をアクセスする際に Fixnum, Symbol, String を使う場合の比較です。Hash ではなく Array を使った結果もつけておきます。 require "benchmark" class Test def initialize @num_table = {} @sym_table = {} @str_table = {} @array = [] 100.times { |…