A Single Kick

This past weekend I had the honor of participating in the Alabama State Games‘ Taekwondo competition. This is the third year for my son to participate in this particular tournament. It was my second. I started TKD in November of 2011 and have advanced at a moderate pace to a blue belt with a red stripe.

Originally, I started TKD as part of my effort to lose 120 lbs. and get my health back. It has assisted in the loss of 80 of those lbs. (and I’ve been stuck there for quite a while, unfortunately, but that’s another story). Now the love of TKD has taken me over and I thoroughly enjoy it for many other reasons. I especially enjoy the sparring competition. I’m not very good at it, but I still enjoy it.

I signed up to the competition as a green belt. I downgraded myself just so I could feel better about it, yeah. What of it? My son entered as a blue belt (he is a red belt in class). I had a pretty good inkling that I would fight one of my classmates who is also a green belt. That worried me a little bit. He’s taller than I am and when I fight, taller people are the bane of my existence. They’re hard for shorter people to fight. You have to be able to move/dodge and out-fake them quite a bit and that’s just not something I’m good at.

This classmate had acquired an annoying new skill that drives me crazy when fighting taller people. The defensive side kick posture plagues me. I spent all week trying to figure out what to do about it. When we got there… he didn’t use it. Not at all.

Now that I’ve set the stage, here’s what I remember of the fight.

My coach was one of our black belt classmates who actually taught him the defensive side kick posture (and yeah, he uses it on me in class, damn him). My opponent’s coach was, shockingly enough, my best friend… who is also a black belt in our class. I actually didn’t realize it was her until after round 1 was over.

Anyway, round 1 begins and I launch into this guy with a fast kick. He immediately charges me with a front push kick and brawls me out of bounds. I wasn’t expecting this. I was expecting the defensive side kick. I did not expect him to go with a gate crash style of offense. That shock played all through the first round and I think I may have scored 1 point. I went out of bounds twice. If I went out of bounds again, I would start losing points. That’s no good at all. Inbetween the rounds, my coach asked me what was wrong. He mentioned that he’s doing the same thing every time – a front push kick and leaving himself open.

It was about this time that I realized my best friend was coaching my opponent. I was a little flabbergasted at this. She knew all of my tricks (what few tricks I had) because she worked with me a lot in class and we’ve spent a lot of time discussing tactics in matches. She knows what I’m thinking. This can’t be good. It’ll either make or break me. At first I was a little ticked, then I realized… wait… she’s probably in a worse position because she’s conflicted about what to give away to my opponent about what I’m doing.

The second round begins and he gate crashes me again. This time he brawls me out to the side of the mat and one of the few things that I remember from this fight is that I felt my foot hit the very edge of the mat. I could tell that if I didn’t lock my leg and strengthen up, I was going out for that third time. I refused to let it happen. I puffed up and pushed myself off to the side to get away from him. On the way out I did a switch roundhouse or something… I think… and started to make up the point deficit.

By the end of the second round I wasn’t as behind as I thought. I could do this. I sat down and expected them to call the fight. I was sure I had lost. However I was quite surprised to discover we were going for a third round. This shocked my friend/opponent as well. He told me later that he used all of his energy in the first and second rounds and had no gas left for a third. I was the opposite. I decided to capitalize on this chance to take the fight back to him.

Again my coach warns me about the front push kick and the gate crashing tactics. I’m getting wise to it. I’m not dealing with it perfectly, but I was getting him off me more effectively. The third round starts and I managed… somehow… to launch into him enough to completely tie the score at 22-22.

That means an overtime round.

In Olympic WTF sparring rules, an overtime round means whoever lands the first scoring kick wins. I went to the side of the ring. My coach stands in front of me and smiles. I didn’t sit down.

“Aren’t you going to sit down?” he asked.

“Nope.”

I was pacing side to side to keep my heart rate up. I wanted to get in there and finish this so bad I could taste it.

“Alright,” he said. “Here’s what’s going to happen. The ref is going to say begin and he’s going to charge you with a front push kick. Get out of his way and get him back. Either get out of his way or front push kick him first.”

