2024年6月10日月曜日

大きな桁の円周率を求める y-cruncher ツール使い方(Windows11編)

 ふと、下記が目に入ったときに、利用されていた y-cruncher というツールを使ってみたいなぁと思いました。このツールは、http://www.numberworld.org/y-cruncher/ にあるわけですが、2010年8月の 5兆桁を皮切りに、2019年3月にはGoogle社員の方が 31.4兆を、同Google社員の方が2022年6月には100兆超えをして、そして2024年2月には105兆桁を実現したようですね。

WindowsとLinux OSのみサポートしているので、ちょっと試すぐらいなら Windows OS で十分かなと思います。で、日本語での使い方を探しますが、意外と探せない。まぁ  http://www.numberworld.org/y-cruncher/ をみたら一目瞭然でしょとは思いますが、そこはまぁ、見てもわからない人でも試せる使い方あったほうが楽しいじゃないですか。

ということで試してみることにしました。

なお、M1 MAX MacBookPro の macOS Sonoma 14.5 上に仮想環境 Parallels Desktop をインストールして、そこに Windows11 OS(英語版)をインストールして試しているので、パフォーマンスは悪いかなぁとは思います。体験できたらよし!なので気にしないでおきましょう。

STEP 1. ツールのダウンロードと ZIPファイルの展開


http://www.numberworld.org/y-cruncher/  よりダウンロードして、ダウンロードしたZIP圧縮ファイルを展開します(ファイルで右クリックして「すべてを展開」を選択)。
ここについての詳しい説明は割愛しておきます。

STEP 2. ツールを起動する


下記のプログラムを開きます。

すると、下記のようなコマンドプロンプトで起動します。
*途中で処理を強制的に終了したい場合には、Ctrl を押しながら cボタンを押してください(Ctrl + c)。これで処理が強制終了してコマンドプロンプトも閉じます。


さて基本的には、数字を入力して、Enter を押すことで次に進みます。

まずはこのツールが端末情報をどのように認識しているかみてみましょう。

1 を入力して Enterを押してみてください。

下記のように、端末で利用可能な CPU のコア数やメモリなどの情報がでてきます。
私の場合には仮想環境に対して 8GB のメモリ(うち4GBをグラフィックメモリ)を割り当ててます。

確認できたら、Ctrl を押しながら cボタンを押してください(Ctrl + c)。これで処理が強制終了させて、再度 y-cruncher を起動してみましょう。

STEP 3. 円周率を求めてみる

下記において、0 を入力して Enterを押します。



下記のようにシングルスレッドかマルチスレッドがでてきますので、とりあえずマルチスレッドである 1 を入力して Enterを押します。



そして、最初は軽めにするということで 2500万桁を求める 1 を入力して Enterを押してみましょう。下記のように計算がスタートします。


そしてわずか4秒で終了しました。



さすがにこれでは味気なさすぎます。

