2019年01月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
クリエイティブ・コモンズ:表示・非営利・継承
著作権について
Powered by ...
MT icon
Movable Type 3.33-ja

Apache icon
Apache Web Server

著作者への連絡方法

2019年01月14日

大阪城梅林、天満宮

わりと暖かな日となった今日、大阪城公園の梅林を観に行ってきた

大阪城梅林

20190114-yaeyabai.jpg
八重野梅と天守閣

公衆トイレ側に数輪が咲いていました

20190114-kankou.jpg
寒紅

梅林中央の広場に面した1本、数輪咲いていました

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2019年01月10日

野田恵美須神社 十日戎

通勤途中に立ち寄った野田恵美須神社の十日戎

スマートフォンで撮影。

20190110-nodaebisu-enniti.jpg
参詣道

地下鉄 玉川駅から神社までの200mに、屋台が並んで近所の子供や家族連れでごった返している。

20190110-nodaebisu-torii.jpg
鳥居前

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2019年01月03日

住吉大社に初詣

住吉大社に初詣に出かけた。

地下鉄の玉出駅から、粉浜商店街を通り徒歩で神社まで、およそ1.5kmの道のり。

20190103-kohamasyoutengai.jpg
正月でシャッター通りと化した粉浜商店街

南海本線の粉浜駅付近から住吉大社駅まで、およそ450mにアーケードが掛けられている。

20190103-sumyosikouenstation.jpg
阪堺電軌 旧住吉公園駅

南海本線の住吉大社駅の横には、2年前に廃止された阪堺電軌の住吉公園駅がある。駅舎は取り壊されずに、住吉大社駅への屋根付き通路兼売店の建物として残っている。

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2019年01月01日

初日の出に染まる景色、玉川周辺の神社仏閣周遊

元旦の朝は、晴れ。昨日までの冬型のぐずつき気味の天気とは大違いだ。

日の出

日の出時刻は7時05分。残念ながら、自宅からは日の出の太陽は見えない。その太陽に染まる街並みを見て初日の出を拝んだことにする。

20190101-sunrise01.jpg
日の出に染まる梅田のビル群

グランフロント梅田のビルに太陽光が反射して光り輝いている。

20190101-sunrise02.jpg
初日の出に染まる六甲山の主稜線

六甲山カンツリークラブの建物だろうか、日の出時に太陽光を反射する建物がある。

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年12月24日

真冬でも暖かい咲くやこの花館の植物温室

鶴見緑地公園にある植物温室「咲くやこの花館」を観に行ってきた。真冬でも、しっかりと暖房の効いた温室内は快適… (湿度は高いけれど)

20181224-sakuyakonohana.jpg

入場料は500円。 年末は卓上カレンダーがもらえる。

20181224-concert.jpg
四條畷高校吹奏楽部のコンサート

植物温室の中央の吹き抜け フラワーホールで、コンサートのリハーサル中だった。

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年12月22日

Nexus 7 (2012)をAOSP 7.1.2にアップグレード

2年前にPure Nexus 6.0.1にアップグレードしていたNexus 7 (2012)が、やはり異常にレスポンスが悪く使い物にならないので、解決方法を探していた。

5ちゃんねる掲示板で、Android 7 にアップグレードすれば「驚くほど軽くなる」との書き込みが多数あり、アップグレードしてみることとする。

Google公式のAndroid 5.1.1にダウングレードする

純正のAndroidシステムに戻してから作業するため、現在配布されている最新版のAndroid 5.1.1に戻す。

Factory Images for Nexus and Pixel Devices より、『"nakasi" for Nexus 7 (Wi-Fi)』 の最新版 5.1.1 (LMY47V) をダウンロードする。

ダウンロードしたzipファイルをLinuxマシンの作業ディレクトリにコピーし、展開

$ unzip nakasi-lmy47v-factory-5a0bb059.zip

展開したディレクトリにある、ファームウエア書き込み用スクリプトを編集し、ブートローダーの書き戻しを無効化する。

flash-all.sh
# fastboot oem unlock       ← すでにブートローダのunlockはされているので、再度アンロックの必要は無い
fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system
fastboot erase userdata
# fastboot flash bootloader bootloader-grouper-4.23.img       ← ブートローダーは書き戻さない (現状のTWRPを使い続ける)
fastboot reboot-bootloader
sleep 10
fastboot -w update image-nakasi-lmy47v.zip

