カテゴリー: PC

  • BitZeny のマイナーを Win 環境向けにビルドする

    Linux 環境上で Windows 向け minerd.exe をクロスコンパイルするお話。64bit 版 Windows 向けです。 DLL を一緒にコピーするのが手間なので、static link にして単一バイナリで minerd.exe を生成します。

    マイニング環境の CPU に合わせて最適化するため、Windows 上で VirtualBox を使って Ubuntu 17.10 の仮想環境を構築して行います。今回 Debian ではなくて Ubuntu なのは何となくの気まぐれです。普段は Linux では CUI 環境しか使わないのですが、結果的に GUI 環境があったおかげでバイナリの Windows 環境への移動が少し楽でした。

    参考文献

    下準備

    $ sudo apt-get update
    $ sudo apt-get upgrade

    ビルド環境の準備

    $ sudo apt-get install build-essential automake mingw-w64-x86-64-dev g++-mingw-w64-x86-64
    $ sudo apt-get install git

    ソースの取得とビルド

    $ git clone https://github.com/nezumi-tech/cpuminer
    $ cd ./cpuminer/deps/
    $ sh ./build_win_deps.sh
    ..............
    .....<略>.....
    ..............
    $ cd ..
    $ autoreconf -fi -I./deps/x86_64-w64-mingw32/share/aclocal
    $ ./configure --host=x86_64-w64-mingw32 CFLAGS="-Ofast -march=native -flto -funroll-loops -fomit-frame-pointer" -I./deps/x86_64-w64-mingw32/include -std=c99 -DWIN32 -DCURL_STATICLIB -DPTW32_STATIC_LIB" --with-libcurl=deps/x86_64-w64-mingw32 LDFLAGS="-L./deps/x86_64-w64-mingw32/lib -static"
    $ make

    もし途中でこけたら

    コンパイルオプションをいじったりすると途中でビルドがこけることがある。とりあえず一回、make clean; make し直してみる。それでだめなら考える。

    $ make clean
    $ make

    以上の手順で minerd.exe が生成されているはずなので、Windows 環境にコピーするなり移動するなりして使います。

    ベンチマーク

    BitZeny 公式 Windows 64bit 11/10版 SSE4.1

    minerd.exe -a yescrypt --benchmark
    
    

    nezumi_tech さんの改良版

    minerd.exe -a yescrypt --benchmark
    
    

     

     

  • Excel で IFS を使わず条件分岐(値の範囲)

    範囲の開始値範囲の終了値判定
    059D
    6069C
    7079B
    8089A
    90100S

    上の表のような条件によって判定を行うとき、プログラムだと単に if, else if でできまますが(美しさはともかく)、Excel だとどうするか? 何も考えずに行うとしたら IF の入れ子で行うことになると思いますが、正直見難いのでもっと綺麗に処理したい。

    Excel 2016 からは IFS 関数が実装されて複雑な条件分岐が書きやすくなったが、Excel 2013 以前では IFS 関数は使えません。Excel 2013 以前で数値の範囲で条件分岐を行う方法の一つを記します。

    (さらに…)

  • さくら VPS の Aipo 用 Let’s Encrypt SSL 証明書の更新

    Let’s Encrypt の証明書期限が近づいてきたので更新を行います。

    HTTPS(TCP 443) が Web サーバ等で使われていると、そのまま更新をかけても次のようなエラーが表示されます。

    Attempting to renew cert (xxxxx.example.com) from /etc/letsencrypt/renewal/xxxxx.example.com.conf produced an unexpected error: Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping.
    All renewal attempts failed. The following certs could not be renewed:
     /etc/letsencrypt/live/xxxxx.example.com/fullchain.pem (failure)

    なのでまず HTTPS を使っている Aipo のサーバを停止させます。停止させる前にデータのバックアップも取っておきます。

    # /usr/local/aipo/bin/backup.sh
    # /usr/local/aipo/bin/shutdown.sh

    初期設定時のまま特に変更することもないので、renew するだけです。Tomcat 用に Keystore 形式への変換まで行います。

    # certbot renew
    .....
    .....
    .....
    # cd /etc/letsencrypt/live/aipo.example.com/
    # openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out ssl.p12
    Enter Export Password: *****
    Verifying - Enter Export Password: *****
    # /usr/local/aipo/jre/bin/keytool -importkeystore -destkeystore tomcat.keystore -srckeystore ssl.p12 -srcstoretype PKCS12
    Enter destination keystore password: #####
    Re-enter new password: #####
    Enter source keystore password: *****
    Entry for alias 1 successfully imported.
    Import command completed: 1 entries successfully imported, 0 entries failed orcancelled

    後は Aipo を起動しなおすだけ。

    # /usr/local/aipo/bin/startup.sh

    これで終りですが、Aipo は起動してポートも開いているのに Web ブラウザからアクセスできず、かなり焦りました。とりあえず 10~15 分ほど放置したら元通りアクセスできました。

    起動処理に時間がかかっているだけみたいですが、表面上は起動が完了しているように見えるので気付かないと厄介です。初期導入時にこれに気づかずに何回も再インストールしてしまい、無駄な労力をかなり使いました。

    追記(2017-01-19)

    証明書の期限切れが表示されたと問い合わせがあり、確認したら証明書の日付が更新されていなかった。結局初回と同じ手順でやっと更新されました。

    更新(2018-03-31)

    Aipo 起動スクリプトのパスが誤っていたのを修正(“/usr/local/aipo/startup.sh” -> “/usr/local/aipo/bin/startup.sh”)

  • ThinkPad X220 の TN 液晶を IPS に交換

    ThinkPad X220 の TN 液晶を IPS に交換

    ThinkPad X220 の手入れシリーズ。Amazon にも修理部品として IPS のパネルが出品されていたので、思い切って交換してみることにしました。

    (さらに…)

  • ThinkPad X220 に Samsung SSD 850 120GB を入れた

    たまたま実物を触る機会があって、めちゃくちゃ軽くて感動したので重たい ThinkPad X220 に入っているIntel SSD 320 と交換した。

    交換はすぐ終わり、Samsung のサイトから Samsung Data Migration Tool をダウンロードして丸ごと環境を移行。

    Samsung SSD 850

    CrystalDiskMark ではないけどこれくらい出てます。ただ、体感は SSD から SSD ということもあって、ちょっと速くなったかな、程度の差でした。

  • Intel SSD の 8MB 病をサクッと治す

    Intel SSD の 8MB 病をサクッと治す

    割りと有名な Intel SSD 320 の容量が 8MB になる病。結論だけ先に書くと、USB のアダプタ経由でも良いので TxBENCH で Secure Erase をするだけで治りました。

    (さらに…)