What Goes Around Comes Around

One of the gripes that Linux-haters trumpet is that one needs to use typed commands and text files to do some things on the system. Well, M$ has done such a fine job of convincing IT people that a GUI is the way to go that folks in small businesses are having a devil of a time putting their thousands of e-mail addresses into M$’s cloud solution. At a time when skilled IT people are becoming scarce again and M$ wants to go “all-in”, they want ordinary folks to brush up on their shell scripting…
“Microsoft did not deny that it requires PowerShell to import addresses into the Global Address List. PowerShell is also required to create shared mailboxes for email aliases — which, for example, would let any employee respond from a generic address, such as “sales@company.com.””

Chuckle… After decades of telling people “GUI good, CLI bad“, M$ is having to tell the world they were just joking. I have worked for many years and oldman is the first person I have encountered who even knew PowerShell existed.

see Jon Brodkin, Network World- Microsoft’s Office 365 not ready to leave beta, analyst says

I must say typing and programming are two skills one should not be without. I remember being at a place that switched from something to 2000 Server and one poor sap had to sit in the server room for many hours entering account information into a GUI, multiple clicks and lots of typing for each account. A few years later when I was nearing the end of installing a complete new system for a school I had to create 700 accounts late one night. It took a few minutes to write a script and a few minutes to generate the accounts and I went home to sleep. Too bad M$’s loyal customers have been weaned off those skills so they can’t use M$’s next wonderful product… 😉

About Robert Pogson

I am a retired teacher in Canada. I taught in the subject areas where I have worked for almost forty years: maths, physics, chemistry and computers. I love hunting, fishing, picking berries and mushrooms, too.
This entry was posted in technology. Bookmark the permalink.

