はやしくん雑記

はやしです


macOS 10.14.5 (Xcode 10.2.1) でpyenv installがコケる問題

pyenvで3.7.3のインストールができない

$ pyenv install 3.7.3
~~
BUILD FAILED (OS X 10.14.5 using python-build 20180424)
~~
Last 10 log lines:
  File "/private/var/folders/fx/xtlqk0fj4hd0f8nnmznbzg680000gn/T/python-build.20190614132237.43257/Python-3.7.3/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/private/var/folders/fx/xtlqk0fj4hd0f8nnmznbzg680000gn/T/python-build.20190614132237.43257/Python-3.7.3/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/private/var/folders/fx/xtlqk0fj4hd0f8nnmznbzg680000gn/T/python-build.20190614132237.43257/Python-3.7.3/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/private/var/folders/fx/xtlqk0fj4hd0f8nnmznbzg680000gn/T/python-build.20190614132237.43257/Python-3.7.3/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

zlibが使えないと言われるが、brewでzlibとかは諸々入れている

公式のWikiには、additionalなSDK headerをインストールせよと書いてあるが、 Home · pyenv/pyenv Wiki · GitHub

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
installer: Error - the package path specified was invalid: '/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg'.

と言われる。それはそうで、

$ ls /Library/Developer/CommandLineTools/
Library SDKs usr

Packagesなど無い

解決法

SDK headerが無いので、includeする

fishなら

$ set -x CFLAGS -I(xcrun --show-sdk-path)/usr/include

bashとかなら

$ export CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"

をしてからpyenv install 3.7.3をすれば良い

MacBook Proをキーボード修理に出したらデータも消えずに40時間くらいで返ってきて感動した in 東京

MacBook、MacBook Air、MacBook Pro キーボード修理プログラム

今年もWWDCが終わりましたね。 Swift UIめっちゃ良さそうですね。2年後くらいにはバリバリSwift UIで開発できるようになってStoryboardから開放されるんでしょうか。

ところで、WWDCのちょっと前に、こんなお知らせがありました。

jp.techcrunch.com

www.apple.com

私のMacBook Pro (15-inch, 2018) もGW明けあたりから調子が悪く、SpaceやEnterなどが1回の押下で複数回押下されたように認識される問題があり、超ストレスだったので修理に出しました。

配送修理だと1週間弱はかかるかなと思っていましたが、火曜日の夕方に送り出したら、木曜の朝に帰ってきました。 データも消えるだろうなと思っていましたが、そのまま返ってきたので、復旧作業も無しでラッキーでした。

Genius Barに行ったが、その場では修理してくれなかった

調子が悪くなったので、まず行きつけの銀座Apple StoreのGenius Barに行きました。 天才バーならサクッと数時間で修理してくれるのかなと思って行ったのですが、その場で修理してくれるわけではなく、預かり修理になるとの事でした。

その時に預けることもできましたが、丁度2日後くらいにMBPが必要な局面があったので、その時は預けるのを諦めました。 スタッフの方いわく、配送修理は結構すぐ返ってくるとのことだったので、サポートの電話番号を聞き、後で配送修理をお願いすることにしました。

電話して配送、修理、帰還

スタッフの方に教えてもらった番号に電話を掛け、配送修理を依頼しました。

電話口でApple IDを伝えたところ、Genius Barの来店記録を参照してくれたのでスムーズに話が通りました。

修理を依頼し、バックアップやiCloudサインアウトなどの説明を受けました。 このとき、"apple"という管理者ユーザーを作っておくとデータが消えずに返ってくる可能性が高いと言われたので、そうすることに。

月曜の昼頃に電話をすると、ヤマト運輸さんが火曜の夕方に集荷に来てくれました。 Appleの修理センターは厚木にあるらしく、水曜の朝には修理センターに到着した旨のメールが届きました。

水曜の昼頃には修理完了のメールが届き、再び発送され、木曜の朝に自宅に届けられました。

火曜の18時に送り、木曜の10時に受け取ったので、丁度40時間くらいでした。

キーボードのペチペチ感が減った気がする

返ってきたキーボードは、以前よりペチペチ感が減り、昔のMBPのキーボードに近くなった気がします。

また、キーボードの修理では、キーボードだけじゃなくて天板含め諸々をごっそり入れ替えるらしく、バッテリーも新しいものになるそうです。

なので、バッテリーの充放電回数は1回に!

f:id:hayashikunsan:20190613120453p:plain

みんなReactになったからエニグマ暗号を実装してみた

そしてみんなReactになった

小学生の頃、親に「みんな○○」みたいな事を言うと、みんなじゃないでしょ!って言われたけど、未だに言ってしまうので多分一生治らない

令和になり、みんなReactをやってる(多分平成から、知らんけど)

iOSアプリもネイテイブじゃなくてReactNativeで作ってるみたいな話をよく聞く

なんかReactNative万歳みたいな世の中で、Nativeのほうが好きな私は生きづらい でも批判するにも知識が必要なので、まずはReactを触ってみることにした

