<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:142624954;
        mso-list-type:hybrid;
        mso-list-template-ids:-1492626460 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-bidi-font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-bidi-font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-bidi-font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-bidi-font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-bidi-font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Pedro,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m the maintainer of those chocolatey packages.</p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>First, I have to subscribe to a newsletter? Really? I guess this is entirely optional, but the instructions don't make it sound so. </li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Step 1 is completely optional and you don’t have to subscribe to any news letter.</p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Then I have to know what powershell.exe is, use an administrative prompt, and enter scary commands in it.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Powershell has been the standard shell in Windows for well over the past decade. Every single script from Microsoft or third parties come with powershell for automation.</p><p class=MsoNormal>It’s understandable that you may not know it since your primary platform isn’t Windows. But it’s been included in every single Windows version for the past 13 years.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>An administrative prompt is nothing different than running sudo or clicking on that installer that you *<b>assumed</b>* not to be scary because you didn’t see the actions it was performing.</p><p class=MsoNormal>That scary looking command is nothing but a curl command allowing the one time execution of a script from a remote source. As in a script that’s not physically on your machine.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So what exactly makes this scary? Is it because</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('<a href="https://chocolatey.org/install.ps1" target="_blank">https://chocolatey.org/install.ps1</a>'))<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Is more verbose than<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><pre><code>curl -sSL https://path.to.some.script/ | sh</code></pre></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>or because the technologies used while completely standard on Windows aren’t known to the casual user?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal>Tamar</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:dreixel@gmail.com">José Pedro Magalhães</a><br><b>Sent: </b>Saturday, April 25, 2020 04:24<br><b>To: </b><a href="mailto:haskell-cafe@haskell.org">haskell</a><br><b>Subject: </b>[Haskell-cafe] When did it become so hard to install Haskell onWindows?</p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Hi,</p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I haven't used Haskell in my personal computer in a while. I decided to install it again. I used the Haskell Platform in the past, so I went for that again - and a quick Google search on "install haskell windows" brings up the HP page, so I thought I was on the right track.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>At the HP page for Windows, I'm greeted with this:</p></div><div><div><p class=MsoNormal><img border=0 width=451 height=542 style='width:4.6979in;height:5.6458in' id="Picture_x0020_3" src="cid:image003.png@01D61AE8.0E9F3CE0"></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>In the past I'd just download an installer which would take care of things - now it seems to be more complicated. But fine, I followed the link to configure Chocolatey. That's where it starts getting really scary:</p></div><div><div><p class=MsoNormal><img border=0 width=562 height=559 style='width:5.8541in;height:5.8229in' id="Picture_x0020_4" src="cid:image004.png@01D61AE8.0E9F3CE0"></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>First, I have to subscribe to a newsletter? Really? I guess this is entirely optional, but the instructions don't make it sound so. Then I have to know what powershell.exe is, use an administrative prompt, and enter scary commands in it.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I gave up at this stage. But going back to the HP page, it appears that even this wouldn't be enough, because I would still need to follow "the instructions at <a href="http://haskellstack.org">haskellstack.org</a> to install stack". The link to <a href="http://haskellstack.org">haskellstack.org</a> takes me to a <a href="https://docs.haskellstack.org/en/stable/README/">403 Forbidden</a>.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I honestly don't want this to sound like a rant. I genuinely would like to understand why this multi-step, multi-tool, multi-website process was introduced, how it is superior to a single installer, and whether this is really the process we want newcomers to the language have to follow.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks,</p></div></div><p class=MsoNormal>Pedro</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>