Not All Marginalization is Misogyny

Every few years, the following photograph of Margaret Hamilton makes the rounds in social media. This particular image's popularity is not surprising; it's a great shot of Hamilton, who was NASA's lead developer for Apollo program, standing next to the stack of computer printouts for the software that told the Apollo Guidance Computer what to do and when to do it, which eventually helped astronauts land on the moon.

Margaret-Hamilton-With-Apollo-Software

A friend recently posted this image to social media, and upon seeing it, someone else responded, "That is incredible. Why haven't I ever heard of her before?"

My friend's reply was simple: "Because men."

I completely understood my friend's point. There are far too many times when women are overlooked in their respective fields. But I was annoyed and frustrated by my friend's two-word reply, because there are times when gender has nothing to do with whether someone's accomplishments are publicly recognized. In this specific instance, Hamilton's relative obscurity wasn't due to misogyny. Developers like Margaret Hamilton, Grace Hopper, Jean E. Sammet, and Frances Allen are pioneers in their respective contributions to computer science and software engineering, but the real reason why people haven't heard of them is because: they're computer scientists, and no one cares about computer scientists, except for other computer scientists.

In some fields, men are easy targets for a good round of bashing where "popularity" or "fame" are concerned, but when an entire career field isn't "popular," then EVERYONE who works in that field remains obscure. As history shows, Hamilton (and Hopper, and Sammet, and Allen) earned a host of accolades, but most people haven't heard of them because we use their work without giving a second thought where it came from. (Which, by the way, is true of all engineering fields, but I digress.) I challenge anyone to name a single engineer - man or woman - who helped to produce the iPhone, which is (for better or worse) one of the most civilization-altering inventions in history. Oh, sure - everyone can name Steve Jobs, because he owned the company. But Steve Jobs never "made" anything; millions of unnamed engineers - both men and women - are responsible for the iPhone, the iMac, Windows, Google, Microsoft Office, etc.

Here's another example: I just watched the new "Thor" movie, and Taika Waititi's name is everywhere during the credits because he co-wrote and directed the movie; but most people probably haven't heard of his co-writer, Jennifer Kaytin Robinson, because "men." (Hollywood has always been and continues to remain misogynistic, but once again I digress.) However, did anyone bother to pay attention when the credits listed hundreds of people who worked on SFX/CGI for the movie? Nope - we enjoyed their work, but the computer scientists and digital artists who contributed to every scene in that movie remain unknown to anyone outside of their field.

Looping this back to the original subject of NASA and whether they slighted Margaret Hamilton, can anyone name any of the other members of her software development team? If the entire reason some people haven't heard of her was "because men," then I would assume that people could name some of the men who were on her team because they would have received credit for her work. But no, people can't name any of them, either. And why is that? Because - engineers.

How about any of the men and women who designed the Apollo space capsule? Or the Lunar Rover? Or the space suits? Or the propulsion systems? Or the communication systems? Or anyone involved in Skylab? Or the Space Shuttle? Or the Mars probes? Once again, people can't name a single one of those people. And why is that? Because "engineers."

NASA isn't slighting anyone. On the contrary, NASA hires brilliant minds - both men and women - who remain unknown to the general public because they chose extremely technical career fields that lead to obscurity within the community, and societal anonymity doesn't care about gender when it comes to scientific ignorance...

Boss-Leader-Programmer

Computers in the 1980s, Girls Studying STEM Subjects, and Chickens Versus Eggs

I recently listened to the NPR podcast "When Women Stopped Coding," which suggests that women and girls weren't into computers during the 1980s due to a lack of marketing, and I disagree with the podcast's assertions. However, I should begin by saying that I used to love NPR; for at least a decade they were my morning and evening source of news as I commuted. That being said, the quality of NPR's reporting has gone down considerably over the past two decades, to the point where I no longer listen to NPR. In my opinion, this podcast is typical of what I mean.

Let me put things in perspective: I was into computers long before the 1984 shift in marketing strategies that this podcast is basing it's thesis on, and here is my personal experience: around 1980, math classes in High School were 50/50 between boys and girls. However, computer classes were almost entirely male. The advertising that is quoted as the cause of this inequity had yet to come along, so what else could have caused this disparity? The answer is simple, although it is unpopular with people who want promote the idea that sexism was the key factor.

The reason why girls weren't into computers in the early 1980s was because there was no "cool factor" to them. If you were a girl in high school at that time, and you were into computers, you were going to be unpopular. Advertising had nothing to do with that; it was all about peer pressure. On the other hand, many guys had no problems with being unpopular, and there was an entire segment of society that sprung up in the late 1970s as the perfect base for the home computing market - the group of social misfits that evolved during that era was known as: the nerds. These were the boys who were into Dungeons and Dragons, played with Rubik's Cubes, and read fantasy books by authors like Tolkien. However, speaking in general terms, girls weren't into those sorts of things, because - for the most part - girls didn't WANT to be seen as social misfits. It is true that Hollywood and marketing types would soon launch a series of movies and advertisements that capitalized on this growing separation within young society, but this social shift is more of a "Chicken and Egg" scenario than NPR's podcast seems to suggest. (e.g. Advertising followed the social trend, and not the other way around.)

