Dell Venue 8 Pro に Ubuntu を入れる際のメモ

  • Dell Venue 8 Pro は 32bit EFI からの起動しかサポートしていないのでインストーラーの起動には bootia32.efi が必要。
  • インストール手順とbootia32.efiの配布については↓が詳しい。

http://www.jfwhome.com/2014/03/07/perfect-ubuntu-or-other-linux-on-the-asus-transformer-book-t100/

  • 落とした bootia32.efi を USB メディアの /EFI/BOOT にコピーする。
  • ただし、bootia32.efi はUSB起動用なので本体にインストールする場合は grubの32bit版を後でMakeする必要がある。

Book☆Walker の Windows用クライアントなるものがいつのまにかあったので使ってみた。

  • ネットからページを都度取得するのではなくて、ダウンロード型。ファイル形式はEPUB3(OEBPS)でコンテンツの取得がめっちゃ速い上に画像はとても綺麗。
  • 見開きページが綺麗に隙間なく表示されていてとても好感度よし。
  • ただし、テキストのフォントがかなり汚い。これは残念。
  • ファイルの暗号化も高度になって、各ファイルが個別のsaltで暗号化されている模様。
  • ヘルプ→バージョン情報→ライセンス情報で大量に情報が表示される。
    • 表示エンジンは ACCESS PUBLUSとか Readium.js とか。
    • Bootstrap + jQuery + Chromium でウェブブラウザ内蔵方式っぽい。尚、ソースファイルは全部暗号化されている。
    • Print screen には耐性あり。Bitbltは普通にできる。
    • これだけライセンスで引用されているけどなんか多くね?
      • Almost Native Graphics Layer Engine
      • Android
      • Apple sample code
      • BSDiff
      • BarcodeLib.dll
      • Binary-, RedBlack- and AVL-Trees in Python and Cython
      • Breakpad, An open-source multi-platform crash reporting system
      • Chinese and Japanese Word List
      • Chromium embedded framework
      • Chromium
      • Cocoa extension code from Camino
      • Compact Language Detection
      • Darwin
      • David M. Gay's floating point routines
      • Expat XML Parser
      • Flot Javascript/JQuery library for creating graphs
      • GIMP Toolkit
      • Google Cache Invalidation API
      • Google code support upload script
      • IAccessible2 COM interfaces for accessibility
      • ISimpleDOM COM interfaces for accessibility
      • International Phone Number Library
      • Internationalization Library for v8
      • Ionic.Zip.dll
      • Java Native Interface from Android NDK
      • Khronos header files
      • LZMA SDK
      • LevelDB: A Fast Persistent Key-Value Store
      • MSDN sample code
      • ManagedOpenSsl.dll, libeay32.dll, ssleay32.dll
      • MathJax
      • Mongoose webserver
      • Mozc Japanese Input Method Editor
      • Mozilla Personal Security Manager
      • NSBezierPath additions from Sean Patrick O'Brien
      • NVidia Control X Extension Library
      • Native Client SDK
      • Netscape Plugin Application Programming Interface (NPAPI)
      • Netscape Portable Runtime (NSPR)
      • Network Security Services (NSS)
      • Network Security Services (NSS)
      • OTS (OpenType Sanitizer)
      • OpenGL ES 2.0 Programming Guide
      • OpenMAX DL
      • OpenMAX IL
      • PLY (Python Lex-Yacc)
      • PPAPI
      • Protocol Buffers
      • Python FTP server library
      • Quick Color Management System
      • Readium.js
      • SMHasher
      • Simplified Wrapper and Interface Generator (SWIG)
      • Snappy: A fast compressor/decompressor
      • Strongtalk
      • Sudden Motion Sensor library
      • The USB ID Repository
      • URI.js
      • V8 JavaScript Engine
      • WebKit private system interface
      • WebKit
      • WebP image encoder/decoder
      • WebRTC
      • Webdriver
      • XUL Runner SDK
      • XZ Utils
      • backbone.js
      • bootstrap.js
      • bsdiff
      • bspatch
      • bzip2
      • codesighs
      • dynamic annotations
      • eyesfree
      • ffmpeg
      • flac
      • google-glog's symbolization library
      • google-jstemplate
      • google-safe-browsing
      • google-url
      • gpsd
      • harfbuzz-ng
      • hunspell dictionaries
      • hunspell
      • hyphen
      • iccjpeg
      • icon_family
      • icu
      • jemalloc
      • jquery
      • json2.js
      • jsoncpp
      • launchpad-translations
      • libevent
      • libexif
      • libjingle
      • libjpeg-turbo
      • libjpeg
      • libpng
      • libsrtp
      • libusb
      • libva
      • libvpx
      • libxml
      • libxslt
      • libyuv
      • log4net.dll
      • mach_override
      • mesa
      • mock4js
      • mock
      • modernizr.js
      • modp base64 decoder
      • mt19937ar
      • mtpd
      • native client
      • ocmock
      • open-vcdiff
      • opus
      • re2 - an efficient, principled regular expression library
      • seccompsandbox
      • sfntly
      • simplejson
      • sizzle
      • skia
      • speex
      • sqlite
      • talloc
      • tcmalloc
      • tlslite
      • underscore
      • undoview
      • valgrind
      • wtl
      • x86inc
      • xdg-mime
      • xdg-user-dirs
      • yasm
      • zlib