Android 5.1.1への書き戻し作業は、次のように行う

$ adb reboot bootloader
 ← 再起動が行われて、ブートメニューが画面表示されるまで待つ
$ fastboot devices
015d490699512345	fastboot       ← 認識されない場合は、udevルールを読み書き可能に書き換えること
$ ./flash-all.sh
erasing 'boot'...
OKAY [  0.035s]
finished. total time: 0.035s
******** Did you mean to fastboot format this ext4 partition?
erasing 'cache'...
OKAY [  0.152s]
finished. total time: 0.152s
erasing 'recovery'...
OKAY [  0.036s]
finished. total time: 0.036s
******** Did you mean to fastboot format this ext4 partition?
erasing 'system'...
OKAY [  0.366s]
finished. total time: 0.366s
******** Did you mean to fastboot format this ext4 partition?
erasing 'userdata'...
OKAY [ 10.546s]
finished. total time: 10.546s
rebooting into bootloader...
OKAY [  0.023s]
finished. total time: 0.124s
target didn't report max-download-size
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
archive does not contain 'vendor.img'
wiping userdata...
Creating filesystem with parameters:
    Size: 30080499712
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8160
    Inode size: 256
    Journal blocks: 32768
    Label: 
    Blocks: 7343872
    Block groups: 225
    Reserved block group size: 1024
Created filesystem with 11/1836000 inodes and 159268/7343872 blocks
wiping cache...
Creating filesystem with parameters:
    Size: 464519168
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7088
    Inode size: 256
    Journal blocks: 1772
    Label: 
    Blocks: 113408
    Block groups: 4
    Reserved block group size: 31
Created filesystem with 11/28352 inodes and 3654/113408 blocks
--------------------------------------------
Bootloader Version...: 4.23
Baseband Version.....: N/A
Serial Number........: 015d490699512345
--------------------------------------------
checking product...
OKAY [  0.040s]
checking version-bootloader...
OKAY [  0.027s]
sending 'boot' (5184 KB)...
OKAY [  0.706s]
writing 'boot'...
OKAY [  0.264s]
sending 'recovery' (5738 KB)...
OKAY [  0.768s]
writing 'recovery'...
OKAY [  0.234s]
erasing 'system'...
OKAY [  0.117s]
sending 'system' (649455 KB)...
OKAY [ 84.326s]
writing 'system'...
OKAY [ 36.453s]
erasing 'userdata'...
OKAY [  4.919s]
sending 'userdata' (139157 KB)...
OKAY [ 18.091s]
writing 'userdata'...
OKAY [ 12.620s]
erasing 'cache'...
OKAY [  0.088s]
sending 'cache' (9052 KB)...
OKAY [  1.206s]
writing 'cache'...
OKAY [  0.570s]
rebooting...
 
finished. total time: 160.716s
 
$ fastboot reboot

再起動され、OSが立ち上がるまで5分ほど掛かる

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年12月18日

(Python) 気象庁のアメダスデータをBeautifulSoupでスクレイピング

気象庁Webのアメダス(表形式)をBeautifulSoupを使いスクレイピングし、ダンプ出力するサンプルプログラム

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
# 気象庁Webのアメダス(表形式)をBeautifulSoupを使いスクレイピングし、ダンプ出力する
#
# HTMLのスクレイピングにPython BeautifulSoupライブラリを利用
# https://www.crummy.com/software/BeautifulSoup/bs3/documentation.html
 
import os
import sys
import urllib2
from BeautifulSoup import BeautifulSoup
import re
import chardet
 
# さくらインターネット共用サーバでの ssl エラー対応
#   urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)>
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
 