話は飛んで、ベネディクト・カンバーバッチについて

ベネディクト・カンバーバッチ、最近良く映画とかで見ますよね

皆さんはベネディクト・カンバーバッチといえばなんのイメージですか?

ピーター?(裏切りのサーカス)カーン?(スタートレック)ドクター・ストレンジ?(ドクター・ストレンジ)アラン・チューリング?(イミテーションゲーム)

私は断然シャーロック(シャーロックっていうドラマ)です

先日久しぶりにイミテーションゲームを観ました

「イミテーション・ゲーム/エニグマと天才数学者の秘密」という映画は、数学者アラン・チューリングが第二次世界大戦中にエニグマ暗号の解読を頑張る、という内容です。

エニグマ暗号とは、ナチス・ドイツが用いていた暗号のことで、主人公のアラン・チューリングはコンピューターの誕生に重要な役割を果たした人です

劇中では登場人物の皆が暗号解読に苦労していて、実際にどんな暗号だったのか気になったので、調べて実装してみることにしました

あと、今回始めてたいぷすくりぷとなるものを使ってみた

続きを読む

はてなブログのMarkdown記法でLaTeX数式を書いたりするの結構つらくて変にスペース入れたりいろいろしなきゃいけないから普通のMarkdownからはてなブログにいい感じに投稿できるように変換するやつを書いた

はてなブログでLaTeX数式を書くのはつらいところがありました。

hatena_md_converter.py · GitHub

続きを読む

Blueqatで量子コンピューター入門をしてみた(量子テレポーテーション)


\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}

  • はじめに
  • 量子テレポーテーションとは
  • 量子テレポーテーション
  • 量子テレポーテーションネットワーク

はじめに

GWの量子コンピューター入門第二弾です。

blog.hayashikun.com

今日は量子テレポーテーションをBlueqatで実装してみます。

まず、チュートリアルにある2者間エンタングルメントを使った量子テレポーテーションを実装してみます。
Blueqat/012_algo_teleportation.ipynb at master · Blueqat/Blueqat · GitHub

その次に、3者間エンタングルメントによる量子テレポーテーションネットワークを実装します。

続きを読む

Blueqatで量子コンピューター入門をしてみた(基本・半加算器)


\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}

  • はじめに
  • Blueqatとは
  • (基本的な事)量子ビットと量子ゲート
  • Blueqatの使い方
  • Blueqatで半加算器を作る

はじめに

GWに時間があったので、量子コンピューターについて少し勉強した。
理解を深めるため、Blueqatを触ってみた。

Blueqatとは

量子ゲート方式の量子コンピュータ回路をシミュレートするためのPythonライブラリ

github.com

続きを読む

イタリアに行った

高校の友人がイタリアの大学院に通っているので、高校の友人と遊びに行った。

f:id:hayashikunsan:20180921190408j:plain

  • 日程
  • 飛行機
  • お金€
  • ネット
  • 公共交通機関
    • 高速鉄道
    • 地下鉄
      • ミラノ
      • ローマ
    • トラム・バス
      • ヴェネツィア
      • ローマ
  • ミラノ
    • ミラノのドゥオーモ
    • ブレラ美術館
  • コモ・ベラージオ
  • ヴェネツィア
    • サン・マルコ寺院
    • ドゥカーレ宮殿
    • アカデミア美術館
    • ムラーノ島
  • フィレンツェ
    • メディチ家礼拝堂
    • サン・ジョヴァンニ洗礼堂
    • サンタ・クローチェ聖堂
  • ローマ
    • ヴィッラ・アドリアーナ
    • コロッセオ
    • スペイン広場
    • バチカン美術館
    • サン・ピエトロ大聖堂
  • 香港(おまけ)
  • あとがき
続きを読む

Rustの変数の所有権とかBorrowingについて概ね理解した

基本的にはここに書いてある通り。

Scoping rules - Rust By Example

C/C++エンジニアではないけど、これも参考にさせて頂いた。

C/C++エンジニアのための Rust のデータ所有権とライフタイム入門

  • Ownership (所有権)
  • RAII: Resource Acquisition Is Initialization
  • Immutable (変更不可能)・Mutable (変更可能)な変数
  • Borrowing (借用)
    • Reference
    • Mutable Reference
  • DataのLifetimeより長い変数にReferenceは渡せない
  • Copy trait
続きを読む

液晶ディスプレイにもいろいろある

液晶ディスプレイ

最近は有機ELディスプレイが搭載されたスマホも多いが、未だに多くのスマホやPCのディスプレイは液晶ディスプレイです。

液晶とは何で、液晶ディスプレイがどういう仕組で機能しているかについては、多くの人が知っていることと思います。

先日知人と話をしているときに、実は液晶ディスプレイは画面を黒くしたほうが電池消費量が多い、というのが話題に登った。 実際に液晶にかかる電圧が少し代わった程度で有意に電池消費量が変わるかどうかはわからないが、液晶ディスプレイの種類について調べるなどしました。

続きを読む