The group of boys who were already social misfits continued to be social misfits as they shifted from nerdy games to computers, which were seen as an extension of their nerdiness. While at the same time, girls - even those who were great at math - drifted further away from computers as they grew in popularity.

That being said, it is true that schools could have done much more to promote computers to both genders, and in that respect public education is partly to blame for creating the environment in which we find ourselves. And to that end, it is great to see so many schools today that are promoting STEM subjects to girls at a young age. It is for that reason that my niece is well on her way to a promising career in astrophysics, with a dream of working for NASA one day. In addition, I love the fact that a major part of Girl Scouts' vision is to promote STEM subjects to young girls. I'd love to see the Girl Scouts launch an advertising campaign that says, "Buy a cookie, create an astronaut." (Or a scientist, or a chemist, etc.)

By the way, in the interests of full transparency, one of the people who first mentored me on computers was the girl next door, Ellen. She wasn't typical of the girls at our High School, and I can't say if she was ever considered a social outcast, but I can say this for certain - she clearly didn't care. Ellen was one of the smartest people I knew, and it's undoubtedly a good thing that she didn't know I had a major crush on her at the time, because I would only have dragged down her IQ through prolonged exposure to me. Nevertheless, both her and her brother's influence during my early flirtations with computers are probably why I chose computer science as my career. But as I mentioned earlier, when I took my first computer classes, there were almost no girls in attendance, and this was before Hollywood seared that image into the public consciousness.

In other words, girls like Ellen were into computers "way back when," but it took the right kind of moxie to be willing to go against the flow. And yet, that concept is completely lacking in NPR's story. In that respect, I think this podcast suffers from a problem that's endemic to a lot of NPR's "reporting" these days: it is a bias in search of data.


UPDATE: This post is one of several that I had written that I later discovered had never been set to "public."

Al Gore and the Invention of the Internet

There is an age-old story circling within political spheres that former Vice President Al Gore once claimed to have "invented the Internet." And in contrast to that story, there is a counter-rumor floating around that Gore never said any such thing. To help put this issue to rest, Tech Insider created a video a few years ago that was designed to promote the idea that Gore has simply been "misquoted" over the years.

In deference to Tech Insider's claims, there is a vast difference between being "misquoted" and "misspeaking." Al Gore has NOT been "famously misquoted" with regard to his comments to CNN in that video, in which he clearly says, "During my service in the United States Congress, I took the initiative in creating the Internet." That is a direct quote, not a misquote. Of course, history tells us that Gore was misspeaking when he said that, which could be attributed to hubris, deceit, or ignorance.

Putting things in perspective, Al Gore uttered his now-infamous boast during his failed presidential run against George W. Bush. Gore's campaign took place at the height of the Internet dot-com boom, when billions of dollars were pouring into the economy as a result of the Internet explosion. With that in mind, it is not outside the realms of probability that Gore was attempting to ingratiate himself to voters by claiming that he was the one responsible for all of that new-found wealth. Which, if you think about it, is a pretty good strategy, as long as you can count on what Jonathan Gruber once called "The Stupidity Of The American Voter." In other words, you can say anything you want - like claiming to invent the Internet - as long as your voters are too stupid to know better.

Nevertheless, Tech Insider's and other people's insistence that Al Gore has been "misquoted" are ludicrous. Regardless of his reasons for doing so, it is a matter of undisputed fact that Al Gore claimed to have invented the Internet. And it is also a matter of undisputed fact that Al Gore did not invent the Internet.


If you'd like a brief introduction as to what really happened when the Internet was created, the following three-minute video should tell you everything you need to know.

By the way, if you've read some of my old blogs, you'll see that I wrote the Request for Comments (RFC) document number 7151, which defines a method of multi-hosting for the Internet's File Transfer Protocol (FTP). Since that document has been published as part of the Standards Track for the Internet, I can legitimately say that - unlike Al Gore - I actually took the initiative and helped reinvent the Internet. Oh sure, it's only a small, obscure part of the Internet, but still... I can honestly say that I did something that Al Gore can only claim to have done.

Scripting the Task Scheduler to Create System Restore Points

I ran into an interesting situation the other day: I had a hard drive that was going bad, and thankfully I had most of my data backed up on a schedule. However, before I removed the old hard drive, I wanted to log into the system to double-check a few settings. Unfortunately, several of the operating system files had become corrupted and the system wouldn't boot.

I didn't think that was a big deal, because I could try a system restore. However, I had forgotten that Windows 10 creates far less restore points than previously, so I had fewer to work with. In the end, I wasn't able to boot the system that final time.

Now that I have my newly rebuilt computer up and going, I set out to create a scheduled task that will create system restore points on a schedule. However, I wasn't content to create the task; I wanted to create the task using a batch file script so I could easily run the script to create the same task on any new systems that I might build.

