{"id":140,"date":"2007-05-28T17:35:23","date_gmt":"2007-05-29T01:35:23","guid":{"rendered":"http:\/\/testblog.sapien.com\/index.php\/2007\/05\/28\/why-i-hate-the-gui-part-i\/"},"modified":"2007-05-28T17:35:23","modified_gmt":"2007-05-29T01:35:23","slug":"why-i-hate-the-gui-part-i","status":"publish","type":"post","link":"https:\/\/dev.sapien.com\/blog\/2007\/05\/28\/why-i-hate-the-gui-part-i\/","title":{"rendered":"Why I Hate the GUI (Part I)"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>You know, this whole &#8220;why do we need a shell [meaning PowerShell] when we have a perfectly good GUI?&#8221; is a sentiment I really have trouble understanding. Literally &#8211; I can&#8217;t wrap my head around the premise. I guess that&#8217;s because I started with computers back in the MS-DOS days, when the command-line was all we had. Even when Windows 3.0 (the version version I installed) shipped, I was constantly dropping down to DOS &#8211; the <em>real<\/em> OS &#8211; to tweak Config.sys and AutoExec.bat. I&#8217;ve always felt that the GUI was a layer <em>between<\/em> me and the operating system. <\/p>\n<p>I&#8217;ll give you a perfect example: In Windows NT 3.51, you could open the Server Manager application, click on a server, and get a list of open resources. Now, scrolling through a dialog box full of open resources is no fun, but it was the only way to find out who had a given file open at a particular time. Then I discovered VBScript, and I wrote a script which did essentially the same thing, only much faster. And with less boredom. And with fewer mistakes &#8211; in a list of thousands of entries, it&#8217;s easy to miss the one you were looking for. Yay, scripting! Which, really, was getting &#8220;under&#8221; the GUI. <\/p>\n<p>With PowerShell, it&#8217;s even easier. I might have a cmdlet called Get-Resources and write something like this:<\/p>\n<pre>Get-Resource | Where {$_.Path = &quot;c:\\file&quot;} | select username<\/pre>\n<p>Easy, easy! Of course, this doesn&#8217;t really work &#8211; I haven&#8217;t written a Get-Resource cmdlet, yet (hmm&#8230;). The point is that this simple command (and okay, maybe it&#8217;s blurring the line between a shell and scripting, but any Unix admin would call this a &#8220;command&#8221;) replaces dozens of lines of VBScript and replaces hours of my life spent scrolling through lists. I hated that GUI. And <em>that<\/em> is why PowerShell is so important to me.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; You know, this whole &#8220;why do we need a shell [meaning PowerShell] when we have a perfectly good GUI?&#8221; is a sentiment I really have trouble understanding. Literally &#8211; I can&#8217;t wrap my head around the premise. I guess that&#8217;s because I started with computers back in the MS-DOS days, when the command-line was [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[17,2],"tags":[],"class_list":["post-140","post","type-post","status-publish","format-standard","hentry","category-20000-feet","category-general"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/comments?post=140"}],"version-history":[{"count":0,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/140\/revisions"}],"wp:attachment":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/media?parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/categories?post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/tags?post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}