“Done.”

The ref called us back to the ring. I waited patiently. The ref said begin. Sure enough, my coach had called the shot. He drives forward with a front push kick. I did the same thing. I went forward into his kick with my own front push kick. Apparently we made contact at the same time – or enough of the same time to confuse the judges on who landed the kick. I remember my right leg going down to the mat and my brain asked… “Is this match over? No one is calling it.” Quickly, I did a switch roundhouse and tagged him with my left leg.

Bingo. That was the kick they scored.

In the end, I won the match. Somehow.

It was exciting. It was stressful. It was rewarding. I bowed to my friend, shook his hand and hugged him tight. He’s a great guy and he fought hard. He told me later he wanted to give the kids a good fight to watch. He knew that if he had done the defensive side kick it wouldn’t have been exciting at all. I was going to try to make it exciting – I had spent all week preparing for it. In the end it was the wrong thing. I finally starting to develop enough instincts to bend the match in my favor when I need to.

It was a great, great experience.

Enhanced by Zemanta

Why Windows is Broken: Part 1

The two characters from the ads who personify ...
The two characters from the ads who personify a PC (left, John Hodgman) and a Mac (Justin Long). (Photo credit: Wikipedia)

One of my dear friends on G+ saw my earlier blog post whining about what’s wrong with Windows 8. He challenged me to dive deeper into the complaints. I decided that would would be a good blogging mini-series, even though I’m trying to steer this blog clear of purely technical crap. That’s a long-winded way of saying, “Challenge accepted.” Besides, I’m just idling while Adobe Creative Cloud soaks up my hard drive space.

Let me first put this blog mini-series into context. If you look over this blog you’ll see that in 2006 I made a marked, deliberate switch to the Mac platform. I was sitting in Microsoft building 26, I believe it is (or 25)… wherever the test lab is located… in Redmond. We were running a massive amount of tests on our proposed Exchange system design. This Exchange system had kept all of us up for many, many nights at a time. That’s when Steve Jobs announced the switch to Intel. Since I had to support Mac, Windows and Linux platforms at NASA, I wanted to get one of these machines immediately. I fell in love with it.

During the course of my love affair with the Mac I discovered that there are a great many ills with Windows that are bizarre and ridiculous shortcomings. I know a lot of people have issues with the Windows 8 GUI. I’m one of those people. I didn’t like the Office 2010 ribbon and I still despise it. I generally am not in favor of software that rearranges menus based on what it thinks you want or need to do. Ironically, the people who claim that’s a good feature often complain about Apple’s control over the platform, but that’s another debate.

If this makes you take my feedback with a grain of salt, that’s fine, I understand. Ultimately, we’re all trying to get the same things done. We all work together on this shared collective called the Internet and it’s up to us to choose… individually… how our sausage is made. Every day I find myself booting Windows to do something because I feel like doing it there. Perhaps I feel like booting Linux to do something because it’s more fun to execute it there. Whatever. Let’s take all of that out of the mix and figure out why Windows has not been my platform of choice for full-time production since 2006.

When Chris challenged me to this I decided I would take each one of these topics one by one and work through them, stream of consciousness style. Some of this will come off as ranting or even rage. You’ve been warned. I’m not going to go in order. The first one I’ll discuss is:

The concept of application installations (and all the garbage that comes with it – DLL’s and the like) is completely broken.

When you first use a Mac and understand how applications work and why they’re portable, this annoyance becomes more of a glaring misstep. An application that you install in Windows becomes a permanent extension of your operating system. The only exception to this rule is lightweight applications like Adobe AIR or Java applets.

Don’t believe me? Consider how many hours you’ve spent trying to exorcise a piece of software from your Windows OS since Windows 95. When you install a piece of software using an installer like Windows Installer or Installshield, most or all of the following happens:

  • Binary executables are written to the hard drive.
  • Slices of code are written to the system registry to tell Windows where these binaries are located and what to do with them.
  • Dynamic link libraries (*.DLL) files are written to the hard drive. In most cases these are DLL’s that are provided by Microsoft themselves, written to your hard drive to support the application you installed.
  • Bits are scattered into your Windows folder in some cases.
  • Shell extensions are installed in various places to support plugging into Windows Explorer or other applications (also written to the registry).
  • Bits of files are written into the system to inform Windows what files were written into the system and where they are located so that if you ever hit the uninstall button, Windows can theoretically remove them.

