Wednesday, December 28, 2011

Rapid Release Schedule

One thing I've noticed lately is a lot of software is releasing too frequently. Of course, a phrase like "too frequently" is subjective. There is a fine balance between not enough and too frequently.

The whole reason to release a new version of a product is to add new features/support and/or fix bugs in the program. So new versions of a product are a good thing. But there is a downside to releasing too frequently. The main problem is there is a "cost" associated with updating software. Every computer with that software installed needs to download and install the updated version. Sometimes this is automatic sometimes it's manual. If it's manual then a frequently release schedule means the user spends more time upgrading. Automatic is not a panacea either. Automatically updating apps can lead to problems without the users knowledge. Plus there is the problem of bandwidth. Every upgrade requires bandwidth to download and install. For each individual user this isn't a problem, but consider on a whole how much total Internet traffic is wasted on continuous updates.

Probably the biggest problem with frequent updates is in corporate use. Most larger corporations do NOT use automatic updates, they use automated tools to update the software in their enterprise. When you consider how many applications will be used in a large enterprise, and if those applications are on a frequent release schedule this creates a lot of work for the IT admins.

A good example of a "rapid release schedule" would be Mozilla Firefox. I think my only gripe with Firefox is it's release schedule. In the middle of 2011 Mozilla announced Firefox would switch to a rapid release schedule. From 2005 'til 2011 Firefox went from version 1.x to 4.x. In the second half of 2011, Firefox went from 4.x to 9.x. So in less than 6 months Mozilla went through more major release numbers than it did in the previous 6 years. And it's not just Firefox. Google Chrome and Adobe products are two more examples of software that releases too often.

Typically software version numbers are major then minor. Often times there are addition numbers for even smaller releases (like bug fixes). If you increase the major version of a product, this should indicate a MAJOR change in the product. Makes sense huh? Too bad software companies don't seem to grasp this.

Tuesday, December 6, 2011

How to use a solder sucker



If you ever venture into the world of electronics repair then you'll need to be able to remove components soldered onto a circuit board. There are different ways to accomplish this. By far the best is desoldering tool like the Hakko 808. These are basically a soldering iron and a vacuum pump in one tool. It melts the solder then sucks it out of the joint. Very effective, but also very expensive.

There are less expensive options out there. Solder wick (a.k.a. desoldering braid) is probably the cheapest. This is basically a small spool of braided copper wire. You put the braid on the solder to be removed and heat both with a soldering iron. As the solder melts it's literally wicked into the desoldering braid.

The other inexpensive way to remove solder is using a tool called a solder sucker. A solder sucker has a spring-loaded plunger that when released creates a small vacuum effect through the nozzle. The theory behind a solder sucker is simple, but getting them to work is a different matter. I've found two different approaches to using a solder sucker.

The first is to use your soldering iron to melt the solder and at the same time hold the tip of the solder sucker close to the joint. Then in one quick motion pull the soldering iron away, put the tip of the solder sucker over the joint, and press the button to release the plunger. This technique works, but it's very difficult to get it just right. The problem is you have only a fraction of a second to suck up the molten solder before it cools and solidifies. Using this method I found it sometimes took half a dozen attempts before I was successful.

The second approach is one I stumbled upon be accident but works very well. First use your soldering iron to melt the solder to be removed. Next, add still more solder to the joint. The goal is to create a relatively large blob of molten solder. Now bring in the solder sucker and as soon as the tip of the solder sucker is touching the molten solder press the button. Do NOT remove the soldering iron, leave it there. Because the soldering iron remains on the joint the solder remains molten. Molten solder, like water, has surface tension which means it will stick together. So once some of the solder starts up the tip into the solder sucker, the rest of the solder will follow it. I find this method to work very well for removing solder. It usually removes all the solder on the first try.

Now this technique may not work well if you don't have a small soldering iron tip. I would suggest you experiment first on some junk circuit boards. Good luck and happy repairing.

Monday, December 5, 2011

Phantasy Star 2 - the lost data

In my last post I talked about my failed attempt to replace the battery in my Phantasy Star 2 cartridge without losing saved games. But since I did lose my saved games, I wanted to reminisce about what I lost.

First off, let me just admit I played this game way too much. I played it as much as I did because of my obsession with perfection. I was attempting to max out everything in the game. So that said, this is how far I had taken PS2.

In an RPG game, you fight enemies to gain experience and money. As you gain experience your characters level up. As you level up, your characters become stronger. In PS2 your characters are strong enough to beat the final bosses at about level 25. But I took all of my character up to the maximum level which was 35. But I didn't stop there. At level 35 your characters have abour 3 million experience points. But I wanted to max that out as well. So I took all 7 of my characters up to 9,999,999 experience points. That was 7 million experience points of gain for no reason.

Leveling up wasn't the only thing I did, I also wanted to maximize my possessions. In PS2 Star Mist and Moon Dew are valuable items to have, yet you cannot buy them in any store. You can only find them in a few scattered chests, or use Shir (the thief) to steal them. If you've played the game then you know Shir only steals at random, and even then she steals random items. I used Shir to steal so many times that I have enough Star Mists and Moon Dews to fill everyone's possession list completely.

Even with all this, there was one area of the game I was far from maxing out. My money was only up to $3 million and presumably you can have up to $9,999,999. Considering the most expensive item in the game costs $50,000 having a bank account with $3 million is pretty impressive. Still, I would have expected my money to be higher given all the fighting I had to do to max out my characters.

Given how strong my characters were, I could defect the final two bosses (Dark Force and Mother Brain) using ANY characters. I could go into battle with the "weakest" characters such as the Amy and Shir and still defeat them.

Friday, December 2, 2011

Replacing a video game cartridge battery without losing saved data

Back in the 8-bit and 16-bit video game days, a small number of game carts contained a battery in them. They used a small lithium battery to allow games to be saved on the cartridge. Before the 8-bit days I don't think they had saved games, and after the 16-bit days they used flash memory. So this is really a small number of 8-bit and 16-bit games that have batteries. But these batteries won't last forever, in fact most of them are probably dead by now. Amazingly enough I have a cartridge at home that still has saved game data 20 years later!

Replacing the battery isn't too difficult as long as you have some soldering skills, but doing so will erase any data saved on the cartridge. I own Phantasy Star 2 on the Sega Genesis (Mega Drive) that has some pretty incredible saved games that I want to preserve. So this is my attempt to replace the battery without losing saved games.

1. Opening the cartridge
This step may seem straightforward, but it may be more complex. The Sega Master System used standard philiips screws, but the Sega Genesis uses a security bit. So you may need to buy a security bit to open the cart, or find another creative way to open it. Once open you need to identify the type of battery. All Sega carts I've seen use a CR2032 lithium battery. Here are pictures of the front and back of Phantasy Star 2.




2. Buy replacement batteries
Once you know the type of battery you need to order replacement batteries. Yes, you need to order 2 batteries for this to work. I highly recommend you order "tabbed" batteries. Soldering directly onto batteries is difficult and can be dangerous. These replacement batteries should be fairly cheap. I got mine from newark for $2.57 each.


3. Add a battery in parallel
For this technique to work you need to solder a second battery onto the cartridge in parallel with the existing battery. In theory this battery will continue to provide power while replace the battery soldered into the cartridge itself. When soldering in this second battery be sure and get the polarity right.


4. Replace the battery
With the temporary battery in place, you can now desolder the old battery and solder in the new one. Removing the battery is very easy with a solder sucker, or you should be able to get it our using just solder wick. Once the original battery is out you can solder in the new one. You may need to bend the pins so they align with the holes in the circuit board. Also, as before make sure you get the polarity correct. Here's a picture of the new battery soldered to the board after I removed the temporary battery.


