第1回モダンなFortranワークショップ 発表スライド
発表資料のスライドが見られます。動画も後で上がるようです。
今号も文系記事はつまらない話ばかりでしたが、『「敵国研究」の原点に戻ったロシア研究』だけは興味あるものでした。
対象物に寄り添うのではなく、どこか白けた突き放した態度をとるのが正しい在り方だと思います。
巻頭の米外交についての寝言は、トランプ・ブッシュの悪口を並べて妙に米民主党内の似非ヨーロッパ人気取りに寄り添った口吻で草生えました。
若者の製造業離れが著しいアメリカで絶不調のボーイング社開発のトラブル続きの有人宇宙船スターライナーが、怪音を発していたようです。
SF なら宇宙指令 M774 みたいな暗号のはずですがw
昔の X-Files の最初の方にウルトラQの「宇宙指令 M774」そっくりの話があった記憶があるのですが、植え付けられた偽の記憶かもしれないですw
お盆の暑い頃に涼を求めて本屋に入ったけれど、適当に涼んだ後で何も買わずに出るのも申し訳ないと思ってジェイミー・バーレット著「操られる民主主義」という本を買って出ました。原著も訳本も2018年出版の内容的にやや古い本ですが、予想が当たったか外れたか答え合わせしながら読めます。雰囲気としては、共和政ローマから帝政ローマの移行期、パンと見せ物を供するのが支配者の義務になろうとする頃を彷彿させられ、その風潮に警鐘を鳴らしている感じです。あるいはキリスト教国化してゆくローマ帝国末期に、昔風の徳目を良しとして嘆く貴族かw
出版時はまだ生成 AI の勃興前ですが、すでに頭の切れる成功者としてサム・アルトマンも登場しています。ベーシック・インカムを推しているようでしたが、最近同氏がベーシック・インカムは機能しないと実験から結論付けたというニュースが流れてきたのを思い出します。
またヴァンス副大統領候補が、シリコンバレーの脳天気な楽観的進歩主義にイラついていた 2017 年のコラムも思い出されます。
2年間、私はシリコンバレーに住んでいて、他の高学歴で完璧な生活を送っているように見える移住者たちに囲まれていました。自分の人生がどんどん良くなると皆が信じている世界に住むのは、状況が悪化していると正当に信じている人々が多くいる世界から来た私にとっては不快でした。そして、この楽観主義がシリコンバレーの多くの人々を、他の地域で直面している現実の苦悩に対して盲目にしているのではないかと疑っていました。そこで、私は故郷であるオハイオに帰ることを決めました。
終末論的なスチーブ・バノンといい、トランプは暗い思想の人間を連れてくるのがやばいw 能天気な楽観物質主義 vs アメリカン・ネオゴシックの戦いか。
C 言語凋落傾向。
import numpy as np import matplotlib.pyplot as plt # Rank and ratings data for top 50 programming languages rank = np.arange(1, 51) ratings = np.array([ 20.17, 10.75, 9.45, 8.89, 6.08, 3.92, 2.70, 2.35, 1.94, 1.78, 1.77, 1.47, 1.46, 1.32, 1.20, 1.13, 1.11, 1.10, 1.09, 1.08, 0.99, 0.92, 0.79, 0.76, 0.72, 0.71, 0.71, 0.64, 0.63, 0.61, 0.51, 0.49, 0.46, 0.46, 0.45, 0.37, 0.36, 0.34, 0.32, 0.26, 0.25, 0.22, 0.20, 0.20, 0.17, 0.17, 0.17, 0.16, 0.15, 0.15 ]) # Updated language names for each rank from TIOBE index languages = [ 'Python', 'C++', 'Java', 'C', 'C#', 'JavaScript', 'Visual Basic', 'Go', 'SQL', 'Fortran', 'Delphi/Object Pascal', 'MATLAB', 'PHP', 'Rust', 'R', 'Ruby', 'Scratch', 'Kotlin', 'COBOL', 'Swift', 'Assembly language', 'Classic Visual Basic', 'SAS', 'Prolog', 'Lisp', 'Ada', 'Perl', 'Haskell', '(Visual) FoxPro', 'Dart', 'Julia', 'Objective-C', 'Lua', 'Transact-SQL', 'Scala', 'D', 'VBScript', 'ABAP', 'PL/SQL', 'Solidity', 'TypeScript', 'GAMS', 'PowerShell', 'Awk', 'Elixir', 'F#', 'RPG', 'ML', 'Logo', 'Ladder Logic' ] # Create a log-log plot plt.figure(figsize=(14, 8)) # Adjust the figure size for better clarity plt.loglog(rank, ratings, marker='o', linestyle='-', color='b') # Set the x-axis to show programming language names plt.xticks(rank, languages, rotation=90) # Rotate language names for better readability # Set plot title and labels plt.title('TIOBE Index: Programming Language vs Rating (Log-Log Scale)', fontsize=14) plt.xlabel('Programming Language', fontsize=12) plt.ylabel('Rating (%)', fontsize=12) # Enable grid for better visualization plt.grid(True, which="both", ls="--", linewidth=0.7) # Adjust layout to prevent overlap plt.tight_layout() # Display the plot plt.show()
昼に暑くて死にそうなので YouTube を眺めていたところ、動画一覧に x! / 6! = 7! という問題が出てきました。 これが本当に成り立つなら、素数の 11 が出る 11! より小さいし、6! の中に 5 が入っているので 10 以上でしかありえないなと思って、6・5・4・3・2=5*2・3*3・4*2=10・9・8と脳内で並べ替えてそこで満足して動画は見なかったのですが、涼しくなった夜にあらためて計算してみると、10!=3628800, 6!=720, 7! = 5040, 720*5040=3628800 と確かに 10!= 6!*7! となりました。
階乗なんてこれまで何度も計算していたのに、この発想は自分には無くてメモりたくなりました。
角運動量の合成で選択則的にはアリなのに計算すると 0 になる場合とかに関係していたのではないかとか妄想が広がります。
AI 様に書いていただいた後、修正を少し加えました。
program DynamicPlaySoundExample use, intrinsic :: iso_c_binding implicit none ! Define the external Windows API functions interface function LoadLibrary(lpLibFileName) bind(C, name="LoadLibraryA") use, intrinsic :: iso_c_binding character(kind=c_char, len=1), dimension(*) :: lpLibFileName type(c_ptr) :: LoadLibrary end function LoadLibrary function GetProcAddress(hModule, lpProcName) bind(C, name="GetProcAddress") use, intrinsic :: iso_c_binding type(c_ptr), value :: hModule character(kind=c_char, len=1), dimension(*) :: lpProcName type(c_ptr) :: GetProcAddress end function GetProcAddress subroutine FreeLibrary(hModule) bind(C, name="FreeLibrary") use, intrinsic :: iso_c_binding type(c_ptr), value :: hModule end subroutine FreeLibrary end interface ! Define the PlaySound function type interface subroutine PlaySound(lpSound, hModule, dwFlags) bind(C) use, intrinsic :: iso_c_binding character(kind=c_char, len=1), dimension(*) :: lpSound integer(c_int), value :: hModule integer(c_int), value :: dwFlags end subroutine PlaySound end interface ! Constants for PlaySound function integer, parameter :: SND_FILENAME = 1 integer, parameter :: SND_ASYNC = 1 ! Variables for dynamic loading type(c_ptr) :: hWinmm, PlaySoundAddr procedure(PlaySound), pointer :: PlaySoundPtr ! Path to the WAV file character(len=:), allocatable :: wavFile character(kind=c_char, len=:), allocatable :: libName, funcName, c_wavfile ! Initialize variables libName = 'winmm.dll' // c_null_char funcName = 'PlaySoundA' // c_null_char wavFile = "C:\test_audio.wav" ! Change this path to your WAV file location c_wavFile = trim(adjustl(wavFile)) // c_null_char ! Load winmm.dll hWinmm = LoadLibrary(libName) if (.not. c_associated(hWinmm)) then print *, 'Failed to load winmm.dll' error stop end if ! Get the address of PlaySound function PlaySoundAddr = GetProcAddress(hWinmm, funcName) if (.not. c_associated(PlaySoundAddr)) then print *, 'Failed to get address of PlaySoundA' call FreeLibrary(hWinmm) error stop end if call c_f_pointer(PlaySoundAddr, PlaySoundPtr) ! Call PlaySound function to play the WAV file call PlaySoundPtr(c_wavFile, 0, SND_FILENAME + SND_ASYNC) ! Free the library call FreeLibrary(hWinmm) end program DynamicPlaySoundExample
ちょっと前に夕涼みをしていた時に、ちょうど国際宇宙ステーションが見えたのでさそり座の近くに来たところで写真を撮りました。手すりに載っけた iphone 13 mini 3秒撮影ですw 宇宙ステーションの日本の実験棟にちなんだ「きぼうを見よう」のサイトで宇宙ステーションの見える日時がわかります。
肉眼では街の明かりでモヤっていてよく見えませんでしたが、写真ではさそり座全体が写っていて、しかもアンタレスが妙に赤くなっていて iphone が勝手に色付けしたのではと疑ってしまいます。(なお画質調整で全体暗くしました。)さそり座は写真下部に位置しています。宇宙ステーションは、真ん中あたりの潰れた明るい奴です。−2 等くらいあるのではないかと思います。