Several of these concepts are completely broken and fully responsible for why your Windows installation gets worse and worse over time. When I was a full-time Windows user, I had to reinstall the operating system at least once a year to return it back to a useful state. OS X and Linux has proven to me that the entire concept of that is just ridiculous. An operating system should not get slower as you use it. Why the hell would you want to use it if that’s going to happen?

Let’s dissect each of these bullet points and dive a little deeper into why they’re bad.

Binary executables are written to the hard drive.

Well, okie. That’s not too bad. That’s why you’re installing something.

Slices of code are written to the system registry to tell Windows where these binaries are located and what to do with them.

The registry is a single-file database that exists on every Windows installation. It’s a single. File. Database. Microsoft has long had this bizarre fascination with databases as The Answer To All Performance Problems. They will cram all of your Outlook data into a single file database. Not only will they do that… let’s one-up that a little. They’ll cram thousands of users’ worth of data into a single-file database when you use a Exchange. That’s right – it doesn’t matter how much money you spend on hardware to make Exchange perform better. If that single file becomes corrupt, thousands of users lose all of their data and you either get to restore it or pray they have an offline copy of it.

But I digress. We’re talking about the registry. It’s a single-file database. Sure, there are bits of the registry that make up the user side of it and it’s stored in your profile, but the fact is the system registry is a single-file database. This means every Windows installation on the planet has a single point of failure. Consider the fact that it’s a database. This means that it suffers from regular database problems. If it gets corrupted, it’s toast. If you add data to it, that data is a permanent relic of the database. Even if you try to delete the data you end up with white space where the data once stood. You can try to compact the white space if you like, but the fact is those little bits of code are permanent. If you pull out those pieces of data from a rogue install there is a good chance it will harm some other portion of the registry or your system. This is why viruses are such a pain to destroy in Windows and once you get one, you really should just nuke the system from orbit and start over with a fresh installation.

The amount of time and money lost to the care and feeding of the registry is insane. The whole concept of this thing is broken and should not exist. I didn’t even realize what a problem this thing is until I used a Mac where… lo and behold… there is no registry to corrupt.

It’s been nice.

If you uninstall an application you will find that bits and pieces of code are left in the registry. The uninstaller does not remove these entries in the registry because it could either damage the system’s ability to handle something else or because the uninstaller is so awful it just forgot to remove it. Even if it does remove it, you get the white space issue I mentioned. So yeah, whatever you installed is a permanent relic of your Windows installation until you reformat. I find that ridiculous.

Dynamic link libraries (*.DLL) files are written to the hard drive. In most cases these are DLL’s that are provided by Microsoft themselves, written to your hard drive to support the application you installed.

These are runtime libraries that are tested and declared compatible with your application. Over time, you will have multiple copies of these DLL files in multiple places. If you install later versions of applications or other applications that use these DLL’s, they could be overwritten or trashed. Most of the time you just end up with multiple copies of multiple versions of multiple DLL’s. The end result is a troubleshooting nightmare when things go wrong. If you spend more than 4 hours fixing a Windows problem, most of the time you should just reformat and reinstall. Ridiculous.

Bits are scattered into your Windows folder in some cases.

This is something that is bound to happen with almost any operating system, I admit. In some cases you’ll install a kext (kernel extension) or whatnot on the Mac and it’ll write something out to operating system’s base folder. I get that. I generally do not like that. I like my operating system to be as read-only as possible. Windows does a lot to keep the user out of the c:\windows folder. Why can’t it do the same to keep applications out of there, if it’s so bad to do?

Shell extensions are installed in various places to support plugging into Windows Explorer or other applications (also written to the registry).