You can now reassemble the cartridge and try the game out. When I did here's what I got:


FAILURE! Crap, I just lost all my saved games.

So what happened? Well I can only think of one reason why this failed. Soldering requires very high temperatures, so the circuit traces around the battery were briefly subjected to temperatures in excess of several hundred degrees. A general rule of electricity is as temperature increases so does resistance. So my guess is the resistance increased causing a drop in voltage and current sufficient to cause a lose of stored data.

Is there a way to get around this and still make it happen? I can think of two ideas. First, if you used a voltage source higher than a single lithium battery (3.6V) the increased voltage might be enough to overcome the increased resistances from heat. Of course, this becomes tricky because too much voltage could "fry" the chips on the circuit board. The only other suggestion I can think of is to buy a retrode. This device allows you to read and write saved game info directly from the cartridge. So you could save the data to your computer, replace the battery, then restore the data.

Well even though my attempt was a failure, I'm glad I did it. It was a fun project, and these new batteries should last another 20 years.

Tuesday, November 29, 2011

What a crock

At home we recently got a new slow cooker (a.k.a. crock-pot), but I have to say I'm very disappointed. We've cooked several recipes in it and each was overcooked. I noticed with the crock pot set to low the contents were boiling. I'm sorry, it should not boil on low.

From what I can tell this is true of all new crock pots. Apparently manufactures have increased the cooking temperatures by about 20 degrees. So whereas low used to be about 185 degrees it's now 205, and high went from about 200 to 220. This change angers me. Most crock pot recipes are designed to cook at a certain temperature for a certain length of time. But by increasing the temperature now all recipes won't cook the same without guesstimating how much to decrease the cook time. Also, shorter cook times mean you can't put the food in before you leave for work and come home to a hot dinner. Instead you'll come home to a burned dinner.

Why did they do this you ask? Good question. Everything I've read says manufactures were afraid of being sued because the slower cooking crock pots left food in the "danger zone" longer. The "danger zone" being 40 degrees to 140 degrees, the temperatures most likely to encourage bacterial growth. But this is being overly paranoid. As long as you let the food cook completely there's nothing to worry about. If I take food out of the oven early before it's finish cooking I could get sick. But is that the ovens fault? No, it's my own stupid fault. The same is true with crock pots.

As you can tell I'm a little peeved here. I really enjoy crock pot cooking, but this new crock pot is going to make that difficult. If I ever find a crock pot with actual temperature control (not just low/high) I'll buy one. And if you have an older crock pot, pray that is lasts a long time.

Monday, November 28, 2011

Star Wars Lego ornaments

With Christmas fast approaching I thought it might be time for a Christmas related post. Last year I discovered a build your own Death Star Christmas tree ornament made out of Legos. This kit is not an official kit, so you can't buy it in stores. Instead, you need to log onto Lego's Pick a Brick website and order the pieces manually. I received this as a gift last Christmas, so this year is the first year our Christmas tree is decorated with a Lego Death Star.


This kit is "cool" on so many levels. It's Star Wars and it's Legos, both of which were a huge part of my childhood. Even though this kit is not official, it's done very nicely. The instructions are as easy to follow as a genuine kit. It's made out of genuine Lego pieces. And the end product looks very cool. I highly recommend this for any Star Wars and Lego fan. It is a bummer that you have to order the pieces manually. But the cost is reasonable. I believe it was just under $20, which included shipping.

New for this year is a build your own Millennium Falcon Christmas tree ornament Lego kit. I can see it now, in a few short years my Christmas tree will be nothing but Star Wars ornaments made out of Legos. :)

Sunday, November 20, 2011

Elenco XP-720K

I recently built the Elenco XP-720K, a bench variable DC power supply that comes in kit form. This is my mini-review of that kit and the process.

My first impression of the kit was of the quality. For a relatively small device it had a lot of weight. The metal case for the power supply is from thick metal, not cheap and flimsy. The painting on the case is very nice, and all the components for the inside are of good quality as well. The instructions are clear and easy to follow. All and all it was a fun kit to build.

As I built the kit I didn't photographically document every step of the way, but if you want to check out pictures of someone else building the kit go here.

I did make several changes or "mods" to the design.

  1. I replaced the provided potentiometers with some Bourns 10-turn pots (3590S-2-202L). With more turns I have greater control over accuracy. I can easily dial the output power to within 2 thousandths of a volt. I could have added some "fine-tuning" pots in series with these pots for greater accuracy, but I don't need that level of accuracy.
  2. In addition to the new pots, I used metal knurled knobs from Kilo (OEJL-63-4-5).
  3. I covered the connections with the voltage regulators in heat shrink tubing to prevent shorts.
  4. Instead of the provided capacitors, I ordered new high-quality low-ESR Panasonic brand capacitors rated for power supply use. With these high-quality caps the power supply should run for a long time.


Here are some pictures of the changes I made to the original design.






If I had to do this over I think there is only one change I would make. The new knobs I used were 5/8" in diameter. I think I would use larger 3/4" or even 1" diameter.

Even though I'm very pleased with this kit, I can think of some improvements I would suggest to Elenco.

  • The traces and the pads on the circuit board are too large. I suspect this is to make it easier for a beginner to solder, but it actually does the opposite. Because the there is so much copper on the board, it takes longer to heat the copper to get the solder to flow properly. So this actually makes it harder to solder.
  • Soldering the 12 wires onto the voltage regulators was not the easiest. If there were some sort of clip to slide onto the regulators, or if the regulators were soldered onto a second board with a ribbon cable connector between them, it would make assembly easier would help in reliability.
  • Use bridge rectifiers instead of 4 individual diodes. Fewer solder connections and would be quicker and easier.
  • Offer a model that includes a built-in display for voltage. Always having to use a multimeter to dial-in the voltage will get old fast.
  • Offer a model that is based around the switch-mode power supply design versus the linear design of the XP-720K. Sure it would cost more, but it would be more efficient and would be even more fun to build.


The Elenco XP-720K is a great kit and a useful product once complete. If you find yourself in need of a variable DC power supply, consider this product (or the smaller XP-15K).

Wednesday, November 16, 2011

Electrical surges addendum

In my last post I talked about electrical surges, how devices like vacuums generate them and how good-quality surge protectors guard against them. I can already see it, someone who it read is thinking "are you saying that a vacuum on the same circuit as a TV or computer without a surge protector would mean instant damage to the TV/computer?" Surely you can't be making that claim, because I've done just that before and the TV/computer still works, so your claims are false. Well, I don't claim this scenario will always result in damage to the TV/computer, but if you repeat this scenario eventually it will fail. Let me explain why this is.

The electricity coming into your house is AC (alternating current). The problem is very few devices use AC, most require DC (direct current). Therefore, every TV, computer, radio, etc. has an AC to DC power supply. Inside that power supply is the same protection circuitry located in a surge protector. That's why the device does not fail after one power spike.

"If the TV/computer protects itself against surges, why bother with a surge protector?" I'm glad you asked. The first reason is what I said in the last post - the circuity can only protect against X number of surges, after that it's useless. So if you don't use a surge protector eventually the TV will break and you'll have to replace or repair it, but if you use a surge protector you can replace the surge protector for much cheaper. The second reason is because the TV/computer probably contains a low-level of protection, i.e. it only protects against a low number of joules of energy. A good-quality surge protector will protect against more joules.

Also, if the TV/computer is on or off during the surge makes little difference. The device is probably more susceptible to surges when powered on, but may still be overloaded when turned off. The only way to truly protect it is by disconnecting it from the socket.

