Saturday, December 19, 2009

If all else fails...

One of my favorite things about my new video card (a Radeon 5770 by XFX) is that I can connect it to our large LCD TV and play movies or games on it, while streaming the sound over the HDMI cable. I also appreciate how the sound output automatically switches to the HDMI output whenever I extend the desktop to the TV, and then goes back to my surround sound headphones when I disable the display, all without me having to alter any settings. However, I recently ran into an issue with this - not with the sound, but with the video.

Whenever I extended my desktop to the TV, it would cut off a couple inches of the screen to the left and right. Naturally, this wasn't desirable. I spent a considerable amount of time changing settings in the ATI control panel, uninstalling and re-installing drivers, and searching Google for similar problems that others might have experienced. I couldn't find anything. I was at my wit's end when suddenly I realized there was something was overlooking - the TV settings. Sure enough, a few seconds playing with the TV remote told me that the screen was set to a 4:3 ratio instead of 16:9, and like magic, I suddenly had all of my desktop real estate displaying on the screen. I was glad I hadn't posted my issue on any forums, because I would never have lived that one down.

Remember, your problems aren't always as horrible as they may seem. The real solution could be much simpler than all the fixes you've been throwing at it.

Friday, November 20, 2009

Certified Ethical Hacker Certification

Another presentation for my class. I made this one just before I presented it, in 5-10 minutes. For fun, I embedded this one instead of just making a link. You can click on the full screen button if you don't want to see it through your loupe.

Wednesday, November 11, 2009

Pseudocode

For class, I had to do a short presentation on pseudocode from Google Docs. This is the presentation I came up with.

Tuesday, October 6, 2009

This is RAD

    When I was growing up, being heavily involved with computers, I naturally dabbled in programming, and being a self-proclaimed gamer, I liked to code games. The only people who ever saw these games were my brothers and sisters, who also tested them pretty extensively. If they found something that didn't work, wanted an extra feature, or had an idea for further development, they could just tell the coder, who was probably sitting right next to them while they played. Then I could code the new part, compile it, and they would be trying it out in a matter of minutes.

    I didn't know it at the time, but I was using Rapid Application Development (RAD). This approach allowed the users (my siblings) to directly communicate to the developer (me) any kind of feedback they wanted, and then see it implemented almost instantly. It worked well for us working on such a small project with only one developer and a limited number of users, but I can see how it could get pretty confusing as you scale up the number of users and developers.

    My other concern with RAD would be coding standards. When any large company codes a project, all the coding must be done to their coding standards regarding use of inline functions, comments, function headers, and so forth. The rapid aspect of RAD could make this hard to maintain, as coders quickly modify things or add functions without the proper formatting. However, if this was kept under close surveillance and rigorously enforced, I see no reason why RAD could not become an industry standard.

What’s Wrong with This Spreadsheet?

    The data headings were all listed on two rows, so the column headings were only showing half the name. We merged the cells and the headings were correct.

    Our boss had a PivotChart attached to a PivotTable and was wondering why the PivotChart kept changing when he changed the PivotTable data. Naturally the chart would change, since he was getting his data from the table. We changed the data source to be the actual data instead of the table, and had no more issues. When working with charts and tables, it's important to make sure you are pulling the data from the right place.

    After the chart is created, you can move it to another worksheet and format as you wish.

Worked on by Quentin, Stephen, Bay, and Robert.

Friday, September 4, 2009

The Learning Model

    The learning model is an efficient way to learn, and to teach. It combines faith and study to improve learning speed and retention. By using the learning model steps of accepting personal responsibility, preparing, participating, teaching others, and pondering and applying what we learn, we learn faster and more clearly. Because the application of the learning model involves preparation before class, involvement during class, and pondering after class, the things we learn become a part of our lives.

    We can see this model at work in Sunday School. It isn't spelled out, but all the elements are there. In reading the material ahead of time, we are preparing for the discussion and inviting the spirit to teach us. During class, our participation is essential in both teaching others and helping the spirit to teach us. In this way everyone is edified. After the class, is the principles are discussed as a family at home, be it over supper or in family home evening on Monday, the principles learned in class are further cemented in our minds.

Thursday, February 12, 2009

Decrypting Microsoft

Problem: My teacher had a hard drive from a computer that needed windows re-installed, but the owner no longer had the CD-key that had come with his computer. We needed to find a way to get the XP CD-key off the hard drive without running Windows from that hard drive.

Research: A bit of Googling revealed that while in Windows 95-based operating systems the CD-key was in cleartext in the registry, Windows NT-based versions (including XP) had the key encrypted in the registry. Our task, then, was two-fold.
  • Open the registry files from the old hard disk and find the key.
  • Decrypt the CD-key once extracted from the registry.
Part 1a: Open the Registry
There are several registry files on every computer. Each user has an NTUSER.DAT file in their documents, which is hidden under normal circumstances, but with the proper settings in the file explorer (Tools -> Folder Options -> View tab -> Show protected and system files, Show hidden files) it is displayed. The problem then is viewing the data in this file. This can be accomplished with a tool called loadhive. When you run this, it prompts you for a file to load. Navigate to the hive file mentioned and select it. After clicking Open Hive, it will display a window with some information. Do not close this window! This is telling you where it loaded the hive into the registry, and this hive file will only be loaded while this screen is displayed. Only after you have retrieved your key can you close this window, to unmount the hive file. Note that this will mount the hive file in a non-standard branch of the registry, so it doesn't overwrite your real registry.

Part 1b: Find the Key
Now that you have the hive mounted, go to Start -> Run, type regedit, then press enter or click Okay. Navigate in the registry to the part that was desribed in the loadhive window, for me it was HK_LOCAL_MACHINE\NTUSER. Inside of this, find the Software\Windows NT\Currentversion folder and click on it. In the right pane will be displayed a binary registry key labeled DigitalProductID. Double-click on this key. This will display the encrypted key with it's corresponding hexadecimal values. Don't worry if you don't understand it. The key is stored in sections 34 through 42. Here is a map to help you find your key.

0000  00 00 00 00 00 00 00 00  ..
0008 00 00 00 00 00 00 00 00 ..
0010 00 00 00 00 00 00 00 00 ..
0018 00 00 00 00 00 00 00 00 ..
0020 00 00 00 00 00 00 00 00 ..
0028 00 00 00 00 00 00 00 00 ..
0030 00 00 00 00 11 11 11 11 ..
0038 11 11 11 11 11 11 11 11 ..
0040 11 11 11 00 00 00 00 00 ..
0048 00 00 00 00 00 00 00 00 ..
The spots marked 11 indicate the sections where your key is stored. Congratulations, you have found your key!

Troubleshoooting Note:
If the "DigitalProductID" key isn't there or if your key seems to consist of only 00's, your key may not be in the NTUSER.DAT file. In this case, instead open the Windows\System32\Config directory and locate the Software file. It has no extension. Load this into your registry with the method described above and note that this will be loaded into a different area in the registry. Just read the loadhive window to find out where. Then follow the rest of the instructions to find the key normally.

Part 2: Decrypting the Key
This is the easiest part. Just go to this site, enter those pairs of numbers into the entry area (don't worry about spaces or capitalization) and press Decrypt Code. It now displays your 20-digit product key.