トップ 追記

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2021-06-13(Sun) 朝の雨は、後で降るかどうか

色合いを調整

butterfly

まずオリジナルの切り抜き。

$ convert \
    -crop 1024x768+900+500  \
    -page 1024x768+0+0 \
    ORIG_IMAGE crop.png

モンシロチョウが「紋蝶」 に見えないような色だった。

調整した画像

butterfly 2

$ convert \
    -crop 1024x768+900+500  \
    -page 1024x768+0+0 \
    -gravity southeast \
    -modulate 120,40,100 \
    -brightness-contrast  8 \
    -pointsize 40 -font IPA-P明朝 -annotate 0  "2021/05/23 13:15:55" \
    -fill white \
    -gravity northwest \
    ORIG_IMAGE adjust.png

目が変になりかけたが、なんとか。


2021-06-08(Tue) 晴れ、としか

ddでコピー

dd iostat

USB3.0のUSBメモリをUSB3.0ポートに付けて、 "new SuperSpeed Gen 1 USB"を確認。
HDD(/dev/sdb)に置いてある同サイズの イメージ(元データを以前書き出していた)をddする。
例によってiostat。

$ time sudo dd if=IMAGE.img of=/dev/sdc bs=1M
 
14896+0 レコード入力
14896+0 レコード出力
15619588096 bytes (16 GB, 15 GiB) copied, 1211.53 s, 12.9 MB/s
 
real    20m11.543s
user    0m0.063s
sys     0m11.804s

2箇所ほどいびつになっているが、どうなのかしら、とか。


2021-06-07(Mon) ちょっと夏っぽい陽気

Ripping中にiostat

ripping iostat

昨日買った音楽CD。
asunderでのリッピング中に気づいてiostatをかけたが、結局 最初から撮りたくなって、やり直す。

DVDドライブが止まるのを待ってから吸い出しを開始する。
Webブラウザなどもあらかじめ終了させておいた。

/dev/sr1(USB DVDドライブ)から読み取り、/dev/sda1(SSD)に書き出す。
一旦WAV形式で/dev/sda1に保存し、Ogg形式に変換して、WAVを消す、の繰り返し。
二回目は、一時的に極端に数値が上がるせいで、あまり目立つようにはならなかった。

明日回しとする

 


2021-06-04(Fri) 午後には止んだらしい

スローはどのくらい

前にタイムラプスを比較したが、今度はその逆を。
といっても、こちらはiPhoneとWG-IIIだけ、だけど。

またデジタル時計を撮ってみた。WG-IIIは15秒程しか 録画できなかった。

$ ffmpeg -i IMGP0122.MOV |& grep Duration
  Duration: 00:01:00.06, start: 0.000000, bitrate: 6302 kb/s

15秒が1分だから1/4倍速か。
お次はiPhone SE。

$ ffmpeg -i IMG_2934.MOV |& grep Duration
  Duration: 00:00:29.34, start: 0.000000, bitrate: 38175 kb/s

撮影時間と同一だった。どうやらスローは再生モードに過ぎないようだ。


2021-06-03(Thu) 先程降り出した、らしい

120GBのイメージはSSDにぴったり

image to ssd

昨日とは逆に、120GBのイメージをSSDにddrescueする。

$ time sudo ddrescue -f 120.img /dev/sdb log
GNU ddrescue 1.23
Press Ctrl-C to interrupt
     ipos:  120034 MB, non-trimmed:        0 B,  current rate:  29777 kB/s
     opos:  120034 MB, non-scraped:        0 B,  average rate:  69665 kB/s
non-tried:        0 B,  bad-sector:        0 B,    error rate:       0 B/s
  rescued:  120034 MB,   bad areas:        0,        run time:     28m 42s
pct rescued:  100.00%, read errors:        0,  remaining time:         n/a
                              time since last successful read:         n/a
Finished
 
real    28m49.414s
user    0m6.435s
sys     2m55.202s

範囲外になるとき

RasPicoのintも32ビットであることを確認していた。

int/build $ make -j4
[  5%] Performing build step for 'ELF2UF2Build'
[  5%] Built target bs2_default
[  8%] Built target bs2_default_padded_checksummed_asm
[100%] Built target elf2uf2
[ 10%] No install step for 'ELF2UF2Build'
[ 11%] Completed 'ELF2UF2Build'
[ 20%] Built target ELF2UF2Build
Scanning dependencies of target int
[ 22%] Building C object CMakeFiles/int.dir/int.c.obj
/home/pi/pico/pico/int/int.c: In function 'main':
/home/pi/pico/pico/int/int.c:12:4: warning: iteration 3 invokes undefined behavior [-Waggressive-loop-optimizations]
   i+=1;
   ~^~~