タグの定義場所

タグ クラス :: メソッド
archives tagmanager_archive :: tag_archives
archive tagmanager_archive :: tag_expand
archive:is_active tagmanager_archive :: tag_is_active
archive:period tagmanager_archive :: tag_simple_value
archive:active_class tagmanager_archive :: tag_simple_value
articles tagmanager_article :: tag_articles
articles:article tagmanager_article :: tag_articles_article
article tagmanager_article :: tag_article
article:content tagmanager_article :: tag_simple_content
article:active_class tagmanager_article :: tag_simple_value
article:view tagmanager_article :: tag_simple_value
article:next tagmanager_article :: tag_next_article
article:prev tagmanager_article :: tag_prev_article
article:type tagmanager_article :: tag_simple_value
article:deny_code tagmanager_article :: tag_simple_value
article:deny tagmanager_article :: tag_article_deny
authority tagmanager_authority :: tag_authority
authority:can tagmanager_authority :: tag_authority_can
categories tagmanager_category :: tag_categories
category tagmanager_category :: tag_expand
category:is_active tagmanager_category :: tag_is_active
category:active_class tagmanager_category :: tag_simple_value
category:current tagmanager_category :: tag_category_current
element tagmanager_element :: tag_element
element:items tagmanager_element :: tag_element_items
element:items:item tagmanager_element :: tag_expand
element:description tagmanager_element :: tag_simple_value
form tagmanager_form :: tag_form
form:field tagmanager_form :: tag_expand
form:radio tagmanager_form :: tag_expand
form:checkbox tagmanager_form :: tag_expand
form:select tagmanager_form :: tag_expand
form:error tagmanager_form :: tag_expand
medias tagmanager_media :: tag_medias
media tagmanager_media :: tag_media
media:src tagmanager_media :: tag_media_src
media:thumb_folder tagmanager_media :: tag_media_thumb_folder
media:size tagmanager_media :: tag_media_size
media:alt tagmanager_media :: tag_simple_value
media:base_path tagmanager_media :: tag_simple_value
media:path tagmanager_media :: tag_simple_value
media:link tagmanager_media :: tag_simple_value
media:file_name tagmanager_media :: tag_simple_value
medias:description tagmanager_media :: tag_simple_value
medias:copyright tagmanager_media :: tag_simple_value
medias:extension tagmanager_media :: tag_simple_value
medias:provider tagmanager_media :: tag_simple_value
medias:mime tagmanager_media :: tag_simple_value
navigation tagmanager_navigation :: tag_navigation
navigation:url tagmanager_navigation :: tag_navigation_url
navigation:href tagmanager_navigation :: tag_navigation_href
navigation:nav_title tagmanager_navigation :: tag_navigation_nav_title
navigation:active_class tagmanager_navigation :: tag_simple_value
navigation:is_active tagmanager_navigation :: tag_is_active
tree_navigation tagmanager_navigation :: tag_tree_navigation
tree_navigation:active_class tagmanager_navigation :: tag_simple_value
tree_navigation:is_active tagmanager_navigation :: tag_is_active
sub_navigation tagmanager_navigation :: tag_sub_navigation
sub_navigation_title tagmanager_navigation :: tag_sub_navigation_title
languages tagmanager_navigation :: tag_languages
languages:language tagmanager_navigation :: tag_languages_language
language tagmanager_navigation :: tag_language
language:code tagmanager_navigation :: tag_language_code
language:active_class tagmanager_navigation :: tag_simple_value
language:default tagmanager_navigation :: tag_language_default
language:online tagmanager_navigation :: tag_simple_value
language:dir tagmanager_navigation :: tag_language_dir
language:is_active tagmanager_navigation :: tag_is_active
pages tagmanager_page :: tag_pages
page tagmanager_page :: tag_page
page:view tagmanager_page :: tag_page_view
page:next tagmanager_page :: tag_next_page
page:prev tagmanager_page :: tag_prev_page
breadcrumb tagmanager_page :: tag_breadcrumb
pagination tagmanager_pagination :: tag_pagination
tags tagmanager_tag :: tag_tags
tag tagmanager_tag :: tag_expand
tag:nb tagmanager_tag :: tag_simple_value
tag:is_active tagmanager_tag :: tag_is_active
tag:active_class tagmanager_tag :: tag_simple_value
tag:current tagmanager_tag :: tag_tag_current
user tagmanager_user :: tag_user
user:name tagmanager_user :: tag_user_name
user:activation_key tagmanager_user :: tag_simple_value
user:group tagmanager_user :: tag_user_group
user:group:name tagmanager_user :: tag_user_group_name
user:group:title tagmanager_user :: tag_user_group_title
user:logged tagmanager_user :: tag_user_logged
writer tagmanager_writer :: tag_writer
writer:name tagmanager_writer :: tag_writer_name
writer:join_date tagmanager_writer :: tag_simple_date
writer:last_visit tagmanager_writer :: tag_simple_date
writer:email tagmanager_writer :: tag_simple_value
writer:firstname tagmanager_writer :: tag_simple_value
writer:lastname tagmanager_writer :: tag_simple_value
writer:gender tagmanager_writer :: tag_simple_value
writer:birth_date tagmanager_writer :: tag_simple_value
id tagmanager_contact :: tag_id
url tagmanager_contact :: tag_url
get tagmanager_contact :: tag_get
index tagmanager_contact :: tag_simple_value
count tagmanager_contact :: tag_count
name tagmanager_contact :: tag_simple_value
title tagmanager_contact :: tag_simple_value
subtitle tagmanager_contact :: tag_simple_value
description tagmanager_contact :: tag_simple_value
date tagmanager_contact :: tag_simple_date
created tagmanager_contact :: tag_simple_date
updated tagmanager_contact :: tag_simple_date
extend tagmanager_contact :: tag_extend
list tagmanager_contact :: tag_list
config tagmanager_contact :: tag_config
base_url tagmanager_contact :: tag_base_url
home_url tagmanager_contact :: tag_home_url
lang_url tagmanager_contact :: tag_lang_url
uri tagmanager_contact :: tag_uri
uri:entity tagmanager_contact :: tag_simple_value
partial tagmanager_contact :: tag_partial
widget tagmanager_contact :: tag_widget
translation tagmanager_contact :: tag_lang
lang tagmanager_contact :: tag_lang
site_title tagmanager_contact :: tag_site_title
meta_title tagmanager_contact :: tag_meta_title
meta_keywords tagmanager_contact :: tag_meta_keywords
meta_description tagmanager_contact :: tag_meta_description
google_analytics tagmanager_contact :: tag_google_analytics
setting tagmanager_contact :: tag_setting
uniq tagmanager_contact :: tag_uniq
if tagmanager_contact :: tag_if
else tagmanager_contact :: tag_else
set tagmanager_contact :: tag_set
jslang tagmanager_contact :: tag_jslang
browser tagmanager_contact :: tag_browser
session tagmanager_contact :: tag_session
session:set tagmanager_contact :: tag_session_set
session:get tagmanager_contact :: tag_session_get
request tagmanager_contact :: tag_request
request:post tagmanager_contact :: tag_request_post
request:getpost tagmanager_contact :: tag_request_getpost
request:get tagmanager_contact :: tag_request_get
attr tagmanager_contact :: tag_attr
partial:attr tagmanager_contact :: tag_partial_attr
trace tagmanager_contact :: tag_trace
nesting tagmanager_contact :: tag_nesting