One final thing I'll mention is polarized AC plugs. You've probably noticed some AC plugs are polarized (one connector is larger than the other). If AC flows in both directions why is the plug polarized? The answer has to do with the protection circuitry. Manufactures put the protection circuitry on the "hot" wire and leave the "neutral" wire unprotected. Thus the polarized plug ensures the protection circuity is properly protecting the device. Manufactures could protect both the hot and neutral (and indeed some do), but this costs more money. If you've ever "forced" a polarized plug to fit the wrong way, the device was no longer protected. Also, if you have a wiring fault in your home, the device is unprotected as surges could come up the neutral wire. Both of these are still more reasons to use a good-quality surge protector. A good surge protector protects hot, neutral, and ground.

Electrical surges

Recently I learned some very useful info related to electrical surges and surge protection. An electrical surge can be described as additional voltage and/or current above and beyond the expected amounts. These surges can come from two main sources, outside your house (e.g. lightning strike) or inside your house (more on that later). Regardless of the source, a surge could easily damage newer electronic devices which are very sensitive to surges. Despite common believe, fuses do not protected against surges. Fuses only protect against too much current (amperes) not too much voltage.

Before I discuss protection, I wanted to talk a little more about surge sources. It's easy to understand surges external to your house - the most obvious example would be lightning strike. But surges generated inside your house are a little more difficult to understand. I won't go into the electrical science, but the short answer is any large inductive device has the potential to create voltage surges. The most common inductive device capable of generating large surges is large electrical motors. Whenever you turn off an electrical motor it creates a voltage surge on the household circuit on which it's connected. And yes you read that correctly, the surge is created after the motor is turned off, not before or during. This is one of the main reasons why refrigerators, washer and dryer, and air conditioners are typically on their own circuit. If other appliances were connected to the same circuit as these appliances they would get a surge every single time the motor switches off. There is however one large motor in your house which is not on a dedicated circuit - your vacuum cleaner. Vacuum cleaners have deceptively large powerful motors in them. It's not uncommon for a vacuum cleaner to pull 12 amps or more. That is a lot of power! So if you plug your vacuum cleaner into the same circuit as your expensive TV or computer, when you turn the vacuum off you're subjecting those devices to a surge. After vacuum cleaners, the next biggest source of surges would have to be fans (both those plugged into the wall and ceiling fans).

Now that we know the sources of surges, what can we do about it? Obvious you say, we use a surge protector. Well yes and no. The answer is a surge protector, but not all surge protectors are created equal. Most people refer to the following item as a surge protector:

This may be a surge protector, but chances are good it's just a power strip. A power strip is nothing more than multiple outlets with an on/off switch. It offers zero protection against over-voltage or over-current. A true surge protector is usually a little larger in size and costs more. The only way to tell them apart is to either open them up and look on the inside, or read the specs that came with the product. Chances are if you spent less than $10 or $20 on it, then it's probably a power strip not a surge protector. Probably the most respected name is APC, they make high-quality devices. There are other good brands as well.

Even if you have good-quality surge protectors, you may not be covered. As it turns out surge protectors breakdown over time. In effect they can only protect against a certain number of surges before they fail. When they fail the surge protector will still provide power, but the surge protection aspect is gone.

So what's the take-away from all this.

  1. Identify the circuits on your house with expensive electronic items (TVs, computers, etc.). Never use a vacuum cleaner on these circuits. Also, if possible avoid fans on these circuits.
  2. Buy and use good quality surge protectors NOT power strips.
  3. Even if you have good-quality surge protectors, don't assume you're safe as they have a limited lifespan.


If you really want to know more on this, I recommend you watch this video in which he does a great job of explaining inductive spikes. Also, the following article dissects a surge protector and goes into more details.

Monday, November 14, 2011

Electronic parts

Lately I've been doing a lot of electronics repair. It's kind of a fun little hobby. Say your flat-panel computer monitor dies on you. You could throw it away, or for about $4 and 5 minutes of time you can repair it. Of course, you need to know how and what to repair, and I'm not really going to cover that here. The other thing you need is replacement parts, which is what I wanted to talk about today.

Say you need a diode, capacitor, resistor, etc. to repair an item. You could go down to your local Radio Shack or other electronics supply shop, but I would recommend against it. First, these places have a very limited supply, and second if you buy online you can get higher quality components. Also, the prices online are cheaper, although when you add in shipping the final cost will be about the same.

I recommend digikey.com. There are other sites, but digikey is my preferred supplier. Let's say you're looking for a 680 uF 16 volt capacitor (like this):

Knowing how to find this on digikey's site can be overwhelming the first time you try it.

  1. Enter "capacitor" in the search box on digikey's site and hit enter.
  2. The next screen shows all the different type of capactitors (e.g. ceramic, tantalum, etc.). In this case we're looking for "aluminum" so click on that. (BTW: you just need to learn that aluminum is another name for standard electrolytic capacitors.)
  3. On the next screen, you need to filter down the selection. Under capacitance select "680uF." Under voltage select "16V." Under mounting type select "through hole." Finally check "in stock" and click Apply Filters.
  4. This filtered it down to 17 choices. From here you can find the one you want, or further filter using manufacture, dimensions, etc.


Depending on which one you select, the capacitor is only .40 - .75 plus shipping (which is cheap for small orders). Once you learn to navigate digikey's site they have some really cool stuff such as thousands of LEDs of ever shape and color. If you're into electronics repair, hobby kit building, RC planes/cars, etc. give digikey a look, they are very useful.

Friday, November 11, 2011

Stupid ISP

For the longest time I've had this unusual email problem at home. My work email account, I can read my email but I could not send emails. If I take my laptop into the office and connect to the Internet there I can read and send emails. So the problem isn't my computer, the problem is my network at home.

I finally decided to research this and found the problem. It turns out a lot of ISPs block port 25 which is the standard port for sending emails. They do this to cut down on the amount of spam being sent from their network. I understand wanting to cut down on spam, but it would have been nice if they told me they were blocking this port.

So what do you do if you're in a similar situation? I can only think of two possible situations. First, check to see if your email provider offers a second port through which emails can be sent (my provider offered this). The only other solution I can think of is to create a VPN tunnel into a different network (e.g. office network) that doesn't block port 25.

Thursday, November 10, 2011

Hard drive sizes - why marketing should be shot

Have you ever bought a new hard drive for your computer, but after installation the drive isn't as large as the package claims? Well the short answer is because the marketing department at the hard drive company lied to you. Every manufacture does it, and there is some precedence for what they've done.

It all comes down to math. Computers operate in terms of binary, 1s and 0s. A single 1 or 0 is called a bit. They group 8 of these bits together and call it a "byte." A byte is the smallest representation of data that computers store. When talking about larger numbers typically use prefixes like Kilo, Mega, etc. A kilobyte (KB) is 1,024 bytes. 1024 might seem like an odd choice, but they use it because 2^10 equals 1,024. And since computers use binary this was the obvious choice.

So where does the precedence come in? Well 1,024 is fairly close to 1,000 and as far as the human brain is concerned, doing math with 1,000 is a lot easier than 1,024. So it became common practice to use 1,000 to represent kilobytes. The problem is, as sizes get larger, the error compounds itself. Check out the following table:

Size / Percent difference

Kilobyte / 2.4%
Megabyte / 4.9%
Gigabyte / 7.4%
Terabyte / 10.0%

As you can see the error increases with each increased size. So if you buy a brand new 4 terabyte hard drive, it can actually store only 3.6 terabytes, or 90% of the claimed value. Hopefully at some point hard drive manufactures will discontinue this lie and accurately label their products.

