Customizing Windows 7 Save/Open Dialog Sidebar Links

I just installed an extremely useful utility which was mentioned in a thread over at the excellent site.  It allows you to change the default links which show up in the left sidebar in the Open and Save dialog windows.  By default, the left sidebar for Open and Save dialogs contains the following five links:

Recent Places

What is annoying about this is the conspicuous lack of a link for the most obvious place that anyone would want to save to or open an item from: their My Documents folder.  Another obvious one would have been the user’s home folder (one directory above the My Documents folder), which contains the My Music, My Pictures, My Videos and other folders.

This problem is solved with the following utility: Simpli Software’s Places Utility.  With it, you can customize the 5 slots which occupy the left sidebar with whatever links you want.  One trick I will mention that is necessary for getting it to work is that the utility must be run as Administrator.  Even if your regular user has administrative privileges, it is not enough to make the changes to the system.  You must right-click on the utility’s icon and select “Run as Administrator” to run it.

95th percentile calculation with RRDtool

I’ve managed to come up with some useful scripts using RRDtool to pull data out of round-robin archives (rra’s) and to compute 95th percentile.  RRDtool is used as the database backend for multiple monitoring tools such as Cacti, Torrus, Zenoss, and MRTG (as option).

In working this out I utilized the benefit of having my own Cacti deployment handy so that I could compare syntax against Cacti’s own RRDtool queries.  Cacti is an excellent tool because it essentially provides a nice frontend for setting up the necessary SNMP polls to devices that create the rra’s in RRDtool which contain all the data points from the SNMP polls.  It then uses RRDtool queries to extract and process various data and to graph it.  It does a nice job of this without adding a layer of obfuscation on top of RRDtool and is extremely perspicacious, allowing you to see exactly what commands its running via its graphical web interface.

Extracting Data Points

Using the rrdtool xport command you can pull data points from an rra into XML format like so:

The output of this will look like the following:

What I want to do now is actually just extract the raw data set from this query and present it in a clean form.  This data can later be processed further, for example it can be output into csv format for processing somewhere else (might be useful if you are working on billing calculation methods for example).

To do this I only need two other tools, grep and the GNU version of awk, gawk:

The actual data points are contained in the lines embedded between the <row>  </row> tags.  I use grep to filter out entries with NaN values, which are data points which for one reason or another are empty (usually because the SNMP poll to the device did not return a result).  I then use grep to select only the lines with <row>.  This filters out all the XML header info at the top.

After grepping, the output will look like:

Next, I use gawk and specify the field delimiter as the brackets for XML tags using the regex  <[^>]*>
Finally, I print the fields in question (in this case fields 3, 5, 7, and 9, the other fields are various other non-data characters in the row.  If you are using a different rrdtool query with different CDEF’s or XPORT statements the fields may be different.)

Finally, I use some gawk magic to change the format of the first column of data, which is the epoch date (date given in number of seconds since 1 January 1970) to a more readable date.  Note that I chose a date format (using the strftime function)  which is still able to be sorted numerically (this would not be the case if for example the format was Jan 1, 1970 12:00).

The output will now look like:

With the preceding output it is now trivial to use the cut command or some more awk to extract fields, or use the sort command to sort by certain columns.  For example:

will sort by column 3 in descending order.

95th Percentile Calculation

Here I am going to use rrdtool graph to output the 95th percentile calculation.  Without going into detail about how to define the necessary CDEF and VDEF statements (you can read in detail about these here), the following is the command I used:

The output will look like:

Even though this uses the rrdtool graph command the output is to the console only. It is necessary to use the rrdtool graph command because you cannot specify a VDEF with rrdtool xport.

The Coming Big Change to the Internet

There is a big change coming to the Internet which has the potential to radically shift the nature of the Internet itself and how all of the nodes which participate in it collectively will be able to interact. If we were smart, we should be pushing for this change to occur, because the shift is so significant it has the possibility to open up completely new realms of informational hierarchic interchange and organization.

The change has sweeping implications not just technologically, but also socially and certainly politically as well.

The present way the Internet works is that there are essentially two separate classes of nodes which participate on the Internet – servers and regular users. One fundamental difference between the two is that servers are addressable machines which have public addresses that can be accessed by all other systems, whereas most regular user’s machines sit behind routing devices which essentially buffer their computers from the public space, on the one hand potentially protecting them from attack, but also cutting them off from public accessibility.

