[Word2Vec] バイナリファイルからテキストファイル、テキストファイルからバイナリファイルへ変換

w2vで処理したのはいいけどバイナリファイルにするの忘れてた!とか、テキストファイルが欲しくなった!とかに使えそうなやつです。
gensimが必要になります。

$ pip install gensim

バイナリファイルからテキストファイルへ変換する場合は、テキストファイルのサイズが大きくなるのでHDD/SSDの記憶容量にご注意ください。
処理にそこそこ時間がかかります。

https://pastebin.com/2w2Bc8eT


from gensim.models.keyedvectors import KeyedVectors
 
# Convert binary file to text file
w2v_model = KeyedVectors.load_word2vec_format('Path to bin file', binary=True)
w2v_model.save_word2vec_format('Path to output', binary=False)
 
# Convert text file to binary file
w2v_model = KeyedVectors.load_word2vec_format('Path to text file', binary=False)
w2v_model.save_word2vec_format('Path to output', binary=True)

[Android] TelegramとTorを組み合わせて使う

最近ロシアがTelegram規制のため180万個ぐらいのIPアドレスをブロックしたとかそんなニュースが流れていますが、日本では特に何もなく平和な限りです。
たとえ規制されたとしてもプロキシやVPNを使えば回避できるのでなんだかなあっていう所感でした。

今回はAndroid上でTelegramをTorを通して使う方法を書いておきたいと思います。
非root化環境でも問題なく可能です。
Telegram, Telegram Xを対象にしています。


  1. Orbot: Proxy with Tor
    をインストール。

  2. Orbotを起動して真ん中のスタートをタップ。torネットワークに繋がるまで待ちます。

  3. Telegramを起動して Settings -> Data and Storage -> Proxy を開きます。

  4. Server : 127.0.0.1
    Port : 9050
    を入力して完了です。

[NextCloud] php.iniや.htaccessでアップロード制限の変更ができない場合

NextCloudでのファイルのアップロード容量制限ですが、通常はphp.iniの

# php.ini
post_max_size = 32M
upload_max_filesize = 20M

や.htaccessの

# .htaccess
php_value upload_max_filesize
php_value post_max_size

の値を変更すれば反映されるのですが、その辺を変更しても一向に反映されない場合があります。
そこで数時間嵌っていたのですが、
.user.ini
なんていうファイルがあったみたいでこのファイルで制限がされていたため、今回はphp.iniの設定が反映されなかったようです。

# .user.ini
upload_max_filesize
post_max_size
memory_limit

を変更した結果、無事に反映されました。えぇ…

DebianにStrongHands wallet(Cli版)の導入と移行

導入環境

今回はGoogle Cloud Engineのf1-microインスタンス上でDebian 9 64bitを使用しました。
f1-microインスタンスは特定の条件下では無料で使用できるので、おすすめデス。
Google Cloud Platformの無料枠についてはGoogle Cloud Platform の無料枠のページに書いてます。
ただ、フリートライアルのアカウントでは仮想通貨のマイニングが明確に禁止されています。PoSマイニングが含まれているかどうかは知りませんが、フリートライアルのアカウントで試めそうとしている方はアカウントをアップグレードしておきましょう。

2. Limitations. During the Free Trial:

2.2 Customer may not use the Services to engage in mining cryptocurrency;

https://cloud.google.com/terms/free-trial/

makeに際してf1-microではメインメモリが512mbで足りないので、swapを有効にしておいて下さい。

walletの導入

まずは必要なパッケージをインストールしておきます。

$ sudo apt-get install ntp git build-essential libssl-dev libdb-dev\
 libdb++-dev libqrencode-dev libboost-dev qt5-default qt5-qmake libprotoc-dev libprotobuf-dev\
 libpng-dev qrencode libqrencode-dev qttools5-dev-tools libboost-all-dev libminiupnpc-dev -y
$ sudo apt-get install libssl1.0-dev -y

次に一応shnd専用ユーザーを作成しておきます。

$ sudo adduser --disabled-login --gecos 'SHND' shnd

shndユーザーに変えてgithubからwalletのソースコードを取ってきて、ビルドします。
f1-micro上でmakeすると時間が凄くかかるので高スペックのプリエンプティブインスタンスを立ててさくっとmakeしてから、できたものをf1-microに送るのがいいかもしれませんね。
n1-standard-4だとインスタンス立ててmake終了まで10分かかりません。

$ sudo su - shnd
$ git clone https://github.com/bumbacoin/stronghands.git shnd
$ cd shnd/src
$ make -f makefile.unix