How to select apples

I wanted to share a tip for selecting the best apples. This tip deals with the color of the skin, basically you need to ignore the color of the skin. I've noticed apples come in three main skin colors; solid red, solid green, and red/green combo. If the apple is suppose to have solid red or solid green colored skin, then you're not going to find them in the grocery store with the wrong skin color. So this tip mainly applies to the third type of apples.

Probably two of the most common red/green colored apples are Fuji and Gala. These also happen to be my favorite varieties of apples. I think a lot of people believe that the more red the skin the sweeter the apple will be. But this is wrong. On these types of apples, think of the red color as a sun burn. Basically the apples that grew on the top of the tree in direct sunlight will be more burned (red) than apples shaded by branches and leaves. But this doesn't affect the sweetness or taste. The best way to pick a good apple is to feel the apple for firmness. Feel the apple all the way around and select the firmest apple you can. All around softness is a sign of over ripeness and soft spots are an indication of having been dropped. In fact, in the store I typically select "greener" apples because most people want the "red" apples so you have better success finding firm green apples.

Again, this tip is most useful for apple varieties such as Fuji and Gala.

Monday, November 7, 2011

My ultimate free software list

Lately I've been on this big kick about finding the best free software on the Internet, and I've been pleasantly surprised. I found a lot of great programs out there that are totally free. Below is my grand list of what I've found up 'til now, for each item I tried to put a short description. There are too many in the list for me to put longer descriptions. I've broken the list down into software category types.

Multimedia

  1. Audacity - Powerful and useful audio editor that supports all the major audio formats.
  2. Avidemux - A good video editor. Does everything VirtualDub does and then some.
  3. CamStudio - Capture your desktop as a video. Great for recording product demos, youtube how-to videos, etc.
  4. FLAC - The audio encoding tools for FLAC, the free lossless audio codec.
  5. Gimp - An extremely powerful image editor (think Photoshop). The only downside is it has a steep learning curve.
  6. Greenfish Icon Editor Pro - Editor for Windows icon files. Not as powerful as Gimp, but smaller and has some nice features.
  7. HuluDesktop - Watch all the content of Hulu on your computer but without requiring a web browser.
  8. IrfanView - Powerful and yet simple image viewer program that includes some lightweight image editing tools.
  9. Lame - Audio encoding tools for MP3 audio files.
  10. Media Player Classic Home Cinema - A very good video and audio player. Has very simple UI and controls, like a program should.
  11. OGG - The audio encoding tools for the OGG audio format.
  12. VLC - Another simple video and audio player. Not as good as MPC-HC in my opinion, but has some unique features such as the ability to play internet streams.
  13. VirtualDub - A simple video editor. Can't do complex tasks, but can do simple tasks like rotate, adjust colors, adds subtitles, etc.
  14. WaveStudio - A free audio editor similar to Audacity, although not as good.
  15. Winamp - Audio player for pretty much any audio format.


Disc Utilities

  1. CDCopy - Utility for ripping audio CDs to WAV files for encoding to MP3, OGG, and/or FLAC.
  2. DISCInfo - Simple utility that displays info about your optical drives such as types of discs read/written, speeds, and firmware versions.
  3. DVD Decrypter - Allows you to backup/copy DVDs.
  4. DVD Shrink - Create copies of DVDs, remove unwanted material to save space.
  5. ImgBurn - Great utility for burning CDs. Burns either files to the CD, or burn from an ISO image.
  6. oscdimg.exe - Command line tool from Microsoft for creating ISO images. No download link for just this program, you'll find the file inside the Windows Automated Installation Kit download (1 GB in size).
  7. WinCDEmu - Mounts ISO files as virtual drives. I prefer version 3.4 which offers a "portable" version of the program.


Compression

  1. 7Zip - Awesome encryption that can be twice as much as the venerable PKZip.
  2. PKZip - Good old PKZip, where would the world be without you!?!
  3. Rar - Another good compression tool.


Security

  1. KeePass - Centrally store and manage all your passwords in one secure file.
  2. Microsoft Security Essentials - My favorite free anti-virus program.
  3. TrueCrypt - Create encrypted containers to store files, encrypt USB thumb drives, even encrypt entire disk partitions.
  4. Spybot - Scan for all the other types of malicious software that virus scanners don't check for.


Communications

  1. DNSBenchmark - Test the speed of your DNS servers against public DNS servers to find the best DNS servers for you to use.
  2. Google Chrome - Second best browser in my opinion. Has very good adherence to web standards.
  3. Firefox - Everyone should be using Firefox, the best browser as far as I'm concerned. Don't forget to add the plugins AdBlock Plus and Flashblock.
  4. FileZilla Server - FTP server for your computer.
  5. LeechFTP - A very good FTP client.
  6. Putty - A telnet and secure shell program.
  7. Thunderbird - The best email client, from the makers of Firefox.
  8. TightVNC - TightVNC is a remote desktop program. The built-in program with Windows is better, but if you can't use that for some reason try TightVNC. Other good options include RealVNC and TigerVNC.
  9. WinSCP - FTP and secure FTP client.


File Utilities

  1. Locate32 - Find files on your machine faster than Windows ever could.
  2. NTFSDelete - Recover previously deleted files. I personally prefer the look and feel of version 0.93 of this program.
  3. WinMerge - View the differences between two files and folders graphically.


System Information and Utilities

  1. AquaKeyTest - Program to test keyboards, helps you determine how many simultaneous keystrokes your keyboard can detect.
  2. CCleaner - Clean your system so it runs faster. Has an option to run as a portable application.
  3. CPU-Z - Shows you everything about your CPU, motherboard, chipset, and RAM.
  4. Defraggler - Defrag your hard drive. I think one is better than what comes with Windows. Has an option to run as a portable application.
  5. GPU-Z - Similar to CPU-Z but focuses on your graphics card.
  6. HWMonitor - Real-time display of all the hardware sensors inside your computer such as temperature, fan speed, and voltage.
  7. PCITree - View info about all the PCI devices in your computer.
  8. RegShot - Take snapshots of your computers registry and difference them to show you exactly what changed.
  9. SharpKeys - This program is used to map keys on the keyboard to other values.


Tool Suites

  1. AnalogX - Lots of good utilities here.
  2. Freezerware - Utilities written by yours truly.
  3. NirSoft - Tons of programs and all very useful. Most are available in 64-bit as well. Most, if not all, are portable.
  4. SysInternals - Now owned by Microsoft. Easily the best suite of tools on the Internet. Every Windows power user/developer needs these tools.


Games

  1. DoomLegacy - Play the original Doom and Doom 2 using new enhanced graphics such as lighting effects. Requires the original Doom WAD files.
  2. FCEUX - Emulator for the Nintendo Entertainment System (NES).
  3. Kega Fusion - Emulator for the Sega Master System, Genesis/Mega Drive, Game Gear, 32X, and Sega CD.
  4. MAME - Emulator for arcade machines.
  5. NagaSkaki - A really good chess program.
  6. Snes9x - Emulator for the Super Nintendo (SNES).
  7. Streets of Rage Remix v5 - An AWESOME fan remake of the Streets of Rage series on the Sega Genesis/Mega Drive. Download no longer available, but if you search the web you can find it.