This problem with regular Internet users’ systems is exacerbated by the fact that Internet service providers typically do not provide permanent addresses to home accounts. Imagine how it would be in the real world if only certain organizations had the privilege of a thing called a mailing address, and everyone else had to use collective addresses that did not belong to just their own residence, but possibly to pools of many residences. And imagine if the home users’ addresses were not even allowed to stay the same, but changed periodically, often at least once every 24 hours. It would be insane, would it not?

The fundamental problem is that there are privileged nodes on the Internet – such as the big sites Google, Yahoo, Craigslist, Facebook, etc. – and unprivileged ones, such as (more than likely) yours and mine.  Private organizations invest hundreds of millions of dollars on infrastructure designed to capitalize on cornering niches of routine Internet usage and functionality.

For example, to have the “privilege” of having an actual permanent address for your computer, Internet service providers charge extra money. And even when you have such an address, you must go through still more hoops if you want the privilege to participate as an equal peer amongst other servers.

As another example, your computer and mine cannot actually participate as equal peers in the sending of email (via the SMTP protocol) via the Internet because, due to security fears and other issues, only privileged systems are designated as being valid mail senders and will not accept mail from non-privileged systems.  You and I are forced to use the systems of the privileged nodes (i.e. gmail, Yahoo mail, etc.) because our own systems are not deemed worthy of participating equally with others.

Of course this has been done mostly to eliminate spam, yet even still, it is estimated that around 95% of all email traffic in the world consists of spam. Clearly that system, even with its massive inconvenience, is not working very well. There has to be a better way. The entire protocol and mode in which interoperation for Internet mail occurs needs to be re-thought out from the beginning, and things like identity and verifiability of sender and addressee need to be implemented at the protocol level. (I have long been aware that one of the fundamental things lacking with the present Internet is the lack of strict identity. I would like to address this in more detail in another post, yet essentially because of weak identity and verifiability there are all sorts of problems that occur, from scams on eBay to mail spam and phishing attacks. There needs to be a solid infrastructure for identity to exist. Many people will decry this as being a loss – a loss of freedom and anonymity, yet I would also argue that the price that must necessarily be paid to participate in a fully functional system that does not break down requires the concept of strong identity. Things like email and eBay are essentially community interoperations which, as long as there exists no strong system of identity, fundamentally break down. Also, the other side to anonymity is the idea of reputation, and reputation, just as in the real world, is a true asset for any individual or company. Reputation provides a way to build trust and, instead of the cludgy implementations of security designed to protect us and filter out garbage, as circles of reputation are built it would become easy to simply filter out low reputation sources of information. For example, in forums where there are trolls, you can simply choose to filter out these sources because they are coupled with actual, verifiable identities. Filtering is one of the most basic empowerments not just in the real world but in the virtual world as well, but filtering requires identification. I imagine a future in which all humans essentially are assigned their own unique address or identification credentials which can stay with them for life. They can also chose to create new credentials, with the disadvantage being that they will therefore have to establish a new reputation from scratch.)

This is one of those things where you have to get your mind out of the narrow thinking which seems to govern much innovation in Internet entrepreneurship today, where companies basically look for empty niches to exploit in order to get there first and establish themselves before others do in order to corner some aspect of functionality which eventually they hope becomes an indispensable component of the routines of interchange and functionality of the Internet.

You have to go back to the types of thinking that went on in the very early days of the Internet, when the original protocols were developed which laid the ground for open participation of all nodes across the Internet based on open standards and maximum interoperability. Today it is taken as given that all of these groundwork technologies that are necessary for the Internet to operate the way it does just work, yet there are people who work behind the scenes of the Internet to ensure that this all keeps working and that all interoperating systems are in compliance with the standards.

All organizations and providers must dedicate staff to keeping their systems operational with these standards. It is accepted as given and necessary that this is what has to be done to make the Internet work. So we are already paying homage to this higher organization although it typically tends to not be as glorious and appealing as the exploitation of the little niches is with its potentially huge monetary rewards for cornering markets.

The big change that is set to occur is the fundamental changing of the addressing system of the entire Internet from the present protocol IPv4 to the new one, IPv6. IPv6 should make every single node which participates on the Internet its own, unique, addressable system. Any two computers on the Internet, no matter where they are, should be able to immediately address each other and share data.  Every node should then have its own address and be accessible to all other nodes.