師走

最近は Ionize CMSなるものを弄っている。多言語対応のCMSで複数言語を横に並べて編集できるので便利。
ただし、まだバージョン 1.0.5 なので作りこみが甘くて不便。

オペレータが皆 HTMLを手打ちできるなら最高なんだけどタグ構成を壊す人がいるのでシステム的に同一レイアウトを強制するために採用。

CodeIgnitierベースだが、独自実装のTagManagerなるテンプレートエンジンが痒すぎて手が届かない上に手自体が痒い。

かゆ、うま。

Book☆Walker PC Viewerの分析

自宅の蔵書管理システムにBook☆Walkerと連携する機能を組み込みたいので分析してみることにする。
Book☆Walkerからは600冊以上購入しているし、Amazonと違って表紙の裏等もデジタイズされていて丁重だから
自炊の代用としては良い線を行っていそうだ。

  • ローカルに保存される購入書籍情報はここ(sqlite形式・ログオン情報等は含まれない)。

%USERPROFILE%\AppData\Roaming\jp.bookwalker.PCViewer\Local Store\database\index.db

  • 画像のローカルキャッシュはここ。

%USERPROFILE%\AppData\Roaming\jp.bookwalker.PCViewer\Local Store\thumbnail

  • Book☆Walker の書籍情報は以下からアクセスできる(UUIDは適宜置換のこと)。

