2018/05/23

Python2系とPython3系では binascii.crc32 の計算結果が異なるので注意

python2 では signed、python3 では unsigned として扱われる

具体的な例としては以下。

python2
1
2
3
>>> import binascii
>>> binascii.crc32(b"Hello")
-137262718
python3
1
2
3
>>> import binascii
>>> binascii.crc32(b"Hello")
4157704578

数字は違うのですが、0xF7D18982 を 32bit の signed として扱っているか、unsigned として扱っているかの違いです。

そして、これは仕様のようです。

参考

Issue 4903: binascii.crc32() - document signed vs unsigned results - Python tracker

2018/05/12

Headless server につないだ Vino のキーボードを日本語レイアウトにする

2018/05/11

Ubuntu 16.04 LTS から 18.04 LTS へのアップデートは7月後半まで出来ない

Ubuntu 18.04 LTS が出ましたね。

メインマシン(16.04 LTS) にアップデート通知がこないなーと思いつつ、 ちょうど仕事が忙しいタイミングと重なって放置していました1

しかし、さすがに2週間経ってもこないのはおかしくない?と思って調べてみたら、 16.04 からのアップデートは 18.04.1 が出るまで無効化されているとのこと。

BionicBeaver/ReleaseNotes - Ubuntu Wiki

Upgrades from 16.04 LTS will not be enabled until a few days after 18.04.1's release expected in late July.

18.04.1 のリリーススケジュールは7月後半2。 ちょっと先ですね。 悩ましい。

  1. このタイミングでアップデートするわけにもいかず、ちょうど良かったとも言える 
  2. 一応、7月26日の予定 
?