If this happens the way it is supposed to, hierarchies might start to topple as the once privileged status of major content providers dissipates and the privilege is shared equally amongst all nodes of the Internet.

I actually believe that the privilege of having a publicly accessible node on the Internet for all users is perhaps more important even than having mailing addresses, because the potential for interchange and participation is that much greater via the Internet.

To give some examples of this type of thinking, let’s say you want to post something for sale on Craigslist. In my world, when you want to post something for sale among your community, you would not go to the server of a private organization which has strict control over the operation of that service, instead your computer would know how to interoperate with the Community Bulletin Board Protocol, which would be a defined standard developed and maintained by technical experts that is designed for maximum interoperability, robustness, security, and features. On your computer you would run a program which knows how to interoperate with the Community Bulletin Board Protocol. It could be one of many programs, because anyone in the world could write their own program which uses that protocol. Of course programs which had the best features and the greatest usability would naturally become the most popular ones. All nodes on the Internet which have programs which use the Community Bulletin Board Protocol would be equally responsible for maintaining the actual community bulletin boards for their communities.

Or think that every computer could run programs which speak the Social Networking Protocol and, similarly, rather than the social network being managed and controlled by one entity, it would instead be defined by a protocol, the Social Networking Protocol, which would implement all of the features and requirements necessary to make it work. On your computer then, you would run one (or several if that makes you happy) of potentially many possible applications which are able to speak the Social Networking Protocol. Each computer, each node on the Internet, is equally responsible for maintaining the actual social network(s) which they choose to participate in.

Instead of resources being devoted to private companies trying to find the best ways to make profit, resources would be devoted to technical experts whose overriding interest is in developing the best, most interoperable, secure, and functional system available.

Of course this does not mean that all private enterprise on the Internet would disappear, but in fact it would lead to a much, much greater benefit which would eventually be far more valuable economically, socially, and politically. Rather than constrain free enterprise, it would simply focus it where it can be most useful and allow for a new hierarchical and informational organization which would lead to a more fundamental flourishing.

Finally, coupled with the above changes, perhaps the most fundamental change that must occur is the recognition that the data transmission infrastructure around the globe for *all* types of data belongs to the people to Earth and can never be privately controlled. We need to dethrone the privileged entities which control the airwaves and cables. We are the ones who have paid for that infrastructure – infrastructure that runs through every community of virtually every nation on Earth. Nothing could be more public than that.

Ultimately there should be one Earth public body that stewards the global information infrastructure and perhaps, as peoples of the world learn to cooperate in this regard, they can eventually cooperate in more areas of policy and resource management, leading to a true one world government. annoyance

I wonder how many millions of open-source developers’ and administrators’ unconscious minds have negative associations with because it never lets you just download a .tar.gz file directly? Download links always go to a stupid download page which, when you’re just trying to wget the file, is a major PITA. You have to break out lynx or links to get the file from when under CLI on a remote system.

Sociologic and Psychologic Aspects of Linguistics

I was just thinking of what fascinating areas the sociology and psychology of linguistics are.  This came to mind when thinking about idiomatic expressions and not just the implications but implicit assumptions that are made on the part of speakers regarding who is being communicated with.

For example, when a native speaker of a tongue is speaking with a non-native speaker, they may disdain from employing idiomatic expressions.  But it would be interesting to research how this occurs and why, and what attributes or characteristics of the speaker may temper or affect his or her modes of communicating.

Another interesting situation would be when there are two native speakers of a language but who speak different dialects of that language.  Depending upon how different those dialects may be, the speakers may choose to comfortably employ idiomatic expressions with an explicit understanding that, even if the other speaker might not be familiar with a particular idiom, they might be able to quickly grasp it.  It would be interesting to study situations in which these types of interactions occur and what influences formation of implicit assumptions about the other speaker that get employed when communicating.

I was searching the Internet for a definition of the idiom “to wire something” or “to have something wired”, yet could not find it listed anywhere.  I did find one site which was an ESL test supposedly about idioms, yet the “idioms” it was using were things like “to pick on (someone)”, “to pick (something) off”, “(something’s) being  picked over”, etc.  In my opinion, these are not actually idioms but actual valid definitions of the verb “pick” which, when combined with specific prepositions, have specific meanings.  In German this is the regular case as with many if not most verbs which accompany a preposition, for example the verb “aufheben”, auf (up) + heben (to lift), i.e. “to lift up”.  That is given as a separate definition in German and is not considered part of the verb “heben”.