http://bwcommercial-external-texts.s3.amazonaws.com/438f32dd-2e5e-4291-9840-065865f0437c.txt
形式はUTF-8JSON。構造はこんな感じ。

{ "data" : { 
      "authorList" : [ { "authorId" : 110,
            "authorName" : "河野裕",
            "authorNameKana" : "コウノユタカ",
            "authorTypeName" : "",
            "displaySeqNo" : 1
          } ],
      "categoryId" : 3,
      "categoryName" : "ライトノベル",
      "companyName" : "KADOKAWA / 角川書店",
      "copyrightString" : "(C) Yutaka KONO 2010 ",
      "coverFileName" : "coverImage_863.jpg",
      "drmTimeLimit" : null,
      "finishFlag" : false,
      "labelId" : 5,
      "labelName" : "角川スニーカー文庫",
      "labelType" : "01",
      "moralTypeCode" : "01",
      "moralTypeName" : "Free",
      "openFlag" : true,
      "productExplanationDetails" : "「リセット」たった一言。それだけで、世界は、三日分死ぬ──。能力者が集う街、咲良田。浅井ケイは、記憶の保持する能力をもった高校一年生。春埼美空は、「リセット」──世界を三日分巻き戻す能力をもっており、ケイの指示で発動する。高校の「奉仕クラブ」に所属する彼らは、ある日「死んだ猫を生き返らせてほしい」という依頼を受けるのだが……。リセット後の世界で「現実(いま)」に立ち向かう、少年と少女の物語。大ヒットシリーズ、第1弾! ",
      "productExplanationShort" : "「リセット」たった一言。それだけで、世界は、三日分死ぬ。大ヒットシリーズ第1弾! ",
      "productId" : 10123,
      "productName" : "サクラダリセット CAT,GHOST and REVOLUTION SUNDAY",
      "productNameEnglish" : null,
      "productNameKana" : "サクラダリセット01キャットゴーストアンドレボリューションサンデイ",
      "publisherAcCode" : "kgx00548",
      "publisherMnType" : "U00N5X",
      "saleCompanyId" : 1,
      "saleEndTime" : "9999-12-31T23:59:59",
      "saleStartTime" : "2010-12-01T12:00:00",
      "seriesId" : 55,
      "seriesName" : "サクラダリセット",
      "seriesNameKana" : "サクラダリセット",
      "thumbnailFileName" : "thumbnailImage_864.jpg",
      "uuid" : "438f32dd-2e5e-4291-9840-065865f0437c"
    } 
}
  • 表紙の画像は以下から。

http://bwcommercial-external-images.s3.amazonaws.com/438f32dd-2e5e-4291-9840-065865f0437c.jpg

  • thumbnailImageやcoverImageは以下から

http://cc.bookwalker.jp/thumbnailImage_864.jpg
http://cc.bookwalker.jp/coverImage_863.jpg

ISBNは www.bookwalker.com から拾ってくるしか無いのかな。

  • 尚、bookwalker.jp の商品ページのURLにはUUIDの前に「Digital Edition」の略で「de」の接頭字がつく。

http://bookwalker.jp/de438f32dd-2e5e-4291-9840-065865f0437c/