www.geekybob.com

Just a short, simple blog for Bob to share his thoughts.

Soul-Crushing Meetings

01 April 2018 • by Bob • Humor, Work

A friend of mine posted the following image to social media... and as someone who has had to attend more than a few soul-crushing phone conferences, I thought it was hilarious.

Soul-Crushing-Meeting

That being said, I thought this play set was missing a few things that would add to its realism.

For example, why doesn't it come with a whiteboard and four dried-out markers?

In addition, the conference phone should come with dozens of lifelike features, such as Dropped Calls, Random Static, Open Microphone Keyboard Typing, Private Background Conversations, and 15 minutes of 'Can You Hear Me?' dialog. This would turn your kids' 5-minute meeting into hours of troubleshooting entertainment - every time!

Adventures with the Easter Vampire

30 March 2018 • by Bob • Family, Humor

A few years ago I wrote a blog titled "Adventures with the Tooth Werewolf", where I wrote about how I rose my children with a belief in the Tooth Werewolf instead of the Tooth Fairy. In that same blog I also briefly mentioned that I had come up with the Easter Vampire instead of the Easter Bunny. (I'll bet you wish your parents had been this cool, right?)

That being said, one of my daughters sent me the following video, which she appropriately-labeled, "The Easter Vampire?"

Smile

Atheist Prayer Warriors

30 March 2018 • by Bob • Ponderings, Religion

Did you ever notice how many atheists are actually the fiercest prayer warriors?

Every time they declare, "GD this!" or "GD that!," they are - in fact - calling on a God whom they claim does not exist to intervene on their behalf.

The tragic part about this fact is that in so doing they are praying more times per day than most Christians.

Recovering a Mirror Set on Windows 10

23 March 2018 • by Bob • Windows, Troubleshooting

I run a mirror on the C drive for one of my Windows 10 systems, and a few nights ago that system wouldn't boot; I kept getting errors like "VOLMGRX internal error" and "A recently serviced boot binary is corrupt". I tried a few of the automatic Windows 10 recovery options while my system was rebooting, but nothing seemed to work. Skipping past the steps it took to get there, I also tried using the "bootrec /fixmbr" and "bootrec /fixboot" commands, with no luck, either.

However, since I was using a mirror set for the primary drive, I was able to do the following:

When I rebooted my system, I chose Troubleshoot for my startup option.

windows_10_recover_mirror_set_1

Step 2 - On the Troubleshoot screen, I chose Advanced options.

windows_10_recover_mirror_set_2

On the Advanced options screen, I chose Command prompt.

windows_10_recover_mirror_set_3

When the Command prompt opened, I typed the following commands:

diskpart
list volume

This returned a table like the following illustration, and I looked for the volume which showed status as "Failed Rd":

Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 C C-DRIVE NTFS Partition 1848 GB Failed Rd Boot
Volume 1 ESP FAT32 Partition 500 MB Healthy System  
Volume 2 WINRETOOLS NTFS Partition 454 MB Healthy Hidden  
Volume 3 Image NTFS Partition 12 GB Healthy Hidden  
Volume 4 DELLSUPPORT NTFS Partition 1087 MB Healthy Hidden  

Once I knew the volume that was having the issue, I was able to run the following commands to recover the mirror set:

select volume 0
recover

I knew that the recovery was going to take a long to complete, and I could have used "detail volume" command every few minutes to check the status, (which will show "Rebuild" in the status column). But the truth is - it was already way past midnight, so I simply went to sleep for the night. When I got up the following morning, everything was fine and I was able to reboot successfully.


FYI - The following article has all the information you need about using the Windows DiskPart command, although be forewarned - you can really screw up your system if you do something wrong.

DiskPart Command-Line Options

Running IIS Express on a Random Port

21 March 2018 • by Bob • IIS Express, Batch Files, Scripting

I have found myself using IIS Express for a bunch of web projects these days, and each of these projects is using different frameworks and different authoring systems. (Like Windows Notepad, which is still the one of the world's most-used code editors.)

Anyway, there are many times when I need multiple copies of IIS Express running at the same time on my development computer, and common sense would dictate that I would create a custom batch file for each website with the requisite parameters. To be honest, for a very long time that's exactly how I set things up; each development site got a custom batch file with the path to the content and a unique port specified. For example:

@echo off

iisexpress.exe /path:c:\inetpub\website1\wwwroot /port:8000

The trouble is, after a while I had so many batch files created that I could never remember which ports I had already used. However, if you don't specify a port, IIS Express will always fall back on the default port of 8080. What this means is, my first IIS Express command would work like the example shown below:

CMD> iisexpress.exe /path:c:\inetpub\website1\wwwroot

Copied template config file 'C:\Program Files\IIS Express\AppServer\applicationhost.config' to 'C:\Users\joecool\AppData\Local\Temp\iisexpress\applicationhost2018321181518842.config'
Updated configuration file 'C:\Users\joecool\AppData\Local\Temp\iisexpress\applicationhost2018321181518842.config' with given cmd line info.
Starting IIS Express ...
Successfully registered URL "http://localhost:8080/" for site "Development Web Site" application "/"
Registration completed
IIS Express is running.
Enter 'Q' to stop IIS Express

But my second IIS Express command would fail like the example shown below:

CMD> iisexpress.exe /path:c:\inetpub\website2\wwwroot
Copied template config file 'C:\Program Files\IIS Express\AppServer\applicationhost.config' to 'C:\Users\joecool\AppData\Local\Temp\iisexpress\applicationhost2018321181545562.config'
Updated configuration file 'C:\Users\joecool\AppData\Local\Temp\iisexpress\applicationhost2018321181545562.config' with given cmd line info.
Starting IIS Express ...
Failed to register URL "http://localhost:8080/" for site "Development Web Site" application "/". Error description: Cannot create a file when that file already exists. (0x800700b7)
Registration completed
Unable to start iisexpress.

Cannot create a file when that file already exists.
For more information about the error, run iisexpress.exe with the tracing switch enabled (/trace:error).

I began to think that I was going to need to keep a spreadsheet with all of my paths and ports listed in it, when I realized that what I really needed was a common, generic batch file that would suit my needs for all of my development websites - with no customization at all.

Here is the batch file that I wrote, which I called "IISEXPRESS-START.cmd", and I will explain what it does after the code listing:

@echo off

pushd "%~dp0"

setlocal enabledelayedexpansion

if exist "wwwroot" (
  if exist "%ProgramFiles%\IIS Express\iisexpress.exe" (
    set /a RNDPORT=8000 + %random% %%1000
    "%ProgramFiles%\IIS Express\iisexpress.exe" /path:"%~dp0wwwroot" /port:!RNDPORT!
  )
)

popd

Here's what the respective lines in the batch file are doing:

  1. Push the folder where the batch file is being run on the stack; this is a cool little hack that also allows running the batch file in a folder on a network share and still have it work.
  2. Enable delayed expansion of variables; this ensures that variables would work inside of conditional code blocks.
  3. Check to see if there is a subfolder named "wwwroot" under the batch file's path; this is optional, but it helps things run smoothly. (I'll explain more about that below.)
  4. Check to make sure that IIS Express is installed in the correct place
  5. Configure a local variable with a random port number between 8000 and 8999; you can see that it uses modulus division to force the random port into the desired range.
  6. Start IIS Express by passing the path to the child "wwwroot" folder and the random port number.

One last piece of explanation: I almost always use a "wwwroot" folder under each parent folder for a website, with the goal of managing most of the parts of each website in one place. With that in mind, I tend to create folder hierarchies like the following example:

Using this structure, I can drop the batch file listed in this blog into any of those Website1, Website2, Website3 folders and it will "just work."


Note: This blog was originally posted at http://blogs.msdn.com/robert_mcmurray/

Happy Pi Day!!!

14 March 2018 • by Bob • Humor, Music

In honor of "Pi Day" (3/14), here are the first 256 digits of Pi set to music... (which was achieved by taking the numbers in Pi and overlaying them on a C major scale).

At first I thought about overlaying the digits on a pentatonic scale to create a little more harmony, but it turns out that it wasn't necessary. (Of course, the bass line and drum parts add a lot, too.)

I also thought about doing something with a pentatonic scale, but as I said earlier it didn't appear to need it. I also thought using about some sort of timing extraction from the numbers in Pi instead of using 8th notes, but most of my experiments started to sound far too random and chaotic.

FWIW - I also did a version in 7/8 time, just 'cause... you know... RUSH.

Do you think that the Russians want war?

01 March 2018 • by Bob • Politics, History, Rants, Military

In response to Vladimir Putin's recent proclamation that Russia now has "Invincible Nuclear Weapons," someone posted a link to Dick Gaughan's 1983 song "Think Again:"

The problem with songs like Gaughan's is that they do a tremendous injustice to what was actually going on in the world when that song was written. At the time, there were a great deal of songs written to protest the Cold War and to encourage everyone to "give peace a chance." The problem with naive statements like "give peace a chance" is that many a conquered nation has wanted peace at all costs, but their desire for peace did not prevent their eventual destruction. Appeasement of Hitler prior to WWII is a perfect example: most of Europe did nothing as Hitler stormed through country after country because everyone else remembered WWI, and the rest of Europe would rather stand by and let a madman conquer the world than upset their personal peace.

Which brings us back to Gaughan's song and it's central question: "Do you think that the Russians want war?" The target of Gaughan's lyrics was the policymakers in the West, who have largely done nothing whenever madmen went to war, because the West typically seeks peace at all costs. The West wanted peace with Hitler, and peace with Stalin, and with Khrushchev, and with Brezhnev. The West may not have approved the actions of these madmen, but the West would much rather have peace than declare war on every psychopath who comes along. But here's the thing: even though the West wanted peace, the Russians - in the form of the Soviets - very clearly wanted war.

15 countries ceased to exist with autonomy in the name of Russian/Soviet war: Armenia, Azerbaijan, Belorussia, Estonia, Georgia, Kazakhstan, Kirghizia, Latvia, Lithuania, Moldavia, Tajikistan, Turkmenistan, and the Ukraine. These countries did not want war, but Russia gave them war anyway. As a result, these conquered territories became the 14 satellite republics of the Soviet Union. But let us not forget that Afghanistan also did not want war, yet the Russians/Soviets invaded anyway. Afghanistan was destined to become the 16th Soviet republic, until clandestine meddling from the United States helped turn that war in favor of the Afghanis, (and thereby bring about the collapse of the Soviet Union, but that's another story).

But it doesn't end there, because the Russians/Soviets also brought war to Albania, Bulgaria, Czechoslovakia, East Germany, Hungary, Poland, and Romania. These countries were conquered by the Russians/Soviets to serve as sacrificial "buffer states" in the event of hypothetical invasion from the West, (rather than becoming formal Soviet republics).

While Gaughan's lyrics pontificate about the 20 million people slaughtered by Nazi invasion, it does nothing to address the 30 million or so of their own countrymen killed by the peace-loving Russians/Soviets, nor does begin to account for all of millions of people slaughtered senselessly during the Russian/Soviet invasions of the countries previously mentioned, nor does it account for the hundreds of thousands of casualties incurred during the brutal suppressions carried out by the Russians/Soviets whenever one of those countries fought for their independence. (Nor do those numbers address the additional tens of millions of people slaughtered by the USSR's allies in the Far East and South/Central America; but let us refrain from digression and stick to Russia, shall we?)

People can claim that the "Average Russian" did not want war, and that all of these atrocities were caused by the actions and ideologies of their leaders. I must admit, there is undoubtedly a grain of truth to that perspective. But then again, you have to realize that millions of "Average Russians" actively participated in conquering of all of the countries that I have mentioned. Those countries wanted peace; Russia brought them war. As a result, those millions of "Average Russians" are no less guilty than the millions of "Average Germans" who brought the Nazi War Machine to peaceful Europe.

I have quoted this poem before in other contexts, so please forgive my repetition here; following WWII, the German pastor Martin Niemöller expressed the folly of "Average Germans" doing nothing about the Nazis when he wrote:

First they came for the Socialists, and I did not speak out -
because I was not a Socialist.
Then they came for the Trade Unionists, and I did not speak out -
Because I was not a Trade Unionist.
Then they came for the Jews, and I did not speak out -
Because I was not a Jew.
Then they came for me - and there was no one left to speak for me.

Niemöller's sentiments may not be a call to arms, but they certainly condemn the cowardice of those who do nothing while their fellow countrymen commit atrocities.

Gaughan's song attempts to lay the desire for war at the feet of the West's leaders because - as he put it - we didn't "like their political system." To restate what I have said earlier, no one liked Russia's political system. But the Russians/Soviets forced their political system on millions of innocent people through decades of violent bloodshed. Gaughan conveniently ignores all of that.

I have stated many times before that Russia is never more than one madman away from becoming the Soviet Union again, and we're seeing that come to fruition. Under Putin's leadership, Russia has once again annexed the Ukraine, and it has violently suppressed dissension in other former Soviet republics. And once again, the West has done nothing, because despite the flowery rhetoric of naive dreamers like Gaughan, the West still desires peace more than war. But Gaughan ignores all of that, too.

As I have mentioned all along, the West has almost always wanted peace; that much is clear from the staggering amount of reticence that it has shown whenever another madman has come along and started conquering its neighbors. The West attempted to intervene in the Far East, with disastrous results, and we have learned our lesson. As a result, the West typically does nothing now, because most people in the West believe in peace at all costs. But as the saying goes, "Peace is a fleeting fantasy, embraced by fools, signifying nothing." A desire for peace does not prevent war; at best it only delays the inevitable.

With that in mind, to answer Gaughan's question: even though the West wants peace, Russia has always wanted war.

Transcribing My Struggle by Seventh Day Slumber

21 February 2018 • by Bob • Guitar, Music

Every once in a while I decide to transcribe something; just for the heck of it. Tonight I decided on "My Struggle" by "Seventh Day Slumber," which was released 15 years ago.

It's not a perfect transcription, of course - but I only put an hour or so into it. The original song is at https://youtu.be/jXPjEi-l_pg in case you're curious where this came from.

When Pianists Talk While Playing

21 February 2018 • by Bob • Humor, Music

Here is my truthful rendition of what piano players think they sound like when they attempt to talk while playing the piano, versus what they actually sound like to everyone else around them. Winking smile

Note that the preceding video is by-product of the author's sarcastic nature and created for entertainment purposes only. Time signatures, tempos, keys, chords and embellishments are either the products of the author's imagination or used in a facetious manner. Any resemblance to pianists, living, dead, or undead, or actual music is purely coincidental.

Open-mouthed smile

Jordan Peterson versus Cathy Newman

22 January 2018 • by Bob • Politics

A good friend of mine shared the following video on Facebook, wherein Cathy Newman, who is a journalist for Britain's Channel 4 News, hosted a debate with Jordan Peterson, who is a liberal clinical psychologist from Toronto. But you can't really call it a debate, because Newman was clearly out of her league. She obviously entered the studio that day in possession of several pre-conceived beliefs, and she held steadfastly to those beliefs despite the fact that all of her arguments disintegrated into a flaming pile of excrement as the -debate' progressed. (Or digressed, as the case may be.)

Peterson easily defeated all of Newman's false assumptions with a never-ending stream of well-researched and articulate facts. Nevertheless, Newman repeatedly assaulted her studio guest as though she were a pit bull from hell, to which Peterson continuously responded with a polite demeanor and a gracious disposition, which was an incredible accomplishment seeing as how Newman's arguments had no basis in reality.

Here is the video of the debate in question:

All joking aside, this 'debate' should become required watching for all journalism students in the future, because it is the best example of how not to conduct an interview or debate. Not only did Newman arrive at this interview ill-prepared and bursting with incorrect, pre-conceived notions about what her guest believed, but she also failed to accurately listen to her guest. Throughout the debate, Newman maintained a constant state of combatant and accusatory maliciousness despite all of the well-researched evidence that was presented as contrary to her personal feelings. Newman continuously interrupted her guest, and she constantly misquoted Peterson by twisting his responses into almost the opposite opinion of what he actually said or believed, and all the while she prefaced her misquotations with a condescending introduction such as, "So, what you're saying is...," or "So, you think that...," etc.

With all of that in mind, here is my recap of the general flow of information during the debate:

I think that accurately sums up their discussion.


UPDATE: The same friend later posted the following image, which nicely sums up the overall accuracy of Ms. Newman's responses to Peterson's statements.

jordan-versus-newman

Blog Navigation

You are on page 26 of 71 pages.

1 ... 24 25 26 27 28 29 ... 71