This is kind of the same as writing to the c:\windows folder, but sometimes these shell extensions are written to c:\Program Files or the (x86) version if you have 64-bit Windows. (Three places to store programs? Really?) They’re really, really hard to get rid of if you need to pull them out. (See the registry complaints).

Bits of files are written into the system to inform Windows what files were written into the system and where they are located so that if you ever hit the uninstall button, Windows can theoretically remove them.

My problem with this is that no uninstaller… ever… in the entire history of Windows installers… has ever properly removed all files left behind by a program installation. Seriously. If you go out and uninstall a program, take a few minutes to look over the registry and hard drive folders (Program Files, etc.). That program is still all over your hard drive. Again, Adobe AIR and other lightweight applications are the exception here.

Once you install a program, it’s a permanent part of your OS. Period. The only way to get rid of it is to reformat.

I never really understood that there was a better way to do this until I got on a Mac. Mac handles directories with a .app extension as an application. All of the files and resources required to run that particular app are bundled inside that directory. There are obvious advantages to this:

  • Drag an app to the trash. The directory is deleted and the app is permanently removed from your system. All traces of it are gone.
  • Drag an app to an email message. OS X will zip up the directory and attach the zip file.
  • Applications are sandboxed into their own directory and user space.

Linux is a similar story, but sometimes you end up with binaries in /usr/bin or /usr/local/bin and it can be just as hard to extract.

There you have it. I dissected one of the reasons Windows is broken. All of you people complaining about the GUI in Windows 8… cut Microsoft some slack. They’re trying some new GUI. GUI can be changed and people can get used to it. The real problems with Windows aren’t being addressed. It’s the same problems that have been around since the early 90’s and I don’t see Microsoft getting rid of the way they do things. They’re locked into one type of software engineering and it’s not going to stop.

That’ll keep me away.

Enhanced by Zemanta

Every Marital Argument. Ever.

Dear men… haven’t we always had these moments?

GTFO The Internet Again… Game of Thrones Edition

Holy jumped up mad cow disease. You people will not let surprises remain surprises. We have to find a way to deal with spoilers in the age of the Internet. I will get there, give me some time.

Introducing Windows Red: A serious plan to fix Windows 8 | Microsoft windows – InfoWorld

Introducing Windows Red: A serious plan to fix Windows 8 | Microsoft windows – InfoWorld

This is an interesting article, but it still addresses the overall cosmetic flaws with Windows. Windows has had much more fundamental flaws since the days of Windows 3.11 that still go unfixed. I’ll list a few of them here. These flaws prevent me from ever using Windows again as my main personal operating system and if you knew better, you’d feel the same way.

  1. File system events do not work properly.
  2. The concept of application installations (and all the garbage that comes with it – DLL’s and the like) is completely broken.
  3. The concept of drivers, both signed and unsigned, is broken.
  4. Windows does a really shitty job at supporting standards (calendaring, email, instant messaging… I’m looking at you).
  5. NTFS needs to advance beyond its current incarnation. (To be fair, HFS+ does too).
  6. Windows is far, far too fat. It used to be bloated before. Now it’s just ridiculous.

Now let’s look at some of the more recent destruction with Windows that really takes this to a whole new level. Here I’ll rope in some other items that really irritate me.

  1. Office 2013 is really, really broken. The file formats issue was a real problem in Office 2010. Now it’s just a disaster. The amount of people calling me because documents do not open in different versions of Office is absolutely ridiculous.
  2. The Office server ecosystem is in a state that requires your entire enterprise to move to the same versions/releases of Office and servers all at once to support full functionality. I have yet to meet a single enterprise (Microsoft’s own included!) that can support this type of migration and arrangement. This isn’t realistic and I don’t understand why Microsoft continues to shrug it off.
  3. The Microsoft account ecosystem is a disaster. Have you tried telling Office 2013 that you have an Office 365 account AND a Microsoft account? Good luck with that.
  4. On the server side, it’s way… WAY too hard and time consuming to actually implement functionality. The amount of knobs and switches you have to tweak to make something work on EVERY server is insane.

I continue to be baffled as to why anyone puts up with this… or spend money on it.