29 Responses to What Goes Around Comes Around

  1. oldman says:

    “OMG, registry cleaners are yet another burden that other OS places on users.”

    I believe that we have established that these have not really been necessary since windows 9x went obsolete 10 years ago.

    But then again Pog, since your regularly regale us with horror stories about obsolete versions of windows in an attempt to sell linux and linux only FOSS as a substitute, this kind of comment is only to be expected.

  2. JairJy says:

    Jason, on Windows, all the config files are stored on the hidden folder C:\User\Jason\Appdata, you can copy and migrate your configuration from one computer to another one.

    On Windows, if you want to reinstall it, you don’t need another partition for your personal files. Windows’ Installers allows to restore or install Windows without formatting, keeping your personal files ssfe.

  3. Jason says:

    I think having config files hidden in your home directory is a great idea, if you have a separate home directory then you can format your root partition and reinstall your OS without even touching your personal config settings for all your programs, you can even take those config settings to another linux PC.

    And as I said before a messed up registry from simply installing and removing applications was the cause of many system hangs after boot during my vista days, I thinks its a massive design flaw to create a system where a third party application can effectively render your OS unbootable.

  4. Ray says:

    Personally, I believe registry cleaners to be a scam. They do absolutely nothing to speed up performance.

  5. OMG, registry cleaners are yet another burden that other OS places on users.

  6. JairJy says:

    OMG Robert, the report from Microsoft about the registry that you post was for Windows 98! Windows and its way to use the Registry has been changed since that. Windows Vista and 7 doesn’t have slowdown with a fragmented registry anymore. There is no need for a Registry cleaner.

    And what about your second link? Is just some compatibility check for a Registry cleaner, it just says that software is compatible with Windows 7.

    Here is the REAL response from Microsoft about Registry cleaners:
    “Some products available for free on the Internet suggest the registry needs regular maintenance or cleaning. Although a registry setting can become corrupt on occasion, in general, the registry is self-sufficient. If you decide to install a registry cleaner, be sure to research the product and only download and install programs from software publishers that you trust.”

  7. oldman says:

    “PC Cleaner is a registered partner of M$.”

    So what Pog!

  8. PC Cleaner is a registered partner of M$.

  9. Linux Apostate says:

    Oh, that’s classic. Ignore all of the argument that you can’t understand or answer, concentrate on the one point that you think you can answer, then fail even at that.

    That product catalogue is full of things that are not essential for using Windows. Games, for instance. Registry cleaners may be compatible with Windows but they are not required to use it. I have never needed one. They make exactly as much sense as a disk defragger for NTFS, and oh look, they’re “recommending” one of those too.

    Two can play at this silly game. Let’s have a look in the APT catalogue and see what we can learn about Linux from it. Oh look, there’s a program called “wine”, so I guess being able to run Windows software must be an essential feature on Linux, hmm?

  10. oldman says:

    “Good luck on the Other OS where the syntax of PowerShell Vista 7) is different from CMD (XP/Win2K) is different from DOS7.X (98/95).”


    Powershell 2.0 can be installed on windows XP and windows 2003 has the identical syntax to that on Vista, Windows7 windows 2008, etc. one can even execute old dos CLI if needed.

    It is almost humerous hearing this much pure ignorance spouted about powershell. As a long time *nix shell user and current powershell user I feel comfortable saying that bash is an antique ikn comparison:
    For instance consider the following script was used along with a powershell instance whose functionality was extended with vendor specific objects to allow me to create and customize over 120 virtual machines.

    # Script Name: buildenv.ps1
    # Creator: oldman
    # Creation Date: 11/3/10
    # Last Update: 12/4/10
    # What this script does: This script uses extracted information from the production environment as a template to build
    # servers with the same name, number of cpus, and memory footprint in the test environment. The disk size, OS type and number of network adapters and host are
    # fixed

    # start by importing build-template.csv into $templates
    $testvms = import-csv c:\data\scripts\build-template.csv
    # now we connect to target virtualcenter

    $vc = “its006-wvc-t.xxx.yyy”
    $vmHost = “its006c-esx-t.xxx.yyy”
    $pool = “vESXi”
    $datastore = “NEXGEN-DATA-001”
    $nexgen = Connect-VIServer $vc
    $node = 30
    $ipsubnet= “192.168.222”
    $mask = “”
    $gateway = “”

    # – we start by getting a reference to our template vm
    $testservertemplate = get-template “LinuxTest”

    # Now we set up an OS customization specification ojbect to associate with it.
    # the first time through you will need to do a new-oscustomizationspec

    #$testserverspec = New-OSCustomizationSpec -name foo -Type Persistent -OSType Linux -Domain “xxx.yyy” `
    # if the spec exists we can just reference – code needs cleanup
    $testserverspec = Get-OSCustomizationSpec -name foo

    foreach ($vm in $testvms)
    $vmname = $vm.name
    echo “” | out-host
    echo ” Creating vm $vmname” | Out-Host

    $ip = “$ipsubnet.$node”
    # now we modify the customizationspec with the proper IP information

    $xxx = $testserverspec | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode UseStaticIP -IpAddress $ip -SubnetMask $mask -DefaultGateway $gateway

    # create the vm using our template

    $newvm = New-VM -Name $vmname -Template $testservertemplate -OSCustomizationSpec $testserverspec -VMHost $vmHost -Datastore $datastore

    # Now set memory , cpu, and description as desired

    $modvm = Set-VM -vm $vmname -memorymb $vm.memorymb -numcpu $vm.numcpu -Description $vm.description

    echo “Memory $vm.memorymb, cpu $vm.numcpu, and description Updated” | out-host
    # now move vm into the desired resource pool

    $modvm = Move-VM -vm (get-vm $vmname) -Destination (get-resourcepool $pool)
    echo “Resource pool move complete” | out-host
    echo “done” | out-host
    $node += 1


    Note that there are no routines to parse text output for input to the next command in the script. the outputs are objects and the text needed is available as attributes of the object.

    Add to this the fact that powershell the commercial product of the evil empire, is FREE to use, as is the IDE development envioronmen/debugger that I used to develop this (Quest software PowerGUI).

    You might want to do a little research before speaking about what you don’t use.

  11. CheckIt is certified as “compatible” by M$. That does not sound like snake-oil.

  12. Linux Apostate says:

    It’s obvious that the basic idea of the registry was a good one – who wants all those INI files, or dot files in $HOME for that matter, each in their own proprietary format. It’s also obvious that early implementations weren’t as good as they should have been, at least in the Windows 98 era.

    But databases and filesystems can be designed so that fragmentation isn’t a big problem (Linux fans always claim that ext2/3/4 has that property). Clearly the registry was subsequently redesigned so that “cleaning” was not needed. That’s another advantage of a well-defined configuration database API – you can keep the API the same and change the implementation. (OO Programming 101?)

    Your second link is a product in an app catalogue, not a product endorsement. Unless you think Microsoft is also endorsing “Granny’s Garden” for Windows 7. (I remember that game on the BBC micro!)

  13. Yep. Allowing randomly installed applications to tweak system configuration is a recipe for disaster. One of the neat things about Debian GNU/Linux is that the packaging policy forbids one package from tweaking the configuration of another. That makes updates and installation/removal very reliable and simple.

  14. “It’s not unusual for one program to create 100 or more keys in the Registry, and Windows has plenty of keys of its own. The Registry ends up as a large set of files. That leaves you with a huge file filling system memory and as you install and uninstall applications the Registry becomes fragmented, and Windows slows down even more while it waits for keys to load. If you’re using an earlier version of Windows then cleaning out unnecessary Registry keys can boost performance.

    Never delete a Registry key unless you know what it does, and always take a backup of the key first, just in case. Rather than looking for old keys yourself, download a Registry cleaner like the excellent, free RegCleaner (www.macecraft.com). This shows you orphan files and software that has keys in the Registry, so you can delete all the keys for packages you’ve uninstalled. In Windows 98 you can compress the Registry afterwards. Restart in MS-DOS mode and run SCANREG /OPT to remove unused space and shrink the files. Spend half an hour spring cleaning your Registry and your whole PC will feel the benefit.”

    see http://support.microsoft.com/kb/835818

    M$, who created the OS knows best how to keep that OS running… That advice was for Lose ’98 and they still recommend use of a registry cleaner.

    “Optimize your PC for top performance!Dramatically increase your PC’s speed and overall performance by repairing bad registry entries.Be amazed how much faster your computer will be after running CheckIt Registry Cleaner! “ That’s right off M$’s site…

  15. Jason says:

    I agree with Robert, that mess called the windows registry was the cause of many system problems during my vista days, I’m glad linux has nothing like that.

  16. Linux Apostate says:

    I never needed a registry cleaner. They are snake oil.

    A configuration database with a standard format is a good idea, as I have explained at length. The GNOME developers obviously followed similar reasoning.

  17. The registry is one of the top few reasons to lose that other OS. How many registry cleaners are on the market, showing the fragility of that system, a single point of failure with multiple APIs?

  18. Linux Apostate says:

    Configuration files on Linux are written in an application-specific format. There have been attempts to add a registry-like entity to fix this, but that’s only at the desktop level. It doesn’t apply to system-level files such as /etc/smb/samba.conf or /etc/ssh/sshd.conf (and, in the case of Gconf, is specific to GNOME).

    For a developer, and if you are a real developer as opposed to a script hacker you will understand this, there are two big difficulties for writing a GUI configurator.

    1. You have a “proprietary” format, specific to one application, which the GUI configurator must be able to read and write in the same way as the application even as features are added and removed. The format may not be completely documented, and though you can get the source code that reads it, there may not be any source code that writes it. Your GUI will probably only be able to correctly read and write a subset of all possible configuration files. This is a problem.

    2. How will the GUI configurator validate a particular configuration? Again there is no standard. Samba used to provide a “testparm” program to do this; other services have no equivalent.

    The commercial software approach is to have close communication between the people who write the GUI and the people who write the service. Vertical integration! If the two teams are not already the same people, then they must at least agree on a common specification for the configuration database, and common API for reading, writing, and validating configurations.

    This is possible on Linux, and it seems to have happened with Wifi since I upgraded to Debian 6.0. Now I can’t just hack around with the Wifi configuration files; they’re part of Gconf and there is harmony between the Wifi drivers, the Wifi services and the GUI configurator. Result: Wifi just works, Linux user is happy.

    But this is atypical. Configurators are usually written as part of the desktop environment, or as part of the distribution, and hence are only able to work with a subset of features.

    In conclusion, it is actually a disadvantage to have multiple ways to edit configuration files. It does not matter that configuration files may be text as opposed to binary data – they are still difficult to read, write and validate. When Linux adopts the commercial software approach of vertical integration with configuration data stored in a registry, as for Wifi, the result works much better than the old ad-hoc system.

  19. oe says:

    “The free software world has provided both CLI and graphical interfaces to manipulate human readable text configuration files.”…well said. It’s nice when you can pick among 3-4, (or more) GUI front ends, use vi/emacs in interactive text window, or even bash script the manipulations. Having raw access also allows for very concise “how-to’s” with the ability to cut and paste bash fragments from help pages, rather than following 10 pages of click-thoughs, one can see, in perhaps 1/2 a webpage, the entirety of the changes. Good luck on the Other OS where the syntax of PowerShell Vista 7) is different from CMD (XP/Win2K) is different from DOS7.X (98/95).

  20. Ha! Where I worked last year we had a hundred users of GNU/Linux and I and a few students taking technical course were the only ones using CLI.

  21. twitter says:

    Interfaces matter less than intent but Microsoft’s desire to keep users helpless and divided generally results in GUI tools that mysteriously manipulate binary files. The free software world has provided both CLI and graphical interfaces to manipulate human readable text configuration files. Claims of “you have to use a cli and archaic text editors” are FUD left over from the late 90s. A freedom respecting system will honor user’s intentions and modifications to their configuration while also providing sane defaults and simple, automated configurations. GNU/Linux systems have done this. The proof is that gnu/linux has been easier to install and run than that other OS for most of prior decade. Anyone can try it for themselves.

    I often use bash to do ordinary tasks because it is faster than a gui. It’s a lot faster to tab complete the name of a graphical program than it is to dig through a menu, for example. There are countless utilities that do with a few keystrokes what takes many button strokes with a GUI, even if they are just a right click away in my file browser.

    From what I’ve read, power shell is a damp squib. In first place, any Windows system is a jumbled mess of ill file names and “c:\” syntax. Even if you were to have a bash, to make it really useful, you have to download and install all of the tools that come with any gnu/linux system. This can be done but what a waste of effort that is. Windows lack of freedom has this practical downside that can’t be overcome in any way other than making Windows free software so that people could fix it and make decent software distributions with it. Microsoft’s promotion of power shell is just their usual false marketing. It reminds me of their infamous Korn shell promotion. As a bonus, Korn talks about the Unix way of doing things and how GUI programs can work with that.

  22. The Other Dave says:

    Actually the biggest complaint us Linux haters have is zealots who post opinions on their blogs and pretend that their opinions are facts.


  23. Richard Chapman says:

    There they go again. Talking like they are the mouthpiece for the poor old Linux user. No thank you Linux-haters. You are not a mouth piece for me. I do not need the CLI in my daily use of GNU/Linux. It’s there if I want it but the GUI is more than adequate for my needs.

  24. Ray says:

    It still stands true for ordinary users. Most IT people need to have an command line experience.

  25. Jason says:

    JairJy You haven’t used Linux for a while have you, either that or you just don’t know how to use it, you don’t need to use CLI to edit config files.

    Example… press alt F2 then type sudo gedit “location of file” then press enter and enter your password at the prompt, no CLI needed.

  26. JairJy says:

    You’re wrong. What the Linux Haters are saying is that the desktop users shouldn’t have to use the CLI at all. PowerShell is for server administrators but for desktop users there isn’t need to use it.

    On Linux almost every user must use the CLI and edit text configuration files for some trivial stuff like configuring the touchpad or mounting disc images.

  27. Many businesses and individuals have no clue about PowerShell. Yet, M$ requires that to import e-mail lists…

  28. Contrarian says:

    “Well, M$ has done such a fine job of convincing IT people that a GUI is the way to go that folks in small businesses are having a devil of a time putting their thousands of e-mail addresses into M$’s cloud solution.”

    I don’t think that MS has done much along the lines of convincing IT admins to use GUI methods exclusively or even most of the time. PowerShell is evidence of the complete opposite intent.

    The end user is pretty much focused on GUI methods, though. That is perhaps why people suggest that Linux is hard to install or use since CLI is such an important part of Linux admin. Ubuntu, I have seen, is not that way and that is perhaps why it has gained so much popularity among those who do use Linux on the desktop.

Leave a Reply