次は、10億桁をやってみましょう! 下記にあるように目安として必要なメモリ情報が書かれてます。下記の選択になったら 6を押して Enterを押します。
*なお 7 を選択すると、メモリ不足と怒られました。さすがに明らかにメモリ不足だと動作させないようにしているのでしょう。手持ちは 64GBの物理メモリがあるので、やろうと思えば仮想環境に50GBほど割り当てることができますから、9 まではいけそうですね (^^;



さすがに数秒とはいかず、7分少し掛かりました。



とまぁ、このように円周率を10億桁求めてみたぜ!ぐらいなら、まぁメモリ 8GBぐらい搭載している端末はわりと一般的ですから、誰でもできるんじゃないでしょうか。

2024年6月10日 @kimipooh

2024年6月4日火曜日

ChatGPT無料版 (GPT-4o) でテトリスを実装してみた。

以前、ChatGPT Plus (GPT-4) でテトリスを実装してみたのですが(2023年4月21日)、最近でてきた GPT-4o は返答も速く、かなりの精度がありそうに思います。ならば、いまこそ再度テトリスのコードを少ない工程で出してくれるはず!ということでやってみました。

過去の実装

生成AIは毎回同じ答えになるわけじゃないので、下記の方法で皆ができるかどうかわかりません。

わずか1文だけ

今回はこれだけで動くレベルのものが実装されました。前回の苦労はなんだったのでしょうか。下記のように、左右移動、下矢印で落ちる速度アップ、QとWで回転。そしてスコアまで出してくれますね!

どのような操作や表示されたコードをどうすればいいのかは、最低限ファイルの作成方法とデータのコピー&ペーストは知っておく必要があります。


と続けて打つと、操作方法のヘルプに加えて、


表示されたコードをどのようなファイルに保存すべきかが出てきます。素晴らしい。



もちろん、テトリスの色が赤色しかないとか、細かいところの実装は必要でしょうが、一発でテトリスが遊べるレベルになるのはすごいですね!

2024年6月4日 @kimipooh

2024年5月15日水曜日

DeepL Meetup in 関西に参加して(5/15)

翻訳ツールで有名な DeepL の関西イベントを初めてやるという情報を得て参加してきました。

公開されていた情報:https://jp.linkedin.com/posts/linkedin-com-company-deepl_deepl-meetup-in-%E9%96%A2%E8%A5%BF-activity-7188805722149638145-U89o

会場は、LINKS Umeda WeWork(大阪梅田)

軽食の用意があり、そうしたものを楽しみながら DeepL に関する話を聞きながら、参加者との歓談や、DeepL 社員の方々へ要望を伝えたり、質問をしたりして楽しみました。様々な質問が出てきて楽しかったですし、こうした DeepL イベントが今後も関西で継続していくことを願っています。


2024年5月15日 @kimipooh


2024年4月28日日曜日

Quora 大阪オフ会に参加して(4月28日)

Kumi Hoffmann さん(Kumi Hoffman さんはどんな人ですか?)が日本へ帰国されるということで、東京、奈良、大阪で開催された Quora オフ会。私は、2024年4月28日のオフ会(昼のみ)に参加してみました。Quora オフ会は初めての参加です。


【大阪kumiさんのファンミーティング通信】4/28 掲載画像


オフ会で用意されたメンバー表やアメリカから取り寄せたというラッコのクッキー(スペース「ラッコのクッキー屋さん」参照)。とても美味しくいただきました!


【大阪kumiさんのファンミーティング通信】4/28 掲載画像

また、それぞれのオフ会の様子は下記のスペースで紹介されています。
本日のオフ会の写真も、そのうち公開されることでしょう。と思っていたら早速次の日に下記のスペースで公開されてましたね!

なお筆者が Quora という Q&Aサイトに出会ったきっかけ等については、下記あたりに書いたりしています。

会場 - GARB weeks


 難波橋から撮影 - 会場場所の Google Map

中之島公園にあるイタリア料理店が会場となりました。
この日は晴天でかなり日差しも強く公園を歩いていると汗ばむほど。店の中は涼しく、店員さんの笑顔での対応も心地よく、唯一食べすぎて苦しくなった以外はとても快適に過ごすことが出来ました。

Kumi Hoffmann さんとは、今回初めてお会いしたわけですが、とてもパワフルでエネルギッシュでいきいきとされていて、まわりに活力や元気を与えてくれるような方だなという印象でした。
また参加されていた方々との歓談も落ち着いた雰囲気で和やかに過ごせてとても気持ちの良いひとときを過ごすことができました。この場をセッティングされた幹事の方々お疲れ様でした。


また運良く、別テーブルで誕生日祝いのサプライズ?イベントがあり、店員や我々店にいる全員が「誕生日おめでとう!」コールをしました。こうしたノリは、関西ならではなのかもしれませんね!

どんな料理だった?


国内外で外食した場合、基本的に食べたものの写真をとって、 Google Mapの口コミ等に投稿します。そうすることで、いつ、誰と、どこで、どのような食事をしたのかを後から見直すためです。最初にやり始めたのは海外出張のときで、次に訪れるときに前回どこにいったのか、どういうところで食べたのか、移動したルートの情報を知っておくことは結構役立ったためです。まぁそういうわけで今回食べた食事の写真を並べておきますね!どれも、とても美味しかったです!


観光 - 中之島公園



12時からオフ会スタートだったのですが、11時21分ごろに北浜に到着して少し時間があるので中之島公園を散策しました。とりあえず、中之島公園の東端にある剣先噴水まであるいてみようかなーというノリでぶらぶらしたのでした。


難波橋を通って中之島公園へ。




バラ園で色とりどりのバラを鑑賞。でも暑い!
それから橋の下をくぐったのですが、そこではダンスの練習をしていたり、涼んでいる人がいるなど大勢で賑わっていました。


芝生では凧揚げしている子供がいたり、周囲には小型テントをおいてピクニックにきている親子連れもかなりいて賑わっていました。


そして東端にある剣先噴水に到着。残念ながら噴水はでていませんでしたが、いろいろ見て回れたので満足。後ろを振り返ると橋にむかう螺旋階段がめにつきました。時間がなかったのでそこは登らず、そのまま引き返して会場まで戻ったのでした。


2024年4月28日 @kimipooh
2024年4月29日 加筆

2024年4月15日月曜日

brew update で Error: Failed to download https://formulae.brew.sh/api/cask.jws.json! のようなエラがでてしまう場合の対処方法

PHPのバージョンが、8.3.6 / 8.2.18 が出たのでアップグレードしようとして、

brew upgrade php をしたところ、下記の様なエラーで止まってしまったので、いろいろ試してみました。

*以下、ターミナルアプリから実行したコマンドについては「青文字」で記載しています。

brew upgrade php
==> Fetching zstd
==> Downloading
https://ghcr.io/v2/homebrew/core/zstd/blobs/sha256:2028141683f55bffcd
curl: (35) Recv failure: Connection reset by peer                                   
Error: php: Failed to download resource "zstd"
Download failed: https://ghcr.io/v2/homebrew/core/zstd/blobs/sha256:2028141683f55bffcd0693b9e49eef1e3dabc1e184214cacb173ca9bd54dabc0

各種ライブラリ等が古いのかもしれないと思って、下記を実行するも止まる。

brew upgrade
==> Running `brew cleanup ripgrep`...
Removing: /opt/homebrew/Cellar/ripgrep/14.0.3... (13 files, 6.6MB)
==> Upgrading telnet
  294 -> 302 
Error: Cannot install telnet because conflicting formulae are installed.
  inetutils: because both install 'telnet' binaries

brew update
Error: Failed to download https://formulae.brew.sh/api/cask.jws.json!
Failed to download https://formulae.brew.sh/api/formula_tap_migrations.jws.json!
Failed to download https://formulae.brew.sh/api/cask_tap_migrations.jws.json!
  
brew --version
Homebrew 4.2.17

と Homebiew 自体は最新。

API からのインストールを無効化するオプション「HOMEBREW_NO_INSTALL_FROM_API」を設定


bashやzsh を使っているなら、ターミナルから下記を実行してから、

export HOMEBREW_NO_INSTALL_FROM_API=1

brew update
==> Updating Homebrew...
Already up-to-date.

brew upgrade
をすると問題なく終了

brew upgrade php
Warning: php 8.3.6 already installed

brew upgrade php@8.2
Warning: php@8.2 8.2.18 already installed

そして下記を参考に MAMP の PHP バージョンを更新できました。

参考情報

上記にいたるまでに試したこと


下記と同じ現象
https://github.com/Homebrew/brew/issues/15998

下記のように XCodeは入っている
xcode-select --install
xcode-select: note: Command line tools are already installed. Use "Software Update" in System Settings or the softwareupdate command line interface to install updates

brew doctor
Warning: Homebrew's "sbin" was not found in your PATH but you have installed
formulae that put executables in /opt/homebrew/sbin.
Consider setting your PATH for example like so:
  echo 'export PATH="/opt/homebrew/sbin:$PATH"' >> ~/.zshrc

rm -r "$(brew --cache)/api"
brew update
Error: Failure while executing; `/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.2.17\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.4.1\)\ curl/8.4.0 --header Accept-Language:\ en --fail --progress-bar --remote-time --output /Users/kitani/Library/Caches/Homebrew/api/formula.jws.json --location --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.2.17\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 14.4.1\)\ curl/8.4.0 --header Accept-Language:\ en --fail --progress-bar --compressed --speed-limit 100 --speed-time 5 https://formulae.brew.sh/api/formula.jws.json` exited with 35. Here's the output:
curl: (35) Recv failure: Connection reset by peer

brew --cache のフォルダに、下記でエラーのでた JSONをコピーしても問題が解決できない。

brew update
Error: Failed to download https://formulae.brew.sh/api/cask.jws.json!
Failed to download https://formulae.brew.sh/api/formula_tap_migrations.jws.json!
Failed to download https://formulae.brew.sh/api/cask_tap_migrations.jws.json!

結局新規インストールしようとしたが、
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
これも出来ない。

最終的に下記の情報で納得できました。

2024年4月15日 @kimipooh