{"id":141,"date":"2007-06-11T17:35:29","date_gmt":"2007-06-12T01:35:29","guid":{"rendered":"http:\/\/testblog.sapien.com\/index.php\/2007\/06\/11\/why-i-hate-the-gui-and-cmdexe-part-iii\/"},"modified":"2007-06-11T17:35:29","modified_gmt":"2007-06-12T01:35:29","slug":"why-i-hate-the-gui-and-cmdexe-part-iii","status":"publish","type":"post","link":"https:\/\/dev.sapien.com\/blog\/2007\/06\/11\/why-i-hate-the-gui-and-cmdexe-part-iii\/","title":{"rendered":"Why I Hate the GUI (and Cmd.exe) (Part III)"},"content":{"rendered":"<p><a href=\"\/current\/2007\/5\/23\/why-i-hate-the-gui-part-i-1.html\">Part I<\/a>, <a href=\"\/current\/2007\/5\/23\/why-i-hate-the-gui-part-ii.html\">Part II<\/a><\/p>\n<p>Another reason I hate the GUI is because there&#8217;s no way to automate it. I don&#8217;t want to create one user, let alone two, by clicking checkboxes. I want some simple template that I can provide a few values &#8211; like username &#8211; for, and have it do it. That&#8217;s where scripts come in, but only because Windows provides no other means of doing it, really.<\/p>\n<p>Why is a GUI so horrible for this? Even with one user, it&#8217;s too easy to forget a particular checkbox, or make some other simple error. With a template &#8211; or a script &#8211; you don&#8217;t have to remember. When you&#8217;re creating a hundred users, forget about it &#8211; automation wins, hands-down, every time. <\/p>\n<p>The problem with VBScript, if it has one, is that it doesn&#8217;t really <em>do<\/em> anything. It&#8217;s just a means of accessing technologies like ADSI, WMI, and COM. That&#8217;s fine, except that every little bit of ADSI, WMI, and COM all <em>work differently. <\/em>So you&#8217;re constantly having to figure things out, and you&#8217;re constantly running up against things you &#8220;just can&#8217;t do,&#8221; because the people who built ADSI, WMI, and COM, never thought you&#8217;d need to do that.<\/p>\n<p>Here is the ultimate difference between Unix and Windows: Unix is an OS with a graphical environment that can lay on top of the OS. Windows is a graphical OS. Every bit of Windows&#8217; functionality is in the GUI, and the only scriptable or command-line functionality we get is what Microsoft thought we&#8217;d need, or what they could push out in a Resource Kit. Yuck. So we have this mishmash of tools &#8211; third party tools for this, Resource Kit tools for that, scripts for this other thing, on and on. It&#8217;s confusing, it&#8217;s inefficient, and it&#8217;s damn hard to learn. <em>That&#8217;s<\/em> why I utlimately hate the GUI &#8211; because it locks you into one way of working, doesn&#8217;t support automation, and it suppresses the creation of real administrative functionality like scripts or command-line.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part I, Part II Another reason I hate the GUI is because there&#8217;s no way to automate it. I don&#8217;t want to create one user, let alone two, by clicking checkboxes. I want some simple template that I can provide a few values &#8211; like username &#8211; for, and have it do it. That&#8217;s where [&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":[2],"tags":[],"class_list":["post-141","post","type-post","status-publish","format-standard","hentry","category-general"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/141","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=141"}],"version-history":[{"count":0,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/141\/revisions"}],"wp:attachment":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/media?parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/categories?post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/tags?post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}