Applications

  1. Adobe Flash - I personally hate Flash, but you can't get by without it these days.
  2. Adobe Reader - Not the best PDF reader in my opinion, but it is from the original creators of the PDF format which carries some weight.
  3. Adobe Shockwave - Again, I hate Shockwave, but you kind of need it.
  4. Hallo Northern Sky - Free planetarium software. Great for locating planets and constellations in the sky.
  5. LibreOffice - Free office software like Microsoft Office, only without all the bloat. LibreOffice is a branch of the more commonly known OpenOffice.
  6. Microsoft Mathematics - Free math software. Think of it as a graphing calculator on your computer - it even looks like a graphing calculator.
  7. Microsoft Office Viewers - If you just want to view Microsoft Office files not create them, then you need to download these Office Viewers.
  8. SumatraPDF - Small, simple PDF viewer. Way better than Adobe Reader. Includes a plug-in for browsers like Firefox.
  9. Sunbird - Calendar and organizer from the makers of Firefox.


Editors

  1. HxD - Very powerful hex editor. Edit files and disk sectors in hexadecimal.
  2. Notepad++ - Very powerful text editor. Blows the doors off of Notepad included with Windows, and pretty much every other text editor out there.


Development

  1. Application Verifier - Force bugs in code to cause exceptions which makes them much easier to find and fix.
  2. Interactive Disassembler (IDA) - Disassemble binary files, great for reverse-engineering.
  3. Microsoft Orca - Tool for creating and editing Windows Installer files (MSI). Included in the Windows SDK download.
  4. Microsoft Visual Studio Express - Free versions of the Microsoft flagship compilers. Has some features removed.
  5. VerySleepy - Profile applications to improve speed. Not as good as the Profiler including with Visual Studio, but that version requires the highest level of Visual Studio which many developers don't have.
  6. WinDbg - Very powerful and useful debugger. Included along with the Debugging Tools for Windows in the Windows SDK.
  7. Wireshark - The best packet sniffer available, period.
  8. WMIExplorer - Browse the WMI namespace on your computer.


Databases

  1. Microsoft SQL Server Express Edition - Free version of Microsoft's SQL server with a 4GB size limit.
  2. Microsoft SQL Server Management Studio Express - GUI editor for Microsoft SQL databases. This is a great companion to the free SQL Server Express.


Virtual Machines

  1. Virtual PC 2007 - Really good VM program, my personal favorite. Has good integration with the OS, both the host and client OS.
  2. VirtualBox - A VM program from Oracle. Has some cool features like USB pass-through. I believe it's also available for Linux.
  3. VMWare Player - VM program from VMWare, the biggest player in this market segment. Has lots of bells and whistles.


Operating Systems

  1. Ubuntu - Best version of Linux for the average person. Surprisingly user-friendly and easy to setup. If you want/need an operating system and you don't want Windows, this is your best choice.
  2. Windows PE - Yes, a free version of Windows. But not too useful for most people. Best used as a bootable CD to run diagnostics, backup, etc. Included in the Windows Automated Installation Kit download.


Bootable Utilities

  1. DiskCopy - Copy, clone, backup, and restore disk partitions.
  2. Memtest86 - Test your system memory for problems.
  3. Partition Wizard Home Edition - Move, resize, create, delete, etc. disk partitions.

Friday, November 4, 2011

Creating a C++ project without the C runtime library

So you're creating a very small C/C++ program using Visual C++, but you've noticed your program links to the C runtime library (CRT) even though you don't use the CRT. If your project links to the CRT it could cause problems. For starters your file size will be larger, and maybe a small file size is critical for your application. But the more serious problem is one of dependencies. By linking to the CRT your application is now dependent on the CRT libraries which may or may not be installed on every computer your application runs. You can get around this by statically linking to the CRT multithreaded libraries, but this increases your file size even further.

The better solution is to tell the compiler not to link to the CRT in the first place. To do that make the following changes in the project settings:


  1. C/C++ | Code Generation - Disable "Basic Runtime Checks." Anything that adds /RTCx to the command line must be removed.
  2. C/C++ | Code Generation - Disable "Buffer Security Check," i.e. add /GS- option.
  3. Linker | Input - Change "Ignore All Default Libraries" to Yes.
  4. Linker | Advanced - Set the "Entry Point" to "wmain"
  5. Finally in your code, create the entry point "int __stdcall wmain(void)"


This should allow you to compile and link without the CRT. You can create some incredibly small executables this way. However be aware this is best suited for simple apps. Anything more complex, like apps that link to MFC, this technique won't work as most other libraries and DLLs require the CRT.

DNS benchmarking

If you know how the Internet works, then you know how vital DNS servers are. Basically they convert human-readable names like "www.google.com" into addresses like "74.125.47.104." Loading an average webpage results in multiple DNS queries. So a slow DNS server means slower page loads, fast DNS equals faster Internet.

I just discovered two completely free DNS benchmarking utilities. They both do the same job and both do it will, so I'll mention them both here and let you decide which to run (or do as I did and run both). Both programs require a list of DNS servers to test, and both of them get this list from the same locations. 1) A built-in list of public DNS servers, 2) your computer's configured DNS servers (most likely assigned automatically to you by your ISP via DHCP), and 3) allow you to manually input additional DNS servers.

DNS Benchmark by GRC
GRC has made a lot of great free utilities over the years, and this one is no exception. I think everything this guy does is 100% hand-written assembly which is impressive. This also means the programs are small, fast, and simple (all good qualities).

Namebench by Goolge
Namebench is a program that came out of Google's "20% project." All developers at Google can use 20% of their time to work on personal projects. This is one of those projects. Namebench runs more tests than DNSBench which can be good, but it also takes longer.

Both of these are great programs and if you know what DNS servers are and how they work, I encourage you to give them a try. If you don't know what a DNS server is then don't bother, you're more likely to mess up your Internet connection then improve your speed.

Thursday, November 3, 2011

Watch Bing bleed!

I know I just made an anti-IE post, but I wanted to follow up with an anti-Bing post. It's not that I'm trying to rag on Microsoft. A lot of what they do is great, I mean heck my day job is as a Windows programmer so I owe my existence to them. But that's not to say I have to love everything they do.

Case in point - Bing. I have never been a huge fan of Bing. I'll admit, it's probably the second best browser out there, but the question remains, why use Bing when Google exists? Apparently I'm not alone in this thinking, and Microsoft has been loosing some serious money with Bing. To quantify it, between June 2009 and September 2011 Microsoft lost $5.5 billion dollars! And to make matters worse, the rate of loss is increasing not decreasing. Just check out this graph:


Whether or not you like Bing, this trend cannot continue. So either Microsoft will have to make drastic changes and/or cuts to Bing, or Bing will cease to exist before to long. Should be interesting to see happens.

Down with IE!!!

I've long hated Internet Explorer. I won't really go into the technical details of why, just to say that Internet Explorer is the worst browser and anyone still using it (regardless of the version) needs to switch now. Well the good news is, people are doing just that! IE has been in a steady decline for several years while Firefox has been on the rise and Google's Chrome is on a rapid climb. It's now official, for the first time in over a decade IE accounts for less than half of the browsing done on the Internet. If you look at just desktop computers or if you add in tablets and smart phones, IE is in a downward spiral.

Anyone who's a fan of IE could point out that IE is still the single largest browser in use with almost the same amount of use as Firefox and Chrome combine. My answer to that is to look more closely at the numbers. The best figure I can find is over 91% of all desktop computers run Microsoft Windows, with the remaining 9% running another operating system such as MacOS or Linux. So what this means is over 91% of the computers on the Internet come with IE preinstalled, and yet IEs share has dropped to less than half, which means a lot of people are bothering with the trouble to download and install a better browser (i.e. Firefox and/or Chrome).

So if you haven't already downloaded Firefox and/or Chrome, you need to do so. Let's see how low we can get IEs market share.