def main():
 
    print '気象庁Webのアメダス(表形式)をBeautifulSoupを使いスクレイピングし、ダンプ出力する'
 
    # 観測所番号(初期値 東京)
    # https://www.jma.go.jp/jma/kishou/know/amedas/ame_master.pdf
    place_code = 44132
 
    if len( sys.argv ) == 2:
        place_code = sys.argv[1]
    else:
        print 'python ' + os.path.basename( sys.argv[0] ) + u' 観測所番号'
        return
 
    # 観測所番号のチェック
    place_code = int( place_code )
    if place_code < 11000 or 94999 < place_code :
        print '観測所番号が間違っている'
        return
 
    # 気象庁のWebからアメダス(表形式)ページをダウンロードする
    url = 'https://www.jma.go.jp/jp/amedas_h/today-' + str( place_code ) + '.html'
    print 'url = ' + url
    try:
        html = urllib2.urlopen( url ).read()
    except :
        print 'HTTP 404 error'
        return
    print( chardet.detect( html ) )
 
    # 読み込んだHTMLをBeautifulSoupで解析する
    soup = BeautifulSoup( html )
    # 表を解析し地名を出力する
    for item in soup.findAll( 'td', { 'class' : 'td_title height2' } ):
        print item.text
        break
    # 表を解析しアメダス観測データをダンプ出力する
    table_data_tree = soup.find( 'table', { 'id' : 'tbl_list' } )
    for tr in table_data_tree.findAll( 'tr' ):
        tds = tr.findAll( 'td' )
        for item in tds:
            # 空白(&nbsp;)と空白文字を削除してから画面出力
            print( re.sub( '&nbsp;| ', '', item.text ) + ',' ),
        print( '' )  # 改行
 
if __name__ == '__main__':
    main()

さくらインターネット 共用サーバにpipでBeautifulSoupパッケージをインストールする

さくらインターネットの共用サーバに、新たにpip(Pythonパッケージのインストールを行うユーティリティ)を導入し、HTMLスクレイピングを行うBeautifulSoupパッケージをインストールした時のメモ

OpenSSLとpython 2.7をユーザディレクトリにインストール