To me a true idiom is a phrase of speech in which the grammatic elements could never reasonably be defined in a dictionary with the given meaning that is implied in the phrase.  For example, “to have the hots for (someone)” – I don’t think that the idiomatic meaning of that phrase could ever reasonably be expected to be included in a formal definition of the verb “to have” (although now that I think about it it could be listed as “hot for (someone)”).  This leads to a general case of idiomatic expressions which appear to usually  consist of the verb “to have” coupled with a noun and adjectival clause or prepositional phrase with a noun object.

Now I want to create a list of idioms.  One of my favorite that this poet guy from New York I met years ago used and which has always stuck in my mind for some reason was “to give someone the fuzzy end of the lollipop”, which basically means to dis someone…  This guy was like a walking, talking repository of the most colorful idioms I’ve ever heard in my life if also a bit crazy.  Just listening to this guy even if he was ranting about someone or something just left me feeling awe and amazement, wanting to note down everything he said.

Libraries in Windows 7 and Network Drives

Windows 7 has a new feature called “libraries” which is basically a location in the file system where you can link different files and folders from different locations together into one place.  So for example if you have photos stored in different locations and on different drives, you can list these all together under one master “Pictures” folder in your library.  Now when you want to access some pictures instead of having to wander through all the various locations that you might have them stored on different drives, you can see them all listed together in one place.

One serious flaw with this idea has been that Windows 7 doesn’t let you add folders on network drives to libraries.  As users are increasingly using network file storage and are likely to store things like pictures, music, or movies on these network drives, the inability to link them into libraries is a glaring omission.  Fortunately someone has created a fix which is free and Open-Source: Win7 Library Tool by Zorn Software.  This simple to use tool allows you to add items on network drives to libraries.

Because over time I end up having data scattered across different locations and on different storage devices, I’m starting to see the benefit of using libraries.  I tend to make mirror copies of systems which, when I upgrade systems, end up laying around on storage drives.  When I set up a new system I sometimes do not just mirror all the data back as I tend to accumulate a lot of junk and like to start fresh, copying only the data to the new system that I really want.  Its like cleaning out an old closet by basically taking everything out and putting it in storage, and then taking back only what you really need (isn’t there an axiom about cleaning to the effect that if you don’t use something you should basically toss it?).  The problem is that the “junk” still exists on the backup drives, and oftentimes I will at some point or other down the road need to access that information.

A way to start solving this is to link all these locations back together in one master location and then sort through them, index them, and remove duplicates.  So now all those old storage units where I’ve stuffed my junk, much of which is duplicate, can be symbolically put back together in one location where I can more easily sort through it and throw out more stuff.  Using libraries is a way to do this.

Gini Coefficient Correlation with Life Expectancy

According to an article(1) that just appeared today on

Over 200 studies since the early 1980s have now documented that people living in societies where wealth has concentrated at the top of the economic ladder live significantly shorter, less healthy lives than people who live in societies that spread their wealth more evenly.

The Gini coefficient is an index of a country’s economic disparity that was created in the early 1900’s by italian statistician Corrado Gini.  I have always been concerned about the direction the USA is heading in in terms of economic disparity.

Beyond this though is the emotional impact it has – its truly sad to live in a society where “the dream” or whatever you call it is an illusion, something that can only be had by those who grew up in the right neighborhood, attended the right school, had the right kind of parents, did all the correct things that one is supposed to do to be “successful”, etc.

Societies which throw away human lives are at the deepest level heart breaking.  When I think of college graduation ceremonies with all their pomp and mind-programming, I am always deeply saddened because all that the system of “higher” education does in the USA is reinforce inequality.  Those who have paid the price and jumped through all the required hoops find reason to celebrate, yet to me it is truly a moment of sadness because it is a moment of separation and estrangement.

I think that the USA is broken and has to learn how to not throw away human life.  The answer involves many things that affect the basic dignity of a person.  Even basic things like enforcement of housing codes for sub-standard housing can have a massive impact upon the health and well-being of a person.  Things like environmental toxins and noise are also serious assaults against a person.  There are multiple types of assaults that one can experience just being out in the world – physical, psychological, chemical, audial, visual, etc.