MP3 versus OGG

Recently I talked about FLAC, the free lossless audio codec. Although lossless is a good thing, me personally I couldn't hear a difference so I decided to go with the space savings of MP3 / OGG. But today I wanted to talk more about MP3 and OGG files.

Without a doubt the MP3 format is the de facto audio format. Everyone uses it, just about every device and piece of software reads that format. But that doesn't mean it's the best format. I recently took a closer look at the OGG format and was surprised by what I learned. Unfortunately I can't show you like I could with the picture samples in my post about image compression, so you'll just have to download some samples and judge for yourself.

Put simply the OGG format offers better compression for the same bitrate compared to MP3. So what this means is you can have smaller files than MP3 without sacrificing quality. Or you could have files of the same size but with better quality. At first I didn't believe these claims, I think part of me was hesitant to give up my trusty MP3 format. But listening to some samples and reading about the two formats it is true. Think of it this way, MP3 dates from the early 90s whereas OGG is from 2000. In that decade they improved upon the technique of compressing audio without losing quality. This is how OGG is able to compress more without loss of quality compared to the MP3 format.

So starting now I'm going to switch to the OGG format for all my furture audio needs.

Friday, October 28, 2011

Smart TVs - more like stupid TVs

Ok, today's post is more of a rant than anything. If you've even considered buying a TV in the past year than you know that most new TVs are what they call "Smart TVs." Basically the TV is Internet-enabled so you can watch content from the web as well as standard TV programs. At home I own two of these Smart TVs. But in my opinion they should be called "Stupid TVs." The "Internet" feature to these TVs is all but worthless.

When you think of the Internet, there is a ton of great free content to watch. And I'm not just talking about YouTube. Some of the great free sources of content are Hulu, ABC, NBC, CBS, Fox, and PBS. There are a lot more, but with just those 6 there is more free content then you could ever hope to watch. So, how many of these 6 Internet sites do you think you can watch using a Smart TV? The answer is ZERO! It's very frustrating too because you can use a computer and visit all these sites and watch free content all day long. But you cannot use a TV to view free content from these sites.

I don't blame TV manufactures either. The problem is the content providers (the above 6). They have decided in their infinite stupidity that we should not be able to watch this content from our TV (again, despite the fact that we can watch it from a computer, even a computer connected to a TV).

As far as I can tell the only uses for a Smart TV right now are the following:

  1. If you have a Hulu Plus, Vudu, Amazon Prime, and/or Netflix accounts (all of which cost money), you can watch that on your TV.
  2. I have found a single source of free content on my Smart TV, Revision3. Revision3 offers tons of great free programming, all of it is technology/computer related. If you're into that you'll enjoy their content, otherwise this channel won't be for you. My personal favorites are Tekzilla, Hak5, and the Ben Heck Show.


Well I'm just hoping these sites will finally realize how arbitrary and stupid their decisions are and allow us to starting watching this content. If not, I may build a HTPC to get around this problem.

DNS servers

I remember back in the day it was common to remember the IP address of at least one DNS server. This was probably back when I used a modem to connect to the Internet, and you would typically enter the IP address of a DNS server manually. Without at least one valid DNS server you might as well not be connected to the Internet because it's nearly impossible to access any sites. But remembering DNS server's IP address is never easy, they always have what appear to be random addresses.

Well good news. Google offers two public DNS server with very easy to remember IP addresses. They are 8.8.8.8 and 8.8.4.4. Hopefully you'll remember this little tidbit of info the next time you need to enter an IP address.

Thursday, October 27, 2011

Is the PC dead?

I've seen a lot of news stories and opinion articles lately that say the PC industry is dying. I think because I program on PCs these types of articles rub me the wrong way. Every article like this I've seen, when you read the article in detail it paints a different picture. In every case the PC industry is GROWING year over year. So how do they claim the PC industry is dying? Well their claims are based on the fact that the PC industry isn't growing as fast as it once was, so they are drawing the conclusion that if this continues the PC industry will start to decline. Well no one can predict the future. Certainly the global economy is weak right now, so that could easily explain the slower PC industry growth.

These articles always go on to say that most users are buying tablets and smartphones, and that these devices will eventually replace the PC. I personally find that hard to believe. I would say a desktop/laptop computer has two main uses - leisure and work. Leisure would be activities like playing games, watching videos, surfing the web, etc. I will agree that tablets and smartphones can do these leisure activities just as well as a desktop/laptop computer if not better. And they are portable so you can do it anywhere.

But what about "work." This would be tasks like writing documents, editing files, programming, accounting, etc. This is where tablets and smartphones I think will always fall short. Do you really want to write a 20 page paper on a 7" screen using the keyboard on the screen? Think about it another way. Businesses throughout the world buy millions of desktop/laptop computers for their employees to use. They are far and away the largest consumer of computers, far more than home users. I think that tasks people do on a work computer would not translate well to a tablet/smartphone. So as long as businesses need computers, the industry will continue to grow.

If I had to make a prediction here it would be this. Tablets and smartphones will continue to gain in popularity, especially with home users, and most home users will still buy a computer for home user although these numbers will decline slightly. Finally, I predict that businesses will continue to need mass quantities of computers.

Wednesday, October 26, 2011

Free Lossless Audio Codec (FLAC) files

In my last post I talked about PNG, the newer lossless image format which I personally think is superior to JPG. Today I wanted to talk about FLAC which is a lossless audio format.

As a general rule, lossless formats do not compress as well as lossy formats. So whereas FLAC will be smaller than the raw WAV file, it will not be as small as an MP3 or OGG. From what I've seen a good rule of thumb is a FLAC file will be about 50% the size of the original WAV. Compare that to MP3 and OGG which will be about 10% the original size. Or another way of looking at it is FLAC will be about 5 times larger than an MP3 / OGG.

If you read my last post, you know I liked the PNG format because you could see the lost image quality even in JPGs saved at 100%. So for me to recommend FLAC over MP3 / OGG there has to be a noticeable difference in audio quality. Unfortunately I cannot "show" you the difference as I can with images, you'll just have to download audio samples and have a listen. That said, I personally couldn't really tell a difference between FLAC and MP3 / OGG. I suspect that it really comes down to A) what the source material is and B) how good your speakers are. The same would be true of images. Most images you cannot see the "noise" in the JPG when saved at 100%. But certain images, such as my sample image with text, the issues with quality were apparent. So I'm guessing the same is true of audio files. Some audio samples you'll have to try very hard to hear a difference, whereas other audio samples the difference will be apparent. Given this, and the fact that MP3 / OGG are noticeably smaller than FLAC, my preference is to stick with MP3 / OGG for most applications.

Even through FLAC didn't win for me, it's still a nice format to have around. There are instances where I will use it, and since it's a totally free codec you don't have to worry about legal issues. One final note I'll mention for all you people out there who listen to your music on Apple devices. Apple has their own proprietary audio format called Apple Lossless. Both formats are lossless, but FLAC is definitely better. FLAC encodes and decodes the music in less than half the time, and the end file is a few percentage points smaller than Apple.

Tuesday, October 25, 2011

Portable Network Graphics (PNG) files

In the world of computers there are dozens if not hundreds of image formats. So many that I'm not even going to try and list them. But in terms of the Internet, relatively few formats are commonly supported. In fact it seems as if there are 3 main image formats; GIF, JPG, and PNG. I wanted to look more closely at these formats and try and learn more and the PNG format.