/home/pi/pico/pico/int/int.c:10:2:note: within this loop
  for(j=1; j < 6; j++) {
  ^~~
[ 23%] Linking CXX executable int.elf
[100%] Built target int

int型の範囲外になるようだと、こんな警告が出るようだった。


2021-06-02(Wed) 水無月っぽい感じもせず

古い小さいSSDから古い大きいHDDへ

first 300

ddrescue。エラーは無かったのだけど。

$ time sudo ddrescue -f /dev/sda 120.img log
GNU ddrescue 1.23
Press Ctrl-C to interrupt
     ipos:  120034 MB, non-trimmed:        0 B,  current rate:    143 MB/s
     opos:  120034 MB, non-scraped:        0 B,  average rate:    103 MB/s
non-tried:        0 B,  bad-sector:        0 B,    error rate:       0 B/s
  rescued:  120034 MB,   bad areas:        0,        run time:     19m 16s
pct rescued:  100.00%, read errors:        0,  remaining time:         n/a
                              time since last successful read:         n/a
Finished
 
real    19m22.469s
user    0m8.061s
sys     3m19.638s

2021-05-29(Sat) 晴れ

PicoをPCにシリアル接続

PICO Serial

ケーブル PICO
白       1:GP0(TX)
緑       2:GP1(RX)
黒       3:GND
$ minicom -b 115200 -o -D /dev/ttyUSB0

で、シリアルに流したFizzBuzzを見ることができた。

MicroPythonでシリアルコンソールにHello, World

MicroPythonドキュメントと違い、 PicoのMicroPythonでは UARTにinit()は無いらしい。

from machine import UART
uart = UART(0, 115200, bits=8, parity=None, stop=1)
uart.write('Hello, Serial World!\r\n'.encode())

これをThonny上でRunする。

>>> %Run -c $EDITOR_CONTENT
$ minicom -b 115200 -o -D /dev/ttyUSB0
 
minicom へようこそ 2.8
 
オプション: I18n 
ポート /dev/ttyUSB0, 10:46:43
 
CTRL-A Z を押すと、説明画面になります。
 
Hello, Serial World!

uart.write('こんにちは、シリアルの世界へ!\r\n'.encode()) とかで、 日本語も化けずに出た。

シリアルのfizzbuzz+blinkなら

C言語のelfでも、MicroPythonでも処理速度は変わらないようだ。
ちなみにMicroPythonでの/dev/acmXの叩き方はよく解らない。


2021-05-28(Fri) 薄く晴れた

ddでISOを遅いUSBメモリに

dd iostat

コピー。少し後に気づいて、iostatでログを取った。

$ time sudo dd if=archlinux-2021.05.01-x86_64.iso of=/dev/sdc bs=1M
755+1 レコード入力
755+1 レコード出力
792014848 bytes (792 MB, 755 MiB) copied, 173.181 s, 4.6 MB/s
 
real    2m53.193s
user    0m0.014s
sys     0m0.979s

HDDから遅いUSBに、特にオプションもなくコピーした結果、 70秒くらいで読み込みが終わってしまい、 後はバッファからの書き込みが終わるまで続いた、というところらしい。


2021-05-27(Thu) 月食の見えない次の日は雨

USB 3.0 Type BのRAID1にddrescueで

ddrescue copy

Ubuntuのイメージファイルをコピーしてみた。
スパースを無視したため、時間はかなりかかってしまった。

$ time sudo ddrescue -f $DIR/ubuntu18.04.img $DIR2/ubuntu18.04.img log
GNU ddrescue 1.23
Press Ctrl-C to interrupt
     ipos:   42949 MB, non-trimmed:        0 B,  current rate:   1376 kB/s
     opos:   42949 MB, non-scraped:        0 B,  average rate:    111 MB/s
non-tried:        0 B,  bad-sector:        0 B,    error rate:       0 B/s
  rescued:   42949 MB,   bad areas:        0,        run time:      6m 23s
pct rescued:  100.00%, read errors:        0,  remaining time:         n/a
                              time since last successful read:         n/a
Finished
 
real    6m40.831s
user    0m0.968s
sys     0m35.677s

稼働時間のグラフは不正確なようだ。2分で終わったことになっている。
Remaing time や run time は時々飛んでたりしていた。

MicroPythonもうちょっと

やはり遅さを楽しむとか。

import utime
start = end = 0
start = utime.ticks_ms()
print(2**65536)
print("")
end = utime.ticks_ms()
print(end - start)
...895905719156736
 
24668

2021-05-25(Tue) 明日の天気はどうなることか

ついに我慢できなくなって

two picos

もう一つのPicoにもピンヘッダをはんだ付けする。
こちらはC言語とか向け。
前までのPicoはUSBだけ挿してMicroPython向けと。

ひとつのPiに2つ繋ぐのにちょっともたつく。
個別に挿す場合はPithonの方を先にする。
hello_worldのUSBで、/dev/ttyACM0でなく /dev/ttyACM1に

MicroPythonベンチなFizzBuzz

FizzBuzzは日曜に書いた気がするが、 utime(timeではうまくできない。時間が同じになる) でもって測ってみた。

import utime
start = utime.ticks_ms()
for x in range(1, 2001):
    if(x%15==0):
        print("fizzbuzz")
    elif(x%5==0):
        print("buzz")
    elif(x%3==0):
        print("fizz")
    else:
        print(x)
print("")
end = utime.ticks_ms()
print(end - start)
>>> %Run -c $EDITOR_CONTENT
1
2
fizz
.
.
.
1997
fizz
1999
buzz
 
303

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。