今回makeしたのをとりあえず置いておきますね。
stronghandsd_builded_on_debian_9.rar PW:StrongHands
md5: 473bd34317580d741168c67df76fbc47

makeが終わったら同ディレクトリにstronghandsdが作成されたと思います。これがwallet本体になります。ホームディレクトリに移動させて一旦起動して設定フォルダを作成させます。

$ mv stronghandsd ~/
$ cd ~
$ ./stronghands

Ctrl+Cを押して一旦終了させます。

他walletからデータを移行

新しくwalletを作ってそこにshndを送金しては成熟期間が無駄になるのでdatファイルを使って移行してしまいます。
qt版のwalletを使ってる方はFile -> Backup Walletからwalletのバックアップdatを作成できます。

さっき一旦起動して終了させたことでホームディレクトリに.stronghandsという隠しフォルダができたと思います。
この中に入ってるwallet.datがwalletデータなので、さっきバックアップをとったdatファイルをこれにコピーします。

$ mv backup.dat .stronghands/wallet.dat

あとは

$ ./stronghandsd -daemon

これで放置するだけです!

Pos Mining

walletを起動させているだけではpos mimingは出来ません。
walletのunlockとgenerateをtrueにする必要があります。

$ ./stronghands walletpassphrase passphrase 1608201813
$ ./stronghands setgenerate true

とでもしておきましょう。

getmininginfoでgenerateがtrue, hashespersecが0以外ならOKです。

使いそうなオプション

使用しそうなstronghandsdのオプション項目を書いておきます。
https://pastebin.com/aehvg6GR

その他のオプションは
https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
を参考にして下さい。

最後に

f1-microインスタンスだとメモリは余裕がありますがcpu使用率が100%近くに張り付くので、同インスタンスで別通貨のPoSマイニング等は厳しいですね。

[template id=”342″]

[Huawei Nova Lite] BootloaderをUnlockしたらGoogle Playが消えた!

Nova LiteのBootloaderをUnlockした際にどうもGoogle PlayなどのGoogle系アプリが消える現象があるみたいですね。
最近始めて遭遇しました。
Open GAppsを焼けばいいかと思って焼いてみたのですがどうにもコアGMSパッケージやらをインストールしないとダメだよと、Google Playさんから怒られます。
さあ、どうしましょうですが、復旧は凄く簡単です。

まず端末本体にインストールされているOSのバージョンのRecovery.imgを焼きます。
次にリカバリに入ってFactory Resetをします。
後はBoot.img, Cust.img, System.imgを焼けばOKです。
もしMagiskを事前にインストールしていた場合はBoot.imgなどを焼く前にUninstallerで削除しておいて下さい。
そしてもう一回、復活してますようおまじないにfactory resetをしておきましょう。

これでGoogle Play等のGoogle系アプリが初期状態で入っている状態になります。
この後Magiskを導入してSafetynetの欺けるかどうかはなんとも言えないところです。

[Huawei Nova Lite] LineageOS 14.1

最近huaweiの純正romにも飽きてきたのでLineageOSを使用したいと思いました。
あるのかなと探してみたらありますね!

[ROM][25/01/2018][PRA-LX1] LineageOS 14.1 for Huawei P8 Lite 2017

流石です。半年ぐらい前から公開されてたんですね。完全にノーマークでした…

インストールは至って簡単です。

万が一の事に備えてddコマンドで全パーティションのバックアップはとっておきましょう。文鎮化してしまうと復旧が非常に困難です。

  1. Downloads: から最新romのダウンロード先のリンクを探してromをダウンロードします。

  2. The Open GApps ProjectからGAppsをダウンロードします。
    arm64, 7.1, Variantはtvstock以外のお好みで。

  3. [RECOVERY][PRA-LX1][3.1.1-2] TWRP for Huawei P8 Lite 2017よりカスタムリカバリをダウンロードしてフラッシュします。

    fastboot flash recovery twrp.img

    ですね!

  4. リカバリを起動して
    Wipe -> Advanced Wipe -> Dataにチェックを入れてChange file system -> ext4 でフォーマット。

  5. SDカードやらにrom.zipとgapps.zipを送信して、zipファイルからインストールします。
    これで完了です。

LineageOSは初回起動時はやたら時間がかかるのでロゴが出ている間は強制的に電源は切らずに我慢強く待つべきデス。