GIF
One of the first, if not the first, image format on the Internet is GIF. In the early days of the Internet, most people connected to the Internet via a slow 2400 or 9600 baud modem. So keeping file sizes small was very important. The GIF format uses a palette of 256 colors, so file sizes are pretty small. GIF does support transparencies (a single alpha channel) as well as animations.

JPG
The JPG format has undoubtedly become the king of image formats, both on and off the Internet. The JPG format uses lossly compression to achieve some pretty good compression ratios. I don't think JPG supports transparencies, nor does it support animations.

PNG
The newest format to come along is PNG. Like JPG, this format supports full color, but unlike JPG it uses a lossless compression so image quality is not compromised. Also, PNG has full alpha channel support, not just a single channel as with GIF. So really, you can think of PNG as the best of the two formats.


But how do the three formats compare? I created a sample image using GIMP. It's a gradient from blue to red on top, pure white on the bottom, and some sample text in the middle. Let's have a look at the image in the different formats.

GIF:

If you look closely at the GIF file you can see it dithered the image down to 256 colors. This is especially evident in the red part of the gradient. This would be even more evident if the original image had more colors. The GIF file is fairly small at 16KB.

JPG (80%):

The JPG saved at 80% quality looks really bad around the text. It's easy to see the compression has lost image data in order to get the file size down. This file is 6KB in size.

JPG (90%):

Whereas the JPG saved at 90% looks better, you can still see the loss in image quality. This file is 8KB in size.

JPG (100%):

The JPG saved at 100% looks pretty good. Unless you look really close you cannot see the loss of image quality. This file is 21KB in size.

PNG:

The PNG file is absolutely perfect. You cannot see any quality issues in the image because there are none to be seen. This is pixel for pixel identical to the original image. The PNG file is the largest at 31KB.


Let's have a closer look at these images:

I've enlarged the images 300%. You can clearly see the loss of image quality in the JPG 80% and 90%. The JPG at 100% looks good, until you compare it to the PNG below it. The PNG image is crisp and clear whereas the JPG is blurry.


Conslusions:
When the PNG format started gaining in popularity, I'll admit that I avoided it. Anytime I downloaded an image that was in the PNG format I converted it to JPG. After all, JPG is the king of image formats. But having seem the loss of image quality, even in a JPG saved at 100%, I now see the benefit to the PNG format. Add to that the full support for alpha channel and the decision is clear to me. The PNG format is a better format than the venerable JPG format. For only a slight increase in size you gain lossless compression and full alpha channel support.

Monday, October 24, 2011

Router firmware: Tomato

In my last post I mentioned 3rd-party firmwares for your wireless router. I wanted to talk a little more in depth about Tomato which is the router firmware I'm currently using. In the research I've done, DD-WRT is the most popular 3rd-party firmware, and it may even have the most features. However, most people who've tried both say they prefer Tomato. I personally haven't tried DD-WRT, so take what I say here with a grain of salt.

I wanted to show you some of the cooler features of Tomato. One of my favorite features is the router will display other nearby routers and the channel they are using. This will allow you to select a channel that has the least traffic and thereby eliminate or reduce conflicts. In the following screenshot, at the bottom you can see the list of other wireless routers. There are 3 APs (access points, a.k.a. wireless routers) on channel 1, six on channel 6, and one on channel 11. This makes it easy to pick the best channel for my area.


This next screenshot shows the bandwidth graphs. You can view graphs for real-time as well as 24 hour traffic, and totals for daily, weekly, and monthly. Useful if you need to track your usage, and just cool to look at.


On the advanced wireless page you can set things like "Afterburning" which is a burst protocol to increase wireless throughput, and increase the transmission power. The default was 42 mW, I increased mine slightly to 50mW. I guess anything up to 70 or so is fine, but beyond that it's self defeating as the broadcast strength causes reflections and a loss of signal.


And on this final page you can view graphs showing you the break down of your traffic according to your QoS rules. For me, I don't have any QoS rules right now, so the graph merely shows 100% of my traffic is unclassified.


Hopefully this has whet your appetite to try a 3rd-party firmware on your router. I've only been running Tomato for about 1 month now, but it's been working flawlessly. I've heard reports that DD-WRT has a tendency to randomly lockup, but I haven't had a single issue.

Wireless router firmware



A lot of people have a wireless router in their house similar to the picture above. But did you know with a change in the firmware you can turn that $60 router into a $600 piece of hardware?

Firmware, if you're not familiar with the term, is the software installed on the router. Just as software controls your computer and make it work, so does the software on the router. Whatever brand router you have, you can go to that manufactures web page and download updated firmware. These updates typically fix bugs and may even add new features.

But I wanted to mention something even cooler. Many routers out there support 3rd-party router firmware. This is firmware written by someone other than the manufacture. Why would you want to do this you ask? Simple, the hardware is capable of more than the manufacture wants you to do, so if you use a 3rd-party firmware you can enable tons of new features. Below is a small list of the types of things you can do with a 3rd-party firmware:


  1. Increase the broadcast strength. If you get poor signal in parts of your house increasing the broadcast power will likely help.
  2. Enable "afterburner" which is a burst protocol that enables faster wireless transfers.
  3. Add advanced networking capabilities to your router such as VLANs.
  4. Function as a VPN server and/or client allowing you to connect multiple remote networks together.
  5. Turn the router into a "bridge" to extend the range the initial router.
  6. Add graphs and charts to track and view network traffic up and down. See how much traffic you're using each day, week, month, etc. Some ISPs throttle you can depending on how much traffic you use each month, now you have a way to track it yourself.
  7. Enable powerful and effective quality of service (QoS) control. If you play XBox on the Internet and every time someone else in the house downloads some files your connection gets laggy, you need QoS. With QoS you ensure the XBox gets all the bandwidth it needs, and the file download gets whatever is left over. Yes, your default firmware probably supports QoS, but trust me, it doesn't really work the way it should.
  8. Turn your router into a web server. Yes, you can host a small web site from a wireless router. With the use of dynamic DNS you can even have it public so everyone can access it.


This is just a small list of the types of things you can do. All you need to do is download and install the new firmware. It's absolutely free! But this won't work on all routers, so if you're considering this route be sure and do more research.

If you're looking for 3rd-party firmware might I suggest Tomato, TomatoUSB, DD-WRT, or OpenWRT. I've heard great things about all of them. At home I'm running Tomato. I haven't tried the others, although I am curious to.

Thursday, October 20, 2011

What is handbrake?

At home I've been considering building a Home Theater PC (HTPC). During my research I've seen a lot of talk about a program called Handbrake and other related programs such as DVD rippers, DVD encoding, DVD burning, DVD playback, etc. I had a hard time understanding all this initially, but I think I've finally got my head around all this. I wanted to share it with others in the hopes that it helps.

I want to start at the opposite end from Handbrake, with the DVD player software. Two of my favorite media players are Media Player Classic Home Cinema and VLC. There are tons of other players out there, but these programs are two of the best. They are small, fast, and (most importantly to me) they have a clean simple interface. They are also powerful and they play every format I've thrown at them.

Ok, if you insert a DVD into your computer, start MPC or VLC, and select "play disc" it will begin playing the DVD. You can also use MPC / VLC and browse to the DVD drive where you'll see tons of VOB files. If you select one of these VOB files it will begin playing that video. DVDs store the video as a series of VOB files on the disc. So far everything is as expected.

Now let's say you want to watch the DVD without the disc. Why would you want to do that you ask? One good example is my laptop at home does not have an optical drive of any type. So I cannot watch a DVD on my laptop. So let's use Windows Explorer and copy all the files on the DVD onto a hard drive. If we use MPC / VLC to open the folder it will begin playing the movie, but the movie is all scrambled and unwatchable. If you open a single VOB file from the hard drive, again the video plays but it is scrambled. What happened? It plays from the disc but not from the identical copy made on the hard drive. The answer is copy protection. The disc is encoded in such a way that it only works if you play from the original source.

