import%20marimo%0A%0A__generated_with%20%3D%20%220.23.8%22%0Aapp%20%3D%20marimo.App(%0A%20%20%20%20width%3D%22medium%22%2C%0A%20%20%20%20layout_file%3D%22data%3Aapplication%2Fjson%3Bbase64%2CewogICJ0eXBlIjogInNsaWRlcyIsCiAgImRhdGEiOiB7CiAgICAiY2VsbHMiOiBbCiAgICAgIHt9LAogICAgICB7fSwKICAgICAge30sCiAgICAgIHt9LAogICAgICB7fSwKICAgICAge30sCiAgICAgIHt9LAogICAgICB7fQogICAgXSwKICAgICJkZWNrIjoge30KICB9Cn0%3D%22%2C%0A)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20return%20(mo%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Reusable%20Code%20for%20Reproducible%20Research%0A%20%20%20%20%23%23%23%20Why%20good%20software%20practice%20is%20of%20scientific%20importance%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20_dl_meme%20%3D%20mo.image(src%3D%22reproducible%2Fmemes%2FDL_can_do_anything.webp%22%2C%20width%3D340)%0A%20%20%20%20_class_meme%20%3D%20mo.image(src%3D%22reproducible%2Fmemes%2F99_class.webp%22%2C%20width%3D340)%0A%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%23%23%20Is%20Machine%20Learning%20a%20Pseudoscience%3F%0A%0A%20%20%20%20%3Cdiv%20style%3D%22display%3A%20flex%3B%20gap%3A%202rem%3B%20align-items%3A%20flex-start%3B%22%3E%0A%20%20%20%20%3Cdiv%20style%3D%22flex%3A%202%3B%22%3E%0A%0A%20%20%20%20Very%20debated%20question.%20Some%20arguments%20for%20are%3A%0A%20%20%20%20%3Cul%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EModels%20are%20usually%20judged%20on%20%3Cstrong%3Epredictive%20accuracy%3C%2Fstrong%3E%2C%20not%20on%20understanding%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3E%3Cstrong%3ELimited%20hypothesis%20testing%3C%2Fstrong%3E%20%E2%80%94%20the%20scientific%20method%20is%20largely%20skipped%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3E%3Cstrong%3ELimited%20uncertainty%20quantification%3C%2Fstrong%3E%20%E2%80%94%20confidence%20intervals%20are%20rarely%20reported%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3ECorrelation%20is%20routinely%20%3Cstrong%3Econfused%20with%20causation%3C%2Fstrong%3E%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EThe%20inner%20latent%20structure%20of%20models%20is%20ignored%3A%20the%20goal%20is%20a%20high%20score%2C%20not%20an%20explanation%3C%2Fli%3E%0A%20%20%20%20%3C%2Ful%3E%0A%0A%20%20%20%20%3Cblockquote%20class%3D%22fragment%22%3E%3Cem%3E%22If%20it%20works%2C%20it%20works%22%3C%2Fem%3E%20%E2%80%94%20without%20understanding%20why.%3C%2Fblockquote%3E%0A%0A%20%20%20%20%3Cp%20class%3D%22fragment%22%3EML%20is%20not%20necessarily%20a%20pseudoscience%20%E2%80%94%20but%20its%20current%20epistemology%20does%20not%20align%20well%20with%20the%20scientific%20method.%3C%2Fp%3E%0A%0A%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3Cdiv%20style%3D%22display%3A%20flex%3B%20flex-direction%3A%20row%3B%20align-items%3A%20flex-start%3B%20gap%3A%200.75rem%3B%20flex%3A%203%3B%22%3E%0A%20%20%20%20%7B_dl_meme%7D%0A%20%20%20%20%7B_class_meme%7D%0A%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20ML%20vs%20Physics%3A%20The%20Scientific%20Method%0A%0A%20%20%20%20%3Ctable%3E%0A%20%20%20%20%3Cthead%3E%3Ctr%3E%3Cth%3EStep%3C%2Fth%3E%3Cth%3EPhysics%3C%2Fth%3E%3Cth%3EMachine%20Learning%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%0A%20%20%20%20%3Ctbody%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cstrong%3E1.%20Research%20question%3C%2Fstrong%3E%3C%2Ftd%3E%3Ctd%3EWhat%20is%20the%20causal%20law%20governing%20this%20phenomenon%3F%3C%2Ftd%3E%3Ctd%3EWhat%20patterns%20are%20hidden%20in%20this%20dataset%3F%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cstrong%3E2.%20Hypothesis%3C%2Fstrong%3E%3C%2Ftd%3E%3Ctd%3EA%20falsifiable%20conjecture%20with%20testable%20predictions%3C%2Ftd%3E%3Ctd%3ERarely%20formulated%3B%20accuracy%20is%20the%20only%20target%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cstrong%3E3.%20Logical%20consequences%3C%2Fstrong%3E%3C%2Ftd%3E%3Ctd%3EDerived%20from%20theory%3B%20constrain%20what%20we%20expect%20to%20observe%3C%2Ftd%3E%3Ctd%3ESkipped%20%E2%80%94%20no%20hypothesis%20to%20derive%20from%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cstrong%3E4.%20Experiment%3C%2Fstrong%3E%3C%2Ftd%3E%3Ctd%3EDesigned%20to%20test%20the%20hypothesis%3C%2Ftd%3E%3Ctd%3ETraining%20a%20model%20on%20held-out%20data%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cstrong%3E5.%20Interpret%20%26amp%3B%20conclude%3C%2Fstrong%3E%3C%2Ftd%3E%3Ctd%3ERefine%20the%20causal%20model%3B%20report%20uncertainty%3C%2Ftd%3E%3Ctd%3EReport%20accuracy%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3C%2Ftbody%3E%0A%20%20%20%20%3C%2Ftable%3E%0A%0A%20%20%20%20%3Cp%20class%3D%22fragment%22%3EPhysics%20understands%20%3Cstrong%3Ewhy%3C%2Fstrong%3E.%20ML%20predicts%20%3Cstrong%3Ewhat%3C%2Fstrong%3E.%3C%2Fp%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20_meme%20%3D%20mo.image(src%3D%22reproducible%2Fmemes%2Fhow_to_confuse.jpg%22%2C%20width%3D320)%0A%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%23%23%20ML's%20one%20clear%20scientific%20advantage%3A%20reproducibility%0A%0A%20%20%20%20Other%20sciences%20struggle%20with%20the%20**reproducibility%20crisis**.%20ML%20experiments%20are%2C%20in%20principle%2C%20fully%20replicable%3A%0A%0A%20%20%20%20%3Cblockquote%20class%3D%22fragment%22%3E%3Cem%3EGiven%20the%20same%20data%20and%20the%20same%20method%2C%20anyone%20should%20obtain%20the%20same%20result.%3C%2Fem%3E%3C%2Fblockquote%3E%0A%0A%20%20%20%20%3Cdiv%20class%3D%22fragment%22%20style%3D%22display%3A%20flex%3B%20gap%3A%202rem%3B%20align-items%3A%20center%3B%22%3E%0A%20%20%20%20%3Cp%3E%3Cstrong%3EBut%20reproducibility%20is%20only%20as%20good%20as%20what%20you%20reproduce.%3C%2Fstrong%3E%3C%2Fp%3E%0A%20%20%20%20%7B_meme%7D%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cp%20class%3D%22fragment%22%3EReproducing%20a%20black-box%20result%20does%20not%20make%20it%20scientific.%3Cbr%3E%0A%20%20%20%20Reproducibility%20is%20the%20foundation%20%E2%80%94%20not%20the%20finish%20line.%3C%2Fp%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20The%20data-sharing%20bottleneck%0A%0A%20%20%20%20Same%20data%20is%20often%20not%20available%3A%0A%20%20%20%20%3Cul%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EPrivacy%20constraints%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EProprietary%20restrictions%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EPoor%20data%20quality%3C%2Fli%3E%0A%20%20%20%20%3C%2Ful%3E%0A%0A%20%20%20%20%3Cp%20class%3D%22fragment%22%3E%3Cstrong%3EWhen%20data%20cannot%20be%20shared%2C%20methodology%20must%20be.%3C%2Fstrong%3E%3C%2Fp%3E%0A%0A%20%20%20%20%3Cp%20class%3D%22fragment%22%3EThis%20is%20where%20Research%20Software%20Engineers%20are%20not%20just%20support%20staff%20%E2%80%94%20they%20are%20the%20guarantors%20of%20scientific%20integrity.%3C%2Fp%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20What%20reusable%20code%20actually%20enables%0A%0A%20%20%20%20%3Ctable%3E%0A%20%20%20%20%3Cthead%3E%3Ctr%3E%3Cth%3EPractice%3C%2Fth%3E%3Cth%3EScientific%20function%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%0A%20%20%20%20%3Ctbody%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3EModular%2C%20open-source%20code%3C%2Ftd%3E%3Ctd%3EPeers%20can%20inspect%20%3Cem%3Ehow%3C%2Fem%3E%20results%20were%20obtained%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3EReproducible%20environments%3C%2Ftd%3E%3Ctd%3EResults%20are%20not%20machine-%20or%20person-specific%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3EShared%20pipelines%3C%2Ftd%3E%3Ctd%3EHypothesis%20testing%20becomes%20possible%20by%20others%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3Ctr%3E%3Ctd%3ETransparent%20codebases%3C%2Ftd%3E%3Ctd%3EThe%20black%20box%20has%20a%20window%3C%2Ftd%3E%3C%2Ftr%3E%0A%20%20%20%20%3C%2Ftbody%3E%0A%20%20%20%20%3C%2Ftable%3E%0A%0A%20%20%20%20%3Cblockquote%20class%3D%22fragment%22%3EReplicable%20science%20in%20the%20AI%20era%20demands%20more%20than%20shared%20weights%20%E2%80%94%20it%20requires%20%3Cstrong%3Ereusable%2C%20maintainable%2C%20open-source%20software%3C%2Fstrong%3E.%3C%2Fblockquote%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20_meme%20%3D%20mo.image(src%3D%22reproducible%2Fmemes%2Fsoftware_engineer.jpg%22%2C%20width%3D400)%0A%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%23%23%20Take-home%20message%0A%0A%20%20%20%20ML's%20predictive%20power%20is%20real.%20Its%20scientific%20rigour%20is%20not%20%E2%80%94%20yet.%0A%0A%20%20%20%20The%20gap%20between%20the%20two%20is%20partly%20**a%20software%20problem**%3A%0A%20%20%20%20%3Cul%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EClosed%2C%20unreusable%20code%20makes%20peer%20verification%20impossible%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EWithout%20verification%2C%20reproducibility%20is%20a%20claim%2C%20not%20a%20fact%3C%2Fli%3E%0A%20%20%20%20%3Cli%20class%3D%22fragment%22%3EWithout%20reproducibility%2C%20ML%20cannot%20mature%20into%20a%20rigorous%20science%3C%2Fli%3E%0A%20%20%20%20%3C%2Ful%3E%0A%0A%20%20%20%20%3Cdiv%20class%3D%22fragment%22%20style%3D%22display%3A%20flex%3B%20gap%3A%202rem%3B%20align-items%3A%20center%3B%22%3E%0A%20%20%20%20%3Cp%3E%3Cstrong%3ERSEs%20who%20build%20transparent%2C%20reusable%20codebases%20are%20doing%20scientific%20work%20%E2%80%94%20not%20just%20engineering%20work.%3C%2Fstrong%3E%3C%2Fp%3E%0A%20%20%20%20%7B_meme%7D%0A%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
10034db13d494eb0afa080ce8d48ebe9