I even notice when walking along the sidewalk how people unconsciously tend to start the engines of their vehicles at the exact moment that a stranger passes by.  Its actually uncanny if you pay attention to it and notice that it almost always happens.  Its subconscious fear.  Yet many car companies play directly upon people’s unconscious fears and need for security in marketing and designing car brands.  Its essentially a suicidal type of practice that is engaged in for the sake of “profit”.

Starting a vehicle engine at the exact moment that a passing stranger is in proximity is total sickness.  Perhaps the sickest thing about it is that the sickness is not recognized.  I’m not talking about anything symbolic or metaphorical here either.  I mean the actual act of what is occurring, if you simply look at it, is insane.  One human being is blasting the auditory system of a passerby with the horrific assault of sound coming from the ignition process of an internal combustion engine and all the concomitant mechanical clashing and screeching noises that are at a decibel level sufficiently high to cause trauma and stress to the nervous and endocrine systems of the passerby, whose only crime was to think that they could go outdoors freely and walk in peace without being molested.

Of course, 99% of passer’s by won’t realize that this is even happening to their body, so sickened and tuned out are they already.  Yet when they notice unresolvable, ongoing health problems like obesity that they for one reason or another are incapable of healing, they never connect it with the damage being done to them.  And if one were to actually propose doing something about for example excessive vehicle noise, these same, ill people might actually become indignant at the proposal and want to defend the “right” to make noise!  In essence, we have conditioned ourselves into a suicidal race that enforces its own “right” to kill itself.

There are many suicidal tendencies that american culture is currently locked into.   For all the things that money gets wasted on at universities conducing research sometimes into the most ridiculous things, you would think that the science of life, of being human, would be better understood.  You would think that the need to have fundamental protections of our health and well-being would be overwhelmingly apparent, that the disastrous consequences of violating health would be so well understood that there would be no question as to the overriding priority of protecting it at all costs.

To look at it on a bigger scale, the air, the soil, and the rivers and lakes are our nourishment.  To poison our source of nourishment is prime insanity.  We live in a society which is addicted to sticking a syringe of poison into its veins out of some warped delusion about what it means to be well.

(1) Pizzigati, Sam; Radical Inequality Is Literally Killing Us;; 27 January 2010

What happens when the Earth’s environment freaks out

The last major freakout of the Earth environment, I have just read, was in 1816, which was called the “Year Without a Summer”.

What happens during a period of unusually low solar output and then a string of massive volcanoes spewing hundreds of tons of dust into the atmosphere?  Read this article at Wikipedia.

A quote from one small section of the article:

In July and August, lake and river ice were observed as far south as Pennsylvania. Rapid, dramatic temperature swings were common, with temperatures sometimes reverting from normal or above-normal summer temperatures as high as 95 °F (35 °C) to near-freezing within hours.

Plasma instead of drilling teeth

An article in discusses a new technology that involves using low-temperature plasma to disinfect decayed teeth instead of the current process of drilling.  This new process does not require mechanical/physical contact with the tooth!

Article: Painless Plasma Jets Could Replace Dentist’s Drill

Extremely Cool App to Improve Start Menu under Windows 7

I was recently reading through the forums at the excellent Windows 7 forum site and one of the posts mentioned an amazing, open-source app called Classic Shell which “fixes” several changes in Windows 7.  From the project’s main page:

Classic Shell is a collection of features that were available in older versions of Windows but not anymore. It brings back the classic start menu that Windows 7 doesn’t support, adds a toolbar for Windows Explorer in Vista and Windows 7 like the one in Windows XP and adds couple more smaller features.

The new Start Menu in Windows 7 really got to the point that it was annoying to me.  I like to have a customized Start Menu with exactly the options I want.  I normally create my own folders for various categories of applications and then copy shortcuts for the applications into them, leaving the original menu intact.  I guess this is a carryover from my heavy use of Linux, which usually groups applications in menus based on category.  This really makes much more sense if you think about it.  Here is how I do it.

First, I make sure than there are no pinned icons in the Start Menu.  Then, I create the following folders and subfolders under:

After this, I move all the icons which are in the Start Menu white area above the All Programs submenu into these various folders based upon category.  This clears up the Start Menu.  Then install Classic Shell and you should see the new Start Menu and the custom folders above will be at the very top which is very convenient.  You can also put shortcuts directly under AppData->Roaming->Microsoft->Windows-Start Menu (I do this for a couple of frequently-used apps) and they will appear directly under the folders you created.

Page 108 of 109« First...102030...105106107108109