It turns out there is a way around this problem. You need to run software that enables you to copy the disc. I've found tons of programs that do this; DVD43, DVDShrink, DVDDecrypter, and DVDFab are four free programs I've found. If you use one of these programs to copy the disc to your hard drive, you can now open the files using MPC / VLC and it will play correctly.

Some of these programs appear to do more than just enable file copying. For example, DVDShrink allows you to remove menus, title screens, subtitles, foreign language audio tracks, etc. to reduce the size of the files.

I realize I haven't mentioned anything about Handbrake, which is the thing that started this thread. Why are so many people talking about Handbrake, especially since I just showed you how to copy DVDs and handbrake wasn't involved? It turns out Handbrake is a converter. Basically it converts the VOB files into an MP4 file. The main reason someone would want to do this is because not all devices have a VOB player. Apply iPod, iPhone, iPad, Microsoft XBox 360, etc. are all devices that don't play VOB files but they do play MP4 files. So Handbrake converts the video so that you can watch it on your iPad, XBox 360, etc. I should point out, converting the video will result in a loss of quality, so if you're planning on watching on your PC don't use Handbrake unless you need to compress the video to reduce its size.

Thursday, October 13, 2011

The case of the crashing server

In my office at work I have a server computer that has been crashing more and more lately. I very quickly ruled out the possibility of a software problem, if Windows were crashing I would get a blue screen of death (BSOD) or a mini-dump file. Instead the machine would just hard reboot at random intervals. The BIOS log contained nothing, so I was left to figure this out the hard way.

First I tried replacing the power supply, thinking maybe the output power would occasionally "dip" causing the crash. But it continued to crash. I noticed the crashes seemed to occur most often during heavy disk activity. So I suspected either the RAM or the disk controller. Since the disk controller was onboard the motherboard, I checked the RAM next. Reseating the RAM didn't help, so I ordered new replacement RAM (DDR3 is cheap right now). The new RAM appeared to fix the problem, it hasn't crashed since then.

But while testing the new RAM I noticed something else disturbing. Using HWMonitor I noticed the CPU (Core i5) was running hot! The idle temp was 50 degree Celsius and under load it got as hot as 104 degree Celsius. That's not good, you shouldn't be able to boil water on your CPU. When I built this computer I used the stock Intel cooler, but I've always hated the stock Intel cooler. Not because of performance or noise, but because they seem to be difficult to install. And the instructions don't help, they only contain pictures and no text.

I turned the machine off and removed the stock cooler. I discovered two faults when I installed the original cooler, so no wonder it was running hot. I cleaned off the CPU and cooler, applied some Arctic Silver 5 (consistently rated as the best thermal compound), and reinstalled the cooler. Now the CPU is idling at 30 degree Celsius and under load it goes no higher than 50 degree Celsius. Much better than before!

I'm sure between the bad RAM and the overheating CPU that I've solved this machines instability problem.

Wednesday, October 12, 2011

Streets of Rage Remake

I'm very excited about today's post. Easily one of the best series of games on the Sega Genesis was Streets of Rage 1 - 3. As you might have noticed from my previous posts, I like fan remixes of great games. And I'm pleased to announce there is a fan remix of SOR called "Streets of Rage Remake v5." This game took the author 8 years to create. Earlier this year he released the final version (hence the "version 5" in the name).

Let me just start off by saying this game is AWESOME! Below is a very short list of what's cool about this game:

  1. Includes faithful recreations of the first 3 SOR games.
  2. Adds tons of new original levels.
  3. Select different routes to take as you play.
  4. Play as any of the 6 characters from the first 3 SOR games.
  5. Includes 6 unlockable characters to play as.
  6. Tons of new character moves.
  7. Adds new weapons such as guns (and even a cheat to use lightsabers).
  8. New music that is still faithful to the original.
  9. New and enhanced graphics (including cool features such as transparencies and reflections).
  10. Online play with a friend.


That is just a short list of features. Trust me, this game is worth downloading. Oh, did I mention it's FREE!!! Unfortunately, Sega kind of considers this game a violation of their copyright, so you cannot download it from the authors website. But if you search the Internet you might still be able to find a copy.


Tuesday, October 11, 2011

Extra power cords



Most small to medium electronics use power supplies with a box on the end. I've heard them called "wall warts" or even "bricks." Whatever you call it, it's a power supply and they seem to becoming more common. Everything from cell phones to fax machines use these types of power supplies. What happens when the electronic item powered by these breaks or is lost? I think most peoples reaction is to just throw away the power cord, after all what use is it without the item it's designed to power? Well as it turns out they can be very useful and I would encourage you to save it just in case. Just as you may lose the electronic item and retain the power cord, you may also lose the cord but still have the item. And some of these power cords are interchangeable. The purpose of this post is to tell you how to know if you can reuse an old power cord.

As an example I'll use a real life example that happened to me yesterday. I bought a used wireless router of craigslist for dirt-cheap because it didn't have a power cord. So I went digging through my box of cords to find a suitable replacement cord.

Now let me be clear, do NOT just use the power cord if the connector fits, you're very likely to break the eletronic device! You need to follow these steps to determine if the power cord will work for you.

First, locate the power specs on both the power cord and the electronic device you're hoping to power. The specs should be on a sticker or stamped into the plastic and look something like this.


Step 1: Type
First step is to identify the type of output power, either AC or DC. Most power cords ouput DC, but a small number output AC. If the power cord matches the electronic item then proceed to the next step. If they differ then this power supply will not work. Note, sometimes they don't say "AC" or "DC." A solid and a dashed line means DC and a wavy line (sine curve) means AC.


Step 2: Voltage
Next you need to check the output voltage. The voltage needs to be an exact match. Technically you can go slightly higher on the power cord (10V power cord for a device requiring 9V), but be aware that higher voltage places the device under additional "stress" and may cause it to fail sooner. In this case the power supply is 12 volts which is what I'm looking for.


Step 3: Amps
Next locate the output amps. The amps on the power cord needs to be the same or higher than the device. It's important to note that the amps rating on the power cord is the maximum amp output, it does not mean the power cord forces that many amps on the output. So as long as the amps is the same or higher than your device you can use it. In this case my router needs 1amp and this power cord outputs upto 1.25 amps so it's good.


Step 4: Polarity
Most power cords like this use what's called a barrel-connector. Polarity of the connector is very important, getting it wrong would be like putting the batteries in backwards. For my power cord the inside is positive and the outside is negative. If the polarity does not match your device, all is not lost. You can cut the cord, strip the wires back, rotate one end, and reattach the cord. Bare minimum you need to twist the wires together and then cover with electrical tape, but ideally you solder the wires together and cover with heat-shrink tubing.


Step 5: Physical connector
The last step is determining if the physical connector will work. This information is not printed on the power cord or the device. So just check it, does the power connector fit snugly into the device? If not, you can fix this for cheap. Places like Radio Shack and digikey.com sell replacement barrel connectors. You cut off the old connector and solder on the new one. Just make sure to get the polarity correct. If you need to check polarity use a multimeter (or a LED).

There you go, the steps necessary to reusing old power cords and saving tons of money. Using this technique I found a power cord for my new wireless router and saved at least $20 over other used routers. You will notice we didn't look at the "input" section of the power cord at all. Assuming you don't have any foreign power cords, this should be a safe assumption. If however you have power cords designed to work in foreign countries these steps may not work.