It took me a while to get the script parameters the way that I wanted them, but the following one-line script achieves everything that I wanted to do. Note that you need run this script in an elevated command prompt, otherwise it might fail with an access denied error.

schtasks.exe /create /tn "Create Restore Point (MONTHLY)" /sc MONTHLY /d SUN /mo FIRST /st 05:00 /rl HIGHEST /ru "NT AUTHORITY\SYSTEM" /tr "PowerShell.exe -ExecutionPolicy Bypass -Command \"Checkpoint-Computer\" -Description \"AUTOMATIC-$(Get-Date -Format \"yyyyMMddHHmmss\")\" -RestorePointType \"MODIFY_SETTINGS\""

Here are the different parts of that script in detail, so you can modify them for your situation:

schtasks.exe This is Windows' command line application for managing scheduled tasks.
/create Specifies that we will be creating a scheduled task.
/tn "Create Restore Point (MONTHLY)" Specifies the name for the scheduled task.
/sc MONTHLY Specifies the schedule type, which could be MONTHLY, WEEKLY, DAILY, HOURLY, etc.
/d SUN These two parameters work together to specify how often the task runs, and the options for these values will depend on the schedule type. In this example, it is specifying the FIRST SUNDAY of each month.
/mo FIRST
/st 05:00 Specifies the starting time in 24-hour format.
/rl HIGHEST Specifies the "run level," which in this example is the highest level.
/ru "NT AUTHORITY\SYSTEM" Specifies the user account to run the task as, which in this case is "NT AUTHORITY\SYSTEM".
/tr "<<SEE BELOW>>" Specifies the command to run inside the task. The actual command in this example is somewhat complex, so I've broken it down in the following table. Note that this command needs to be within a pair of quotation marks; if you need to include quotation marks for the values inside this script, you will need to escape those characters as I have done in this example.

And here are the parameters for the task that is going to run as part of the task:

PowerShell.exe The application that we're running in this application is PowerShell.exe, because PowerShell has a cmdlet to create a restore point.
-ExecutionPolicy Bypass Specifies the execution policy, which in this example specifies that nothing will be blocked and there are no warnings or prompts.
-Command "Checkpoint-Computer" Specifies the PowerShell cmdlet that creates a system restore point, which takes the following two parameters.
-Description "AUTOMATIC-$(Get-Date -Format \"yyyyMMddHHmmss\")"

Specifies the description of the system restore point, which in this example invokes another PowerShell cmdlet to specify a date/time stamp that will show when the restore point was created. The restore points created by this task will look like "AUTOMATIC-20211201015150."

-RestorePointType "MODIFY_SETTINGS" Specifies the type of restore point, which could be APPLICATION_INSTALL, APPLICATION_UNINSTALL, DEVICE_DRIVER_INSTALL, MODIFY_SETTINGS, or CANCELLED_OPERATION.

That's about all there is to it. In a sense, this task is a bit of a script hack by invoking PowerShell cmdlets via the command line, but it works. And at the end of the day, that's all that matters.

Here are a few additional resources that provide more detail on the commands that I was using to create this script:

I hope this helps!

Those who can - do. Those who can't - teach.

A few years ago I elected to take a class at the University of Arizona as a refresher for a programming language that I hadn't used in over a decade. I was originally self-taught in the language, and I knew that the language had evolved since I had last used it, so I thought that it would be worthwhile endeavor to study it formally.

The class was going well, but when I turned in one of my assignments, the professor had dropped my grade a full letter because - seriously - he didn't like my variable names. Being an adult - and not an 18-year-old that's fresh out of high school - I have no problems confronting an academic when I think they're incorrect. In addition, as someone who has been in the software industry for years, I have no problems calling BS when I think it's warranted.

I scheduled a time to meet with my professor, whereupon I told him that I thought he was wrong. All my variables were descriptive of their purpose, and I used a consistent format across the entire assignment. In addition, I wanted my grade restored.

The professor looked at me and said, "No one names variables like that."

I replied, "That's called 'Hungarian Notation.' It's a widely-used standard in the software industry."

He attempted to counter with, "That's outdated. No one uses that anymore."

To which I replied, "I work for Microsoft. We write millions of lines of code every day using that notation."

He grumbled a bit more, but eventually he acquiesced and restored my grade.

I later discovered that this particular professor earned his BS in Computer Science, then his Master's, then his Doctorate, and then went straight into teaching at higher education establishments. In other words, he's never worked a single day in the industry that he is teaching about, and yet somehow the software engineers of tomorrow are supposed to learn from him?

The Internet Is Down

You know, for all those hundreds of times that my kids would tell me "The Internet is Down," today the Internet actually goes down and none of my kids lived at home to complain about it. I'm not sure if that was a good thing or a bad thing...

Confused smile


FYI - For news about the Internet outage, see the following URLs:

Windows XP... Really?

This was an advertisement on Facebook today - seriously? Asking people to "upgrade" to Windows XP? That's like asking smart phone users to upgrade to rotary dial.

Upgrade To Windows XP