Monthly Archives: April 2013

The never ending (opportunity to excel) of Windows


So here I am back in the world of Windows full time again. Win7 to be exact.  And I’ve learned a bunch of peachy-keen stuff about Windows that I never knew before, as well as confirming things I’d forgotten. Some is new with Win7 Some shows that my beard and smug expression mark me as a *x user (Star-x, splat-x, wild-card-x: Linux, Unix, FreeBSD: things that work like Unix. As Porco says, “Pig, chicken, what’s the difference?”)

First and most important, Windows is not Unix, doesn’t work like Unix, isn’t trying to be Unix. If you insist on using it like Unix you’ll be doomed to disappointment. You won’t enjoy what it does well. It will defy you and fail to meet your expectations. So forget about Unix and stuff based on it.

Probably most important, in Unix everything is a file and data in a file is something there are many ways of getting at, using, understanding, etc. There’s a panoply of command line instructions in any text window that can be strung together to get data out of files, display it, aggregate it, average it, do all sorts of things with it, including writing it out into files. Its a giant tinkertoy set. Plug stuff together, try it, see if you like it, change it, try again.

Unix is completely honest, it won’t forgive you any mistakes. Delete something and its gone. Open a new file with the name of an old one and the old one is quietly removed.

So lets talk about Win7. If you’ve been running WinXP for the last 10+ years, you’ll see mostly familiar things, but there’s new puzzles on top of the old.

1) Windows default, like the Mac default, is to not show file extensions. No .txt, .doc, .xls and so forth. Boo! As a totally committed nerd, I treasure my extensions, I know what they mean and I consider them part of the file name. I wouldn’t consider Blah, Blah, Blah and Blah to be half as useful as Blah.txt, Blah.jpg, Blah.cpp, and Blah.sh. Each of those extensions means something specific about the file, and distinguishes it from Blah.doc, Blah.png, Blah.java, and Blah.bat.

So the first thing you need to do is get file extensions displayed: Open a Windows Explorer (ie GUI window). In the menu bar directly above the window contents, on the left, you get a choice of “Organize v”, “[] Open”, “Burn”, and “New folder”. There’s more on the right side but its not important right now. Left click on “Organize v” and you’ll get a menu of pretty standard editing commands, (cut, copy, paste, undo, redo; Select all; Layout >, Folder and search options, Delete, Rename, Remove Properties, Properties, and Close. Note that the little black triangle in “Organize v” has the same meaning as the little black triangle in “Layout >”. It means there’s a further menu. You’ve also noted that “Folder and search options” is what distinguishes “Organize v” from something you’d expect to be called “Edit / Files”.

Select “Folder and search options” and you’ll get a window named “Folder Options”, with three tabs: “General”, “View” and “Search”. We’re heading for the View tab. Under View, in a box labeled “Advanced Settings” are two ‘folder’ icons associated with radio-button choices between two described courses of action, and a list of characteristics with a check box to the left of each. In particular, you’ll want to UNCHECK

“Hide extensions for known file types”.

You’ll also want to change the folder “Hidden files and folders” to the “(o) Show hidden files, folders and drives” radio button.

My personal belief is that you’d do better if you also unchecked

“Hide protected operating system files (Recommended)” and

“Hide empty drives in the Computer folder”

Click on “[ Apply ]” at the bottom of the window. Then “[ OK ]”, which means ‘Close’.

In that same GUI window you opened, go to Computer – Local Disk (C:). Now there’s a bunch more content shown, because $Recycle.Bin, Config.Msi, MSOCache, ProgramData, Recovery and System Volume Information are all visible.

But you’re not out of the woods yet. \AppData is a very important folder where apps put stuff they think you’ll care about. Its in C:\Users\yourNameHere\AppData. The folder is invisible until you tell the GUI Folder and Search Options to stop hiding it. But you still can’t see it in a Command window. To see it there, you have to use “dir /a” possibly other variations as well, I’m not an expert. But “dir /a”
will find AppData. It will also find NTUSER.* files that the GUI doesn’t display.

You’re going to want to know how to see this stuff from Command windows, because the GUI will show you “Junctions” (ie symbolic links) in a directory, once you tell it to stop hiding things, but you can’t click into them and have the click follow the link to wherever it points. Nor can you see where it points from the GUI. For that, you need the Command window and “dir /a”

One other gift in Windows 7 is the Library concept, for computers which are shared by multiple users. The Windows 7 Library views gather multiple physical directories and make them visible in one virtual directory called a Library. There is no physical object containing Junctions to the files, or at least I haven’t found it yet. But there is a control in each Library to aggregate two or more directories into a Library view. So, for example, you get a Documents Library which consists of the contents of C:\Users\YourNameHere\Documents and C:\Users\Public\Documents.

So the Operating System which has C:\Windows, C:\Program Files and C:\Program Files (x86) now also has C:\Users\Public\Documents, Downloads, Music, Pictures, Recorded TV and Videos, as places to hide executables or parts of executables. Along with C:\Documents and Settings, which has a Junction to C:\Users….

2) Windows has 2 mouse buttons, so things that Macs might do with a Command, Control, Shift or Option-click, may simply be waiting for you to hit the right hand button on the mouse or pad. Its all good – spelling corrections are there, for example. Click on ‘WinXP’ which is underlined in red, above, and Windows 7 suggests “Wimp” and “WinPE”. Seriously. “WinXP” is a typo, “WinPE” isn’t. (show of hands: How many of you know what WinPE *is*?) Add “WinXP” to the dictionary, there, with the right button.

3) “dir” in Command: is not the same as “ls” in sh or BASH. For one thing, dir takes the path and THEN the switches. Delimited by forward slashes. Vice ls which gets dash delimited switches before the path.

But wait, there’s more! ls (return) gives the current directory contents. So does dir (return). ls * gives the contents of the level below the current, while dir * gives the current level again. Dir has no syntax for adding a wild-card to the end of a path and looking into the contents of directories without knowing their names. You musk specify the name, unless you use /s, which causes the specified directory and ALL SUBDIRECTORIES to be displayed. So there simply is no way to say ls */*, you have to Dir and Dir the subdirectories, (or use a foreach dir in a command window, or learn PowerShell.)

So there’s some steps to you can take to see your account and directory, but unless you load Cygwin, you’re not going to see *x type behavior. Embrace the change.

Bill

Advertisements