共用サーバに標準でインストールされているOpenSSLが古く、(piphttpsサイトにアクセスするときにエラー発生の原因となるため、新しいOpenSSLとそれに対応したPython 2.7系をローカルにインストールする。

参考記事として、『 さくらのレンタルサーバでHTTPS (TLS) 対応のPython 2.7をビルドした記録 』をそのまま適用可能だった。

まず、現在のOpenSSLのバージョン、Pythonのバージョンを調べる

$ python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 0.9.8zf 19 Mar 2015
 
$ python --version
Python 2.7.6

ローカルのインストールディレクトリを確認し、存在しない場合は作成する

$ mkdir -p ~/.local/lib/python2.7/site-packages

OpenSSLのビルドとインストール

$ wget https://www.openssl.org/source/openssl-1.0.2q.tar.gz
$ tar xvfz openssl-1.0.2q.tar.gz
$ cd openssl-1.0.2q
$ ./config --prefix=${HOME}/.local -fPIC
$ gmake
$ gmake test
$ gmake install

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年12月10日

Amazon Fire HD 8 (2018 第8世代) 購入

Amazonでサイバーマンデー特価が行われ、Fire HD 8が4,980円に値下げされていたため購入した。

20181210-firehd8-pack.jpg

商品パッケージは、Fire HD 10と同じく簡素なもの。

2ヶ月前の2018年10月に Fire HD 10 を11,780円で購入しているが、今回のサイバーマンデーでは、この Fire HD 10がさらに値下げされて9,980円で投げ売り状態だった。

20181210-firehd-10-8.jpg
Fire HD 10(第7世代)とHD 8(第8世代)

Fire HD 8(第8世代)のシステムは

・ Fire OS 6.3.0.1 (ビルド日時 2018/11/10 19:29)

Linuxカーネルのバージョンは

karnak:/ $ uname -a
Linux localhost 3.18.19-ge92c52874ad #1 SMP PREEMPT Sat Nov 10 10:35:21 UTC 2018 armv8l

関連記事

Amazon Fire HD 10 (2017 第7世代) 購入
Amazon Fire HD 10のroot権限無しでシステムアプリを無効化

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年12月08日

アイリスオーヤマ 加熱式加湿器 SHM-120D 購入

アイリスオーヤマ製の加熱式加湿器 SHM-120D を購入した。価格はAmazonで2,022円。

20181208-shm-120d.jpg

20181208-shm-120d-inside.jpg
タンクと排気筒を取り外し、蒸発皿やヒーターを撮影

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年11月30日

Clonezillaを用いてAFTハードディスクをクローン複製して換装

2013年1月に使い始めたハードディスクの通電時間が「1万時間」(2013年1月に使用開始してから5年10ヶ月)に達したので、新しいハードディスクにクローン複製して換装した。

故障が増えてくる目安が、通電時間 1万時間 または 利用期間5年、だそうだ。(都市伝説…)

交換前・後のハードディスクは、物理セクタが4096BytesのAFTディスク

ハードディスク全体のコピー(クローン複製)には

・Linuxのddコマンドコピーする
・Clonezillaでコピーする

の2つの方法が考えられる。

ddコマンドは、データが格納されていない部分も含め「全ての領域」をコピーするため、時間がかかる。

Clonezillaを用いれば、このソフトで認識できるフォーマット(NTFSやext4など)であれば、パーティション内の「書込されていないセクター(領域)」のコピーは省略されるため、大幅に時間短縮できるはずだ。

今回、Clonezillaを用いてコピーすることにする。心配されるのは、各パーティションの物理ディスク内での位置が変更されずに忠実にコピーしてくれるか。AFTディスクはアライメントがずれたら使い物にならない。

結果として、この記事に書いたように問題なくコピーされた。

新・旧ハードディスクの仕様

20181130-hdd-st1000dm010-003.jpg

(旧) ST1000DM003(新) ST1000DM010
インターフェースSATA 6 GBytes/secSATA 6 GBytes/sec
読み書き速度Read 210, Write 156 MBytes/secRead 210, Write 156 MBytes/sec
回転数7200 rpm7200 rpm
プラッタ1 枚1 枚
Bytes/セクター4,096 (AFT)4,096 (AFT)
起動電流2.0 A2.0 A
動作時の消費電力5.9 W5.3 W
アイドル時の消費電力3.36 W4.6 W
スリープ時の消費電力0.63 W0.94 W
寿命 ロード/アンロード回数300,000 回300,000 回
筐体寸法101.6 x 146.99 x 20.17101.6 x 146.99 x 19.99

購入価格は、ST1000DM003が5,880円、ST1000DM010が5,180円。どちらも、Amazon.co.jpで購入した。

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

2018年11月29日

Amazon Fire HD 10のroot権限無しでシステムアプリを無効化

Amazon Fire HD 10 で root 権限を取らずに、システム・アプリを無効化した時のメモ

この作業を行ったFire HD 10(2017)のシステムは Fire OS 5.3.6.4 (2018/11/13) です。 (「設定」ー「端末オプション」ー「システムアップデート」で表示されるバージョン)

参考にしたWebページ

・xda [GUIDE][NO ROOT][LATEST VERSION] Disable System Apps on Fire HD 7/8/10:
FireOS 5.6.0.0 のAmazon関連パッケージ一覧

環境構築

Amazon Facebook ShareアプリでOSの脆弱性を用いて、システム管理ユーザIDに昇格して「pm hide」コマンドを通してしまう方法のようだ。

Amazon Facebook Share (com.amazon.unifiedsharefacebook.apk)の配布元は
xdaよりダウンロード (上のxda GUIDEの本文に貼られたリンク)

ダウンロードしたファイルを、Fire HDの /sdcard/Download に保存してインストールする

adb install -r -d /sdcard/Download/com.amazon.unifiedsharefacebook.apk

adb shellでFire HDのシェルに入り、run-as コマンドを用いて、id=2000以外に昇格できることを確認する。

$ adb shell
 
$ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics) …(以下略)
 
$ run-as com.amazon.unifiedsharefacebook
$ id
uid=32067(amz_u0a67) gid=32067(amz_u0a67) groups=1003(graphics), …(以下略)

この状態で、pm hide コマンドを用いて、パッケージを無効化していく

$ pm hide [パッケージ名]

パッケージを戻すときは、pm unhide を用いる。pm hideで無効化したものは、pm disable したものと違って、pm list コマンドでは表示できなくなってしまう。どのパッケージを無効化したかは、記録しておくこと。

省略された記事の残りの部分を表示する (Continue to read rest of this topic) »

以下の記事は画面の都合上省略されています。全ての記事一覧は、こちらまで