Magiskですが、v14.0をフラッシュして下さい。一回LineageOSを起動してからですよ…?
同時に焼いて起動したらブートループかも…
v15.xでは失敗します。Magisk Managerの方から最新のMagiskに更新しましょう。
v15.0 – v15.2までは対応しておらず駄目な感じでしたが、v15.3からは動きます(動くはずです…

1/29追記
一日使ってみましたが、なかなかに不安定です。
アプリの強制終了、強制リブートが多発です。
常用に微妙な支障が出るので純正ROMに復元かな…

YiiMP.euでStratum authentication failed

YiiMP.euなどのworkerに自分のアドレスを指定してマイニングするタイプのプールで
“Stratum authentication failed”
と認証に失敗することがまれにあります。

私は複数枚のGPUでマイニングしているのですが、特定のGPUのみこのエラーに見舞われる謎の現象に陥りました。
再起動などを試しましたが一向に回復しません。
プールの状態が悪いのかと思い数時間置いてみましたが改善しません。
普段であればccminerやpcの再起動、若干時間を置くことによって改善します。
このGPUは若干リジェクト率が高かったのでBANされたのでしょうか。

そこで新しいアドレスを使用してマイニングしたところ無事に繋がり、その後すぐに元のアドレスに戻したら何事もなかったかのようにマイニングが始まりました。
何かフラグでも立っていて、別のアドレスでマイニングした事によりそのフラグが消えてできた…
のような感じでしょうか。
よくわかりませんが、とりあえずマイニング再開できてホッとしました。


投げ銭待ってます!
BTC : 17wbepoMVUW5D5Gvz8fDHLVXER9EXSEpdW
Mona : MUDq4ZNwdfhtYeprEbzoYGYpDM9Sagq7MV
ETH : 0xb756c28f3531a94651e47471740eac562e9f2e66
XVG : D5HSSkAX3C6ZPKKuXM3JfunbjNbTYkYmjM
TRX : 0xa759e111477ed0ab3d67fcd54e073566de1ee937

[Huawei Nova Lite] PRA-LX2C635B170 Full ROM

update.zip
update_data_full_public.zip
update_full_PRA-L22_hw_jp.zip

本アップデートでは、Googleセキュリティパッチによってシステムセキュリティが向上します。

Googleセキュリティパッチを統合してシステムのセキュリティを向上。

1. 本アップデートにより個人データは消去されませんが、更新前に重要なデータをバックアップすることをお勧めします。
2. 更新中に問題が発生した場合、Huaweiコールセンターに連絡するか、正規のHuaweiサービスセンターに行ってサポートを受けてください。

亲爱的用户,本次更新合入谷歌安全补丁,推荐您进行更新。

合入 谷歌安全补丁,提高系统安全性

1. 本次更新不会删除您的用户数据,但仍建议您在更新前做好数据备份。

2. 更新过程中,如果遇到任何问题,请拨打服务热线或去华为授权服务中心寻求支持。

This update improves system security with Google security patches.

Integrates Google security patches for improved system security.

1. This update will not erase your personal data, but we recommend that you back up any important data before updating.

2. If you experience any issues during the update, please call the Huawei customer service hotline or visit an authorized Huawei service center for assistance.

[template id=”342″]

[Huawei Nova Lite] PRA-LX2C635B182 Full ROM

update.zip
update_data_full_public.zip
update_full_PRA-L22_hw_jp.zip

本アップデートでは、より綺麗なセルフィーを選択できるように、ミラー反射に関連する設定とプロンプトが最適化されます。

より綺麗なセルフィーを選択できるように、ミラー反射に関連する設定とプロンプトを最適化。
Googleセキュリティパッチを統合して、システムのセキュリティを向上。

1. 本アップデートにより個人データは消去されませんが、更新前に重要なデータをバックアップすることをお勧めします。
2. 更新中に問題が発生した場合、Huaweiコールセンターに連絡するか、正規のHuaweiサービスセンターに行ってサポートを受けてください。

亲爱的用户,本次更新优化前置相机自拍镜像开关,推荐您更新体验。

优化 前置相机自拍镜像开关,自由选择最美的自拍照
合入 谷歌安全补丁,增强系统安全性

1. 本次更新不会删除您的用户数据,但仍建议您在更新前做好数据备份。
2. 更新过程中,如果遇到任何问题,请拨打服务热线或去华为授权服务中心寻求支持。

This update optimizes settings and prompts related to Mirror reflection to select better selfies.

Optimizes settings and prompts related to Mirror reflection to select better selfies.
Integrates Google security patches for improved system security.

1. This update will not erase your personal data, but we recommend that you back up any important data before updating.
2. If you experience any issues during the update, please call the Huawei customer service hotline or visit an authorized Huawei service center for assistance.

[template id=”342″]