Silence Is Golden
Nov. 15th, 2024 11:09 pmWhen I got done with work today, I said to heck with it, powered down my home office computer, and popped it open on my desk. First, I uninstalled the mirrored hard drives that have been sitting in there doing nothing but spinning for several years since I installed an M2 drive as the boot drive. It's only a one TB drive, but it's still about 20% short of full, so I'm ok there. And it is regularly backed up to the NAS.
(Oops. Got to download the security updates for the NAS. Hang on a minute...)
Ok, that's better. Anyway, the old drives were seriously warm, so just as well to stop using them as a space heater. And the computer is *much* quieter.
Once I got the drives out, I then set out to install the TPM support module on the header on the motherboard. Eventually, I got it attached to the header, rebooted the machine, and enabled it.
This leaves me *one* qualification short of being able to install Windows 11 on the box: my CPU is too old. Sadly, I cannot install a new enough CPU on this motherboard to be able to install Windows 11 directly.
(Installing Windows 11 is only an issue because Microsoft is dropping support for Windows 10 in about a year. This is not yet urgent, but is keeping my attention.)
According to reports, there are ways to bypass the CPU check, although it's not clear if they will work on an upgrade install. It is now time to experiment.
Carefully.
(Oops. Got to download the security updates for the NAS. Hang on a minute...)
Ok, that's better. Anyway, the old drives were seriously warm, so just as well to stop using them as a space heater. And the computer is *much* quieter.
Once I got the drives out, I then set out to install the TPM support module on the header on the motherboard. Eventually, I got it attached to the header, rebooted the machine, and enabled it.
This leaves me *one* qualification short of being able to install Windows 11 on the box: my CPU is too old. Sadly, I cannot install a new enough CPU on this motherboard to be able to install Windows 11 directly.
(Installing Windows 11 is only an issue because Microsoft is dropping support for Windows 10 in about a year. This is not yet urgent, but is keeping my attention.)
According to reports, there are ways to bypass the CPU check, although it's not clear if they will work on an upgrade install. It is now time to experiment.
Carefully.
Today's Microsoft Entertainment
Jun. 27th, 2023 11:02 amMy work computer got a Windows 11 update to 22H2 this morning. That was fine.
What was *not* fine was that everything that I had pinned to the Start Menu was no longer pinned to the Start Menu and had been replaced with fine Microsoft programs like Edge and Paint. I spent about 15 minutes unpinning *everything* that they put on the Start Menu and hooking back up all of the applications that I actually *use*.
Really, how bad does your upgrade code have to be to do something that stupid? Or did they think that they were actually going to make *friends* with someone by "helping" them in this way?
Ah, well. It's fixed now.
What was *not* fine was that everything that I had pinned to the Start Menu was no longer pinned to the Start Menu and had been replaced with fine Microsoft programs like Edge and Paint. I spent about 15 minutes unpinning *everything* that they put on the Start Menu and hooking back up all of the applications that I actually *use*.
Really, how bad does your upgrade code have to be to do something that stupid? Or did they think that they were actually going to make *friends* with someone by "helping" them in this way?
Ah, well. It's fixed now.
The Fix Is In
Oct. 8th, 2020 10:21 pmI have been fixing a silly number of bugs in the last couple of days.
One of the bugs that I am fixing right now is one that I thought was going to be a horrible amount of work. It turns out that I can fix it rather simply, which I found out after digging through the code.
I just can't *test* the fix, for reasons having to do with Microsoft Excel's lousy handling of COM memory and garbage collection in .NET.
So I am checking in the fix and passing it along to someone who has installed the 32-bit version of Excel, which seems to do a better job of garbage collection than the 64-bit version. That's not what I would have expected, but it is what appears to be true.
Some problems are just annoying.
One of the bugs that I am fixing right now is one that I thought was going to be a horrible amount of work. It turns out that I can fix it rather simply, which I found out after digging through the code.
I just can't *test* the fix, for reasons having to do with Microsoft Excel's lousy handling of COM memory and garbage collection in .NET.
So I am checking in the fix and passing it along to someone who has installed the 32-bit version of Excel, which seems to do a better job of garbage collection than the 64-bit version. That's not what I would have expected, but it is what appears to be true.
Some problems are just annoying.
Intractable Problems Solved Cheap
Aug. 6th, 2020 05:58 pmSo we've been trying to port our code up from Visual Studio 2010 to Visual Studio 2019 for a bit less than two years now. (I started aiming for Visual Studio 2017, but that eventually became an obsolete target.) Most of the code appeared to be working, but when it was finally tested by our QE team, an intractable bug popped up.
The intractable bug has been sitting there for some obscene length of time. In the last two days, we have spent four hours on a session with the other group in our company that is trying to talk to our code across COM in order to make this work. Today's session didn't manage to solve the problem either.
About ten minutes after the session ended, I went to my machine and fixed the problem by setting one switch in the compile.
My Google-fu is strong, but it really helps when you finally find out what is going wrong in the communications protocols.
*sigh*
We'll see if this fix sticks...
The intractable bug has been sitting there for some obscene length of time. In the last two days, we have spent four hours on a session with the other group in our company that is trying to talk to our code across COM in order to make this work. Today's session didn't manage to solve the problem either.
About ten minutes after the session ended, I went to my machine and fixed the problem by setting one switch in the compile.
My Google-fu is strong, but it really helps when you finally find out what is going wrong in the communications protocols.
*sigh*
We'll see if this fix sticks...
I set out to install Windows 10 updates on the recording laptop earlier this evening. The first attempt failed and required me to revert to a previous install point. It's now proceeding again and is at "Preparing update, 59%", up only slightly in the last two hours from 51%
I think I will go to bed now, as I have a whole new year to try to finish this update in...
I think I will go to bed now, as I have a whole new year to try to finish this update in...
VMs and Softball
Sep. 21st, 2017 10:50 pmI have now been assigned a new VM at work on a physical server of a type that actually works with ClearCase. The investigation of why the other type of server is not working with ClearCase continues, but it is -- at least for now -- a matter of academic interest on my part rather than urgent need. Now, I just need to get the new VM configured, which is going to take days of installing software and source.
Meanwhile, Katie's team had a scrimmage against the other Des Plaines girls team today. Katie acquitted herself well, throwing out a runner at first from right field for the unusual 9-3 putout (looked like Kolten Wong out there :) ), walking, and lining a ball to right field for a two-run single with the bases loaded. (It might have been a double, but the runner on first stopped at second.)
Katie even caught an inning and didn't look too shabby back behind the plate.
(One of the other girls caught for what I think was the first time this season. She looked really good back there and it turns out that she likes to catch. The things you find out a few weeks into the season...)
Meanwhile, Katie's team had a scrimmage against the other Des Plaines girls team today. Katie acquitted herself well, throwing out a runner at first from right field for the unusual 9-3 putout (looked like Kolten Wong out there :) ), walking, and lining a ball to right field for a two-run single with the bases loaded. (It might have been a double, but the runner on first stopped at second.)
Katie even caught an inning and didn't look too shabby back behind the plate.
(One of the other girls caught for what I think was the first time this season. She looked really good back there and it turns out that she likes to catch. The things you find out a few weeks into the season...)
The girls had a half day off from school today, which maximized the amount of chaos around the house. But nothing too odd happened, so...
I am continuing my work on porting our C++/C# code up to Visual Studio 2017. This would be less entertaining if Microsoft hadn't changed their locale support in the CRT library around to hide all of the internals. Gack!
I am continuing my work on porting our C++/C# code up to Visual Studio 2017. This would be less entertaining if Microsoft hadn't changed their locale support in the CRT library around to hide all of the internals. Gack!
I am trying to port some of our old code to Visual Studio 2017. Unfortunately, the programmer who wrote one of the sections of code used some internal structures relating to locales that are no longer exposed by the header files. I understand why he did it, but I now get to figure out how to disentangle it.
This is about as much fun as it sounds like. :)
This is about as much fun as it sounds like. :)
I may have gotten Katie's computer working again with a bare metal reinstall of Windows 10. The number of little glitches in this version is dismaying. The Wi-Fi kept cutting out on this box -- not on the identical one that Gretchen and Julie use -- for reasons that appear to be subject to any number of voodoo solutions. One of them seems to have worked.
Of course, I spent some time before applying a voodoo solution to get Windows 10 to stop thrashing my hard disk on my computer in the last two days, so...
I understand that there are some difficulties in getting an OS to run on a variety of hardware choices. Even so, this is just being exceptional.
And not in a good way.
Of course, I spent some time before applying a voodoo solution to get Windows 10 to stop thrashing my hard disk on my computer in the last two days, so...
I understand that there are some difficulties in getting an OS to run on a variety of hardware choices. Even so, this is just being exceptional.
And not in a good way.
After numerous failed efforts to fix Katie's computer without doing a bare metal reinstall of Windows 10, I finally gave up and did so. Tonight, I finally got around to configuring it, installing anti-virus software, and getting Katie set up to log back in.
Then Windows decided to install updates. Now, the computer is in the same Automatic Repair failure loop that it was before. There are two System Restore points, but neither of them will allow a restore to actually occur.
I am not happy.
Then Windows decided to install updates. Now, the computer is in the same Automatic Repair failure loop that it was before. There are two System Restore points, but neither of them will allow a restore to actually occur.
I am not happy.
The Project List
Aug. 13th, 2017 10:19 pmProgress has been made. More progress will be made in a few minutes when I go upstairs with Gretchen and install the curtains in Katie's room on the Command brackets that we mounted earlier today.
In the meantime, Gretchen, Katie, and Julie put together an excellent lemon icebox pie based on a recipe from the Trib. This proved to be a fine dessert when Sam and Bonnie came by for dinner, which consisted of grilled hamburgers, chips, and sweet corn. And conversation. Lots and lots of conversation.
Back in the basement, I spent part of the early afternoon reinstalling plugins. Once everything was installed, it was time to fire up Cubase.
Oh, look! The menu is no longer vanishing. Projects open, close, and open again without crashing the system.
Of course, there were a few glitches. I had to manually point to the directories where some of the plugins were installed, but that was fairly easy once I figured out which plugin libraries were missing.
And then there was the X-Touch Extender, which was eventually persuaded to talk to Cubase and pick up all of the information that was being sent down the wire. The scribble strips were being particularly challenging.
But it appears that everything is working now.
And the weekend is over.
Maybe I'll mix something next weekend. :)
In the meantime, Gretchen, Katie, and Julie put together an excellent lemon icebox pie based on a recipe from the Trib. This proved to be a fine dessert when Sam and Bonnie came by for dinner, which consisted of grilled hamburgers, chips, and sweet corn. And conversation. Lots and lots of conversation.
Back in the basement, I spent part of the early afternoon reinstalling plugins. Once everything was installed, it was time to fire up Cubase.
Oh, look! The menu is no longer vanishing. Projects open, close, and open again without crashing the system.
Of course, there were a few glitches. I had to manually point to the directories where some of the plugins were installed, but that was fairly easy once I figured out which plugin libraries were missing.
And then there was the X-Touch Extender, which was eventually persuaded to talk to Cubase and pick up all of the information that was being sent down the wire. The scribble strips were being particularly challenging.
But it appears that everything is working now.
And the weekend is over.
Maybe I'll mix something next weekend. :)
This, That, and a Trip to First Place
Aug. 12th, 2017 10:28 pmIn the top of the news, the Cardinals have won eight games in a row and find themselves in a virtual tie for first place in the NL Central with the Cubs.
In other news, no one on the North Side of Chicagoland is speaking to me. :)
I have backed up the critical files on the studio computer preparatory to reloading the OS. After doing that, I discovered that the Windows 10 Creators Update has a new feature that will reload the entire OS, boot out all of the installed non-Windows applications, and leave your files intact.
I am, nevertheless, happy to have spent the time backing up the files.
But think about it! An OS that is so wonderfully stable that it now comes with its own built-in option to reload itself to clean up the trash that it's left lying around while leaving your files intact.
It's sort of the neutron bomb of operating system functions.
Windows 10 -- what an OS!
Ah, and we had the first serious softball practice for fall ball today. It went very well. Yay!
And Katie got her hair cut much shorter today.
That's the news. Time for bed!
In other news, no one on the North Side of Chicagoland is speaking to me. :)
I have backed up the critical files on the studio computer preparatory to reloading the OS. After doing that, I discovered that the Windows 10 Creators Update has a new feature that will reload the entire OS, boot out all of the installed non-Windows applications, and leave your files intact.
I am, nevertheless, happy to have spent the time backing up the files.
But think about it! An OS that is so wonderfully stable that it now comes with its own built-in option to reload itself to clean up the trash that it's left lying around while leaving your files intact.
It's sort of the neutron bomb of operating system functions.
Windows 10 -- what an OS!
Ah, and we had the first serious softball practice for fall ball today. It went very well. Yay!
And Katie got her hair cut much shorter today.
That's the news. Time for bed!
Getting Things Done
Aug. 12th, 2017 05:40 pmMaybe not as much as I might have hoped, but there is progress.
We had softball practice this morning.
We picked up the rest of the school supplies for the girls.
Gretchen took Katie for a haircut, while I went home to throw the ball for Ruby.
While doing this, I read Previews, rearranged my plans for Cubs games, and checked the Internet.
I have now moved the laundry.
And I am backing up all of the data on the studio computer before I try a bare metal reinstall of Windows 10 to fix my Cubase problems.
See, no one else is reporting Cubase problems, so I conclude that something here is corrupted. And it is likely to take less time to completely rebuild the machine and reinstall everything than continue to troubleshoot it. But this requires the data to leave this box and go off to the NAS.
So here we are...
*sigh*
See, no one else is reporting Cubase problems, so I conclude that something here is corrupted. And it is likely to take less time to completely rebuild the machine and reinstall everything than continue to troubleshoot it. But this requires the data to leave this box and go off to the NAS.
So here we are...
*sigh*
Windows 10 Creators Update Is Sucking Wind
Aug. 3rd, 2017 10:48 pmI got some help from tech support at Universal Audio, although eventually I just gave up, uninstalled the UA drivers, reinstalled the UA drivers, found that didn't help, repaired the UA drivers, found that didn't help, uninstalled the UA drivers, reinstalled the UA drivers, and finally I was able to load UA plugins inside of Cubase. Gack!
Cubase, on the other hand, remains ill. Although I can now open a project, when I do the Windows menu vanishes from the menu bar, although you can see the individual entries as you mouse over them, so it is not so much vanished as turned invisible. When you close a project and reopen it, the Mix Console window opens up and shows nothing in the area where you would normally see the plugins, routing, and faders other than the outlines for each of those windows. Then when you try to operate on it or close it, Cubase crashes.
Well, it worked for UA. Let's uninstall Cubase and reinstall it.
And guess what?
It didn't help.
I am becoming increasingly annoyed at this supposedly stable and safe-for-business update.
No, it appears that you can't revert to the earlier version of Windows 10 either...
Cubase, on the other hand, remains ill. Although I can now open a project, when I do the Windows menu vanishes from the menu bar, although you can see the individual entries as you mouse over them, so it is not so much vanished as turned invisible. When you close a project and reopen it, the Mix Console window opens up and shows nothing in the area where you would normally see the plugins, routing, and faders other than the outlines for each of those windows. Then when you try to operate on it or close it, Cubase crashes.
Well, it worked for UA. Let's uninstall Cubase and reinstall it.
And guess what?
It didn't help.
I am becoming increasingly annoyed at this supposedly stable and safe-for-business update.
No, it appears that you can't revert to the earlier version of Windows 10 either...
Me Vs. Windows and Cubase
Aug. 2nd, 2017 09:45 pmThis seems an inherently unfair match up. There's only one of me and there are thousands of people working to make things not work when you get an OS upgrade.
Ok, I am excessively cynical. But I am now starting to wonder if a vagrant Windows 10 update is the thing that is causing Cubase to misbehave so badly. The UA plugins simply won't load at all. The menu is MIA (although you can see individual entries by mousing over them). The program crashes every time you close it once you open a project.
I've tried pulling the Mackie Control drivers out. That hasn't changed anything. So now I am on to checking out Windows 10 and discovering that there is a big fix to the update that they just pushed.
Except when I try to load it, the download stops at two percent. Oh, joy.
So I am now running a system scan to see if Windows is basically sane, in the hope that will allow me to download an update that may work better with Cubase.
Assuming that it's Windows that is the problem.
It could be something else, you know.
Ok, I am excessively cynical. But I am now starting to wonder if a vagrant Windows 10 update is the thing that is causing Cubase to misbehave so badly. The UA plugins simply won't load at all. The menu is MIA (although you can see individual entries by mousing over them). The program crashes every time you close it once you open a project.
I've tried pulling the Mackie Control drivers out. That hasn't changed anything. So now I am on to checking out Windows 10 and discovering that there is a big fix to the update that they just pushed.
Except when I try to load it, the download stops at two percent. Oh, joy.
So I am now running a system scan to see if Windows is basically sane, in the hope that will allow me to download an update that may work better with Cubase.
Assuming that it's Windows that is the problem.
It could be something else, you know.
Me vs. The Compiler
Mar. 30th, 2017 11:49 pmI figured out the source of yesterday's problem.
I had put in a forward definition for a class in a header file so that I could declare a pointer to an object of that type inside the class that was defined in the header file. Like this:
When I destroy ThisClass, I want to destroy the instance of AnotherClass that it contains. No problem. I'll just call delete on the pointer like this:
That should work just fine.
Except it didn't. Because I hadn't actually included the header file for AnotherClass in the .cpp file for ThisClass. What I would have expected was that this should have produced a compile error telling me that I was operating on a class that hadn't been completely defined.
But there was no compile error. Instead, the Visual Studio compiler just called delete on anotherClassInstance like it was a pointer to a random chunk of memory with no destructor.
Hilarity ensued.
Well, at least I should remember what caused me to waste so much time the next time I run into this problem...
*grumble*
I had put in a forward definition for a class in a header file so that I could declare a pointer to an object of that type inside the class that was defined in the header file. Like this:
class AnotherClass;
class ThisClass
{
...
AnotherClass* anotherClassInstance;
};
When I destroy ThisClass, I want to destroy the instance of AnotherClass that it contains. No problem. I'll just call delete on the pointer like this:
delete anotherClassInstance;
That should work just fine.
Except it didn't. Because I hadn't actually included the header file for AnotherClass in the .cpp file for ThisClass. What I would have expected was that this should have produced a compile error telling me that I was operating on a class that hadn't been completely defined.
But there was no compile error. Instead, the Visual Studio compiler just called delete on anotherClassInstance like it was a pointer to a random chunk of memory with no destructor.
Hilarity ensued.
Well, at least I should remember what caused me to waste so much time the next time I run into this problem...
*grumble*
Obviously, I Should Have Made a Backup
Jan. 31st, 2016 10:05 pmFoolishly, I trusted Microsoft's assurances that the girls' computer and apps were Windows 10 compatible. Foolishly, I believed that things could be rolled back the same day that I'd run the Windows 10 upgrade.
Lies. All lies.
I tried doing a partial restore from the Acer hidden partition. That reinstalled Windows 7 partially, but the install couldn't finish for some unspecified reason. I finally gave up and wiped the old installation out completely, losing all of the Minecraft Worlds on that machine, but I did manage to get Windows 7 to boot again before going to bed some time after 3 AM. I set the machine to download updates, of course.
A shame I didn't think to turn off the sleep function. A shame that the sleep function will shut the machine down in the middle of downloading updates too. Who designed this mess?
Oh, right. Microsoft.
I turned off the sleep function in the morning and managed (finally!) to get the updates downloaded and installed. And then I had to reinstall the critical software which was -- happily! -- not much.
Well, it's a clean machine.
Should have renamed it "Penny Lane"...
Lies. All lies.
I tried doing a partial restore from the Acer hidden partition. That reinstalled Windows 7 partially, but the install couldn't finish for some unspecified reason. I finally gave up and wiped the old installation out completely, losing all of the Minecraft Worlds on that machine, but I did manage to get Windows 7 to boot again before going to bed some time after 3 AM. I set the machine to download updates, of course.
A shame I didn't think to turn off the sleep function. A shame that the sleep function will shut the machine down in the middle of downloading updates too. Who designed this mess?
Oh, right. Microsoft.
I turned off the sleep function in the morning and managed (finally!) to get the updates downloaded and installed. And then I had to reinstall the critical software which was -- happily! -- not much.
Well, it's a clean machine.
Should have renamed it "Penny Lane"...
Microsoft Lies, I Shouldn't Be Surprised
Jan. 30th, 2016 09:28 pmSo since Microsoft claimed that Windows 10 was compatible with the newer of the bedroom computers and the apps installed there, I figured I'd go ahead and run the upgrade from Windows 7. It looked like everything ran fine.
Right up until Katie tried to run Minecraft. Minecraft won't run, because the default driver that Microsoft installs for this old Intel chipset doesn't support OpenGL. There is no Intel driver for Windows 10 and the older drivers won't install.
So I figured I'd uninstall Windows 10 and revert back to Windows 7.
Except that option is missing.
I've tried telling it to go back to an older version via a different restore path, but the computer has been sitting there for hours now saying "Restarting".
Thanks, Microsoft, for making my little girl cry.
"Compatible". I do not think that word means what you think it does.
Rat bastards.
Right up until Katie tried to run Minecraft. Minecraft won't run, because the default driver that Microsoft installs for this old Intel chipset doesn't support OpenGL. There is no Intel driver for Windows 10 and the older drivers won't install.
So I figured I'd uninstall Windows 10 and revert back to Windows 7.
Except that option is missing.
I've tried telling it to go back to an older version via a different restore path, but the computer has been sitting there for hours now saying "Restarting".
Thanks, Microsoft, for making my little girl cry.
"Compatible". I do not think that word means what you think it does.
Rat bastards.
A bit less than eight years ago when I was building George Washington's Computer (so named, because I have replaced everything on it except the motherboard, CPU, and RAM), I made a mistake. I decided that I would install 32-bit Windows Vista Ultimate instead of the 64-bit version. Despite the fact that I've upgraded from Vista to Windows 7 and now to Windows 10, this decision leaves me mired on the 32-bit version which is seeming like a worse and worse idea. Now, it's possible to upgrade to the 64-bit version using the license that I have, but that would mean wiping the machine and reloading all of the software and data. This is most of the work that's required to actually build a new computer.
Of course, it's also cheaper than building a new computer. And since George's box has a quad-core Intel CPU running at 2.4 GHz, it's pretty fast all things considered. A new computer would be faster, but not enough faster to justify paying to build a new box. And reloading all of the software isn't really worth it to get to 64-bit. So here I am.
I had thought that I might need to upgrade to 64-bit just to get a stable set of video drivers, but NVIDIA finally released 32-bit Windows 10 drivers for my card that don't crash continuously. This makes me happy.
But then there was this afternoon's adventure. I needed to resize an image in Photoshop, so I started up the application, which promptly hung with a hidden window complaining about a bad monitor profile. I thought that I'd fixed this problem, but apparently not. A bit of Googling pointed me in the right direction and I went to delete the profile, but I couldn't because the profile was in use.
OK. I'll reboot. Except first, the system wants to install updates. Fine.
And once it rebooted, I still can't delete the profile, because it's in use.
OK. I'll reboot to Safe Mode. How the heck do you do that in Windows 10? Back to Google...
Once I rebooted in Safe Mode, I was able to delete the offending monitor profile. In fact, I deleted all of the monitor profiles. Then I deleted a few trillion scanner profiles from a MicroTek scanner that we no longer have, because eight years is a long time and drivers are something that companies don't maintain.
And after rebooting one more time, I was able to run Photoshop and resize the image so that I could finish up the project I was working on.
*sheesh*
Of course, it's also cheaper than building a new computer. And since George's box has a quad-core Intel CPU running at 2.4 GHz, it's pretty fast all things considered. A new computer would be faster, but not enough faster to justify paying to build a new box. And reloading all of the software isn't really worth it to get to 64-bit. So here I am.
I had thought that I might need to upgrade to 64-bit just to get a stable set of video drivers, but NVIDIA finally released 32-bit Windows 10 drivers for my card that don't crash continuously. This makes me happy.
But then there was this afternoon's adventure. I needed to resize an image in Photoshop, so I started up the application, which promptly hung with a hidden window complaining about a bad monitor profile. I thought that I'd fixed this problem, but apparently not. A bit of Googling pointed me in the right direction and I went to delete the profile, but I couldn't because the profile was in use.
OK. I'll reboot. Except first, the system wants to install updates. Fine.
And once it rebooted, I still can't delete the profile, because it's in use.
OK. I'll reboot to Safe Mode. How the heck do you do that in Windows 10? Back to Google...
Once I rebooted in Safe Mode, I was able to delete the offending monitor profile. In fact, I deleted all of the monitor profiles. Then I deleted a few trillion scanner profiles from a MicroTek scanner that we no longer have, because eight years is a long time and drivers are something that companies don't maintain.
And after rebooting one more time, I was able to run Photoshop and resize the image so that I could finish up the project I was working on.
*sheesh*