<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10998651</id><updated>2012-01-25T14:12:29.018-05:00</updated><title type='text'>Top.Level</title><subtitle type='html'>Making it better to be a smartass than a dumbass since, like, forever.  Your mom says hi.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10998651.post-112846475405227217</id><published>2005-10-04T16:38:00.000-04:00</published><updated>2005-10-06T01:56:39.020-04:00</updated><title type='text'>DIY Projects :: Save Some Cash, Restore Your Own Keyboard!</title><content type='html'>&lt;code&gt;&lt;/code&gt;It's about time you took a good hard look at that biological hotzone you call a keyboard. I don't care who you are, you've got schmutz on them keys! What's schmutz, and how do you get rid of it? Well read on!&lt;span class="fullpost"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:180%;"&gt;H&lt;span style="font-size:100%;"&gt;ow&lt;/span&gt;&lt;/span&gt; many times have you looked down at that keyboard you've been using for the last few years, and went "ewww, what the hell is all that schmutz on and in between the keys?"&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_schmutz.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_schmutz.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;That, my friend, is a conglomeration of dust, finger oils and dead skin. Eww, indeed. If you have a white/beige keyboard, this buildup can make itself apparent in just a few months of heavy use. Black/grey keyboards don't show the schmutziness as quickly, but by the time you DO notice, (letters on the keys getting hard to see?) things are pretty well gunked all to crap.&lt;br /&gt;&lt;br /&gt;Hey! Don't throw that thing out yet! Why spend another chunk of change on a new keyboard, when the one you have now works perfectly well! Look, our society might be infatuated with the concept of disposable technology, but did you really buy that keyboard with the intent of simply throwing it out later on? Why?! It just needs a cleaning, right? It's not at all as hard as you might be thinking. Most keyboards three years old or newer are designed to be easy and quick to build, which makes them that much easier for YOU to take apart, clean, and put back together again! It's a snap, I tell you! Oh, before you whip out the screwdriver and go to town, I want to advise you that this guide is going to cover only wired keyboards, not the wireless ones making the scene today. I haven't gotten my mitts on one to break it open and peer inside, so I'm not going to be imparting any semi-intelligence regarding them.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Incidentally, you're going to learn a thing or two about how keyboards actually work during this process, so remember well what you are about to do, and what you see in there. It will help you to better understand why it really is a bad idea to let Junior drink Coke around the computer.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;First, a small tutorial about how keyboards actually work:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;When you press a key, the key presses down on a rubber membrane or cup, which has a little teeny nub on the underside.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_keycup.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_keycup.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;A keyboard springcup&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;This nub in turn presses down on a thin plastic sheet with contacts embedded in it. For many keyboards, that's where it ends. For others, underneath that plastic sheet is another blank sheet, with holes directly underneath the contacts. Under THAT sheet is one more plastic sheet, with another set of matching contacts. When the rubber nub presses the first contact down, it presses through the hole of the second sheet, and touches the third sheet contact, thus completing a single circuit.&lt;br /&gt;Those little contacts create a circuit on a little chip inside the keyboard, called the keyboard controller. The keyboard controller sees this connection on a certain set of contacts, and knows that this connection is supposed to represent a special number, which it sends down the wire to your computer. Your computer, in turn, sees this number, and knows that you are pressing a specific key.&lt;br /&gt;&lt;br /&gt;Sounds complex, doesn't it? It really isn't. Basically, each key is a switch that sends a number to the computer, and the computer translates that number into whatever character you pressed on the keyboard. Now why did I take you through that mumbo jumbo? Well, because, the better you understand HOW it works, the better you will understand how to maintain or even fix it!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now, let's get to it!&lt;br /&gt;&lt;br /&gt;Most keyboards are the standard 101/104-key variety, with the regular old layout that we've come to know and expect. Others add enhanced features, like shortcut keys and such, that you would think would make them more complex internally, but really, they're not so bad either. For today, I'm going to walk you through cleaning a standard Dell keyboard.&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_overview2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_overview1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;The good old American QWERTY keyboard&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;The process should be similar for just about any other keyboard of similar design.&lt;br /&gt;&lt;br /&gt;First thing's first: TURN OFF THE COMPUTER. You do not want to be unplugging the keyboard from a live system if you can help it, and you certainly don't want to be working on it while it's still plugged in! Turn that bugger off. Now you can unplug that keyboard and get to the cleaning.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:180%;" &gt;Disassembly&lt;br /&gt;&lt;/span&gt;Flip the keyboard on it's face, so you are looking at the backside. You should be seeing a bunch of little screws.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_screws.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_screws.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;font-size:85%;"  &gt;Your keyboard's screw positions may be different, but they will be there just the same&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Make sure your work area has enough open space, and start pulling those screws. Keep them in a safe spot where they won't roll amok and get lost. Also, be sure to keep track of any that are of a different length, and remember where they went in the layout of the screw holes. Usually, if there are differently-sized screws, there will only be two sizes to worry about. Put a little mark next to the holes for one of the sizes to help you put it back together smoothly.&lt;br /&gt;&lt;br /&gt;Gently, GENTLY lift the back of the keyboard up. Now here is where it gets a little hairy sometimes. Most current-day keyboards use a solid, one-piece membrane underneath the keys. This membrane is what gives the keys their springiness. Other, older keyboards use individual little rubber springcups for each key. They can make the job look daunting, but it really isn't. This is the point where you need to determine how the actual keys themselves are attached in the grand scheme of the keyboard design. Peek underneath there and see which side the plastic sheets and controller chip are mounted to. If they are attached to the front side, over the backs of the keys themselves, great! Carefully lift the back away and put it aside.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_openedup.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_openedup.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;font-size:85%;"  &gt;This keyboard's membrane and controller are attached to the keys side (top side)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;If the membrane assembly is attached to the back that you are lifting. Push the keyboard case back together, flip the keyboard back right-side-up, and pull the top half off.&lt;br /&gt;&lt;br /&gt;So now you're either looking at a completely freed key assembly, or you have pulled the back off and are looking at the underside of the plastic contact membrane sheet(s) or, in this case, the backing assembly that holds the membranes against the springcups and keys. If you have a free key assembly, skip to step 2. For you others, don't panic, just read on.&lt;br /&gt;&lt;br /&gt;You should see a small controller board near the top of the case housing, which is holding down an edge of the contact membrane sheet(s), or the sheet(s) are being held onto the board with a tension plate.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_controller.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_controller.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;The controller, the brain of the keyboard, has the contact membrane held against it by this plate&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;Locate the screws holding the controller board or tension plate down, and remove them. Gently pull the controller board out, taking note of how the sheets made contact with the board. The controller board should be able to pull completely free of the keyboard casing at this point.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTE: If the controller board is underneath the contact sheet, don't pull it out yet. In this case, the controller is going to stay for now.&lt;/span&gt;&lt;br /&gt;- Carefully lift the plastic membrane sheets (careful, there may three layers of them) up off of the alignment pins holding them in position, taking careful note of the springcups underneath.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_membrane.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_membrane.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;If the springcups are embedded as one solid membrane, once again, great! Lift the plastic sheets off and set them aside. Lift the rubber membrane off as well, and you now have a free key assembly remaining.&lt;br /&gt;&lt;br /&gt;- If you peer underneath the plastic sheets and find a mess of scattered springcups, don't panic if they come up with the sheet or pop off and fall loosely about. They are easy to put into place later on, trust me.&lt;br /&gt;By the way, you see how some of them stick to the contact membrane, as in the photo above? That's evidence as to what might have been causing some keys to repeat when you tap them.&lt;br /&gt;Lift the plastic sheets free, and set them aside. Then collect the little rubber springcups, and keep them in a safe clean place, like a clean cup or bowl.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_springcups.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_springcups.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Look at all those little fellas!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;Now, remove the keyboard controller from the casing.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_controllerremoval.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_controllerremoval.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Look ma!  Brain surgery!   Not...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;  &lt;span style="font-family:trebuchet ms;"&gt;Now YOU should have a completely freed key assembly.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_free.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_free.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Whoa.  Maybe someone should put it back...&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; &lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:180%;" &gt;Cleaning&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Take the key assembly to the sink, and run some warm water. Cold water works, but remember you're dealing with skin oils here. Warm water is best, hot water is overkill, and could possibly damage something crucial. Grab a soft brush or cloth, and add a bit of dish soap. Shampoo works, too!&lt;br /&gt;Remember, we're trying to wash off the same stuff that gets onto your body every day, so the same products will work fine. Not only that, but your keyboard will come away with that shower fresh smell! :)&lt;br /&gt;Duck the key assembly under the water to get it wet, then give the keys a good working-over with the cloth or brush.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_cleaning.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_cleaning.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;&lt;span style=";font-family:trebuchet ms;font-size:85%;"  &gt;Those markings on the keys?  You want THOSE, so don't rub too hard!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;Don't be too agressive. You don't want to accidentally pop a key out of its socket. I mean, you *could* pull all the keys out of the assembly and send them through the dishwasher, but, again, that's overkill, unless you have a serious sticky soda spill problem. If that's the case, make sure to take a picture or draw a map of which key goes where, carefully pop them out of the housing, and give 'em the Electrosol treatment in the dishwasher. OR, soak them in a bowl of water with a dab of detergent.&lt;br /&gt;&lt;br /&gt;So now you've given the keys and shell a good cleaning. Rinse that baby out thoroughly. Give the key assembly some gentle shakes as you run the water over it, and keep doing so until you can see that the water coming out of it is clear and free of suds, indicating the soap is rinsed out. Turn off the faucet and give the assembly a couple of good shakes to release the bulk of the water lingering in there. Place the assembly aside on a towel for now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Time to give those springcups a lesson in cleanliness. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;For solid springcup membrane:&lt;/span&gt; Fill the sink partially with water, drop in a bit of detergent, and give the membrane a gentle manual working-over in the soapy water. Let soak for a couple minutes while the rest of us do it the hard way.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;For individual springcups: &lt;/span&gt;Hopefully you heeded my advice earlier, and put them into a clean bowl. Turn on the tap and fill the bowl of springcups with water just enough to allow them to float around freely. We're talking stew consistency here. Drop a couple dabs of dishwashing detergent into the water. You're not aiming to work up a massive suds war, so don't add more than is absolutely needed to get things clean.&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_soapingcups.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_soapingcups.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Clean the springcups to avoid sticking keys.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;  &lt;div style="text-align: left;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now's the time to mix things up a bit, literally. Stick a hand in the bowl and work the springcups in the soapy water for a short time.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_cupscleaning.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_cupscleaning.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Hey Madge!  We soaked in it!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;span style="font-family:trebuchet ms;"&gt;If you didn't go nuts with the detergent, things should stay manageable. If you decided to lay on the cleaning power and unload half the bottle into the bowl, we're telling your mom.&lt;br /&gt;&lt;br /&gt;Time to rinse the springcups! Make sure the sink is clean for this step. We just got rid of the schmutz for heaven's sake! You wanna get more of it on them now?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;For solid springcup membrane:&lt;/span&gt; Rinse the membrane off with the warm water.  Be sure to rinse off all traces of soap (no slippery sections).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;For individual springcups: &lt;/span&gt;At this point, I would recommend using a strainer or colander to rinse the springcups, because they can and WILL weasel their way down the drain. If you feel like living dangerously, feel free to follow my example and use a drain strainer to do the job instead.&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_springcupsrinse.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_springcupsrinse.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Living dangerously there fella...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;Once the springcups are rinsed off completely, lay them out onto a towel. I highly recommend a colored towel over a simple paper towel because, first, the cups are white, the paper towel's white, BIG chance to lose some of the buggers. Second, paper towels can leave fibers on the contact nubs of the cups, causing them to become completely useless in the keyboard.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_springcupsdrying.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_springcupsdrying.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Dry them  well, but avoid the blowdryer.  They're like little rubber parachutes!&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Lightly pinch random springcups between your fingers to feel for any soapy remnants. If there's still any soap there, rinse them again. Soap residue can also cause the springcups to stick to the contact membrane, and leave you with a string of aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... ah, crap.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;/span&gt;Grab that key assembly that's been (hopefully) sitting on another towel, air drying. Take that bugger outside or into the bathtub and shake it repeatedly but gently downward, with wide arcing motions, like you were lightly snapping a towel. Turn the assembly over and do it some more. Repeat this process until you are reasonably sure there is very little moisture remaining in the nooks and crannies of the assembly on both sides. You can use a hairdryer if you like, but don't get things too hot. Plastic has a nasty habit of getting all soft and melty when it gets too hot.&lt;br /&gt;Go back to the springcups and fold the towel over them. Rub them in the towel for a little bit, using extremely gentle pressure. They might be rubber, but they can be pretty thin, making them easy to rip, ruining their springiness. You DO want your keys to stay springy, right?&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;font-size:180%;" &gt;3.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:180%;" &gt;Reassembly (Springcup installation)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Everything's clean and dry, time for reassembly!&lt;br /&gt;Flip the key assembly upside down, and prop it up on your work area so that it doesn't rest on the keys. The goal here is to let the keys hang down as much as possible so we can get the springcups back in their proper positions without much fuss. I propped mine up with one of those folding yardsticks on one side, and a book on the other. Just make sure none of the keys are being pressed inward.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_assemblyprep.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_assemblyprep.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Nice balancing act, but the keys are fully extended now.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now comes the (only slightly) tedious part, unless you have a single one-piece springcup membrane.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;For solid springcup membrane: &lt;/span&gt;For you folks, simply align the membrane back over the keys and set it down carefully, so as to avoid knocking down your prop rig. Now sit back and watch the rest of us do some real work for a moment. Slackers.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-weight: bold;"&gt;For individual springcups: &lt;/span&gt;For you poor suckers... er... other people who have individual springcups, rinse and dry your springcup bowl and put the springcups back into it. Take them to your work area and begin putting them back into their proper positions over the keys, inverted like little bowls themselves. Center them in their slots so there are no problems with key movement later on.&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_springcupinstall.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_springcupinstall.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;They almost seem to fall right into place, don't they?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;Don't get careless when putting the springcups back into place. One stray bump against the key assembly could cause it to slide off of your props, and knock the springcups all over creation. Not a fun time.&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_missingspringcup.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_missingspringcup.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Umm... whoops?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Uh oh. The example above shows why you should NEVER use a sink strainer to rinse your springcups off. Looks like one made it down the drain to freedom after all! Luckily, this keyboard isn't my main one, and I can simply leave it out from the right Windows key, which I never use. You might not be so lucky. You could easily lose more than one, or worse, what if you use every key on the keyboard? NOW what?!&lt;br /&gt;&lt;br /&gt;From this point on, you will be reversing the procedure you followed to disassemble the keyboard. If the keyboard controller was the last thing you removed, it should now be the first thing to be put back. That's how it was in my case, at least.&lt;br /&gt;&lt;br /&gt;Lay the contact membrane over the springcups. If there are multiple layers, make sure that the holes in them are lined up properly (or you simply line up all the edges). Place the membrane over the alignment pegs, which should fit through some of the holes in the contact membrane to keep it in position.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_membraneinstall.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_membraneinstall.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Be careful not to slide the membrane over the springcups.  They like to grab on for a free ride.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;If you haven't mounted the controller at this point, now would be the time to get it back into place.&lt;/span&gt;&lt;/span&gt;  &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Don't forget the ground strap for the controller. Can't have random static charges flying around the chip, now can we? I'm gonna say no.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_mountground.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_mountground.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;You're grounded, son!  Yeah, I know.  Bad joke.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Continue on to assemble the rest of the keyboard. &lt;/span&gt;  &lt;span style="font-family:trebuchet ms;"&gt;At this point, you can see why a missing springcup is not a good thing. See that key that's dropped down? That's where the missing one should have gone. That key is now useless and completely non-functional.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_droppedkey.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_droppedkey.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Aww, Windows key fall down...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;So there you have it! A squeaky-clean keyboard that feels as good as it looks! Once you've cleaned it one time, you shouldn't have a problem doing it again sometime in the future. If you really love your keyboard, and would like to keep it as long as possible, be sure to keep it clean and free of debris, and, most of all, spilling liquids.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_finished.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_finished.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/keyboard_love.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/320/keyboard_love.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;It's a thing of beauty, but don't get carried away over it...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Junior, you get that Coke back into the kitchen!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;- &lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; never got around to huffing keyboard cleaner, but everyone thinks he did anyway&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div style="text-align: left;"&gt; &lt;/div&gt; &lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112846475405227217?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112846475405227217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112846475405227217&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112846475405227217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112846475405227217'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/10/diy-projects-save-some-cash-restore.html' title='DIY Projects :: Save Some Cash, Restore Your Own Keyboard!'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-112541932629367715</id><published>2005-08-30T12:28:00.000-04:00</published><updated>2005-10-05T15:22:18.190-04:00</updated><title type='text'>LINK :: Goooood times....</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;I think just about anyone who is in the tech industry can relate to this...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: trebuchet ms;" href="http://www.blogger.com/%3Ca"&gt;&lt;/a&gt;&lt;a style="font-family: trebuchet ms;" href="http://rinkworks.com/stupid/cs_web.shtml"&gt;http://rinkworks.com/stupid/cs_web.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112541932629367715?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://rinkworks.com/stupid/cs_web.shtml' title='LINK :: Goooood times....'/><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112541932629367715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112541932629367715&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112541932629367715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112541932629367715'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/08/link-goooood-times.html' title='LINK :: Goooood times....'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-112507462424908442</id><published>2005-08-26T12:24:00.001-04:00</published><updated>2005-10-06T01:58:55.746-04:00</updated><title type='text'>ADVICE :: How to Handle Large Scale Loss: Assesment and Recovery</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;If you deal with accounting, e-commerce or basically any field in the software development industry that involves working with large amounts of data, you know that as a software developer, you have a core responsibility when it comes to working with large amounts of important data (financial info etc..) You must eliminate as much of the human factor that you can. We all know, computers are 1's and 0's, true or false, on and off. Thats how they work, they don't make mistakes. The people operating them do.&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;But alas, it's inevitable...you will come across cases, more often than not, where there WILL be human interaction involved.. and when this happens, you must plan or be ready to suffer the rath of the evil "human error" *the crowd gasps*.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Recently, my company suffered a loss of over $18,000.00 over a 20 day period due to a simple human error on my part. This little screw up could have been easily avoided had I been granted the time to automate the process that I was doing by hand this particular day (which would have been FAR less than $18,000.00 in time needed to write) but i digress...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;The fact was, we had lost $18,000.00 and I was panic struck. I ran down to the IT guys office, in a cold sweat explaining what I had found...and being a marine, calm and collected, he told me the following.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;IT Guy: "Stop. Have you stopped the Bleeding? are we still losing money?"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;ME: "Yes. I've stopped it. No more loss."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;IT Guy: "Take a deep breath."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Me: "ok"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;IT Guy: "Have we made changes so it won't happen again?"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Me: "It won't."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;IT Guy: "Okay, so let's try and fix it and figure out how to recoup this cash we lost"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Me: "Ok."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;And so we did and that was that. After all was said and done, I asked him, "how did you remain so calm amidst the shit storm today?" And he told me about one of the core items they teach you in the Marines, is how to treat a fallen soldier, and how he applies it to every personal catastrophy that he is greeted with:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: trebuchet ms;"&gt;1. Stop the bleeeding.&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-family: trebuchet ms;"&gt;2. Start the breathing. &lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-family: trebuchet ms;"&gt;3. Protect the wound.&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-family: trebuchet ms;"&gt;4. Treat for shock.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;This has so far, been some of the best advice for me and I have repeated this back to myself on SEVERAL occasions after I have made a mistake (of the VERY few I make).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;So now I pass this wisdom onto you fellow IT reader... just remember, next time all hell breaks loose in your department, don't lose focus and make the situation worse... maintain focus and repeat to yourself...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: trebuchet ms;"&gt;1. Stop the bleeeding.&lt;br /&gt;2. Start the breathing.&lt;br /&gt;3. Protect the wound.&lt;br /&gt;4. Treat for shock.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;And when all is said and done, the day doesn't end up being as bad as you thought it was going in.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Cheers cletus!&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112507462424908442?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112507462424908442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112507462424908442&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112507462424908442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112507462424908442'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/08/advice-how-to-handle-large-scale-loss.html' title='ADVICE :: How to Handle Large Scale Loss: Assesment and Recovery'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-112268143777995539</id><published>2005-07-29T15:35:00.000-04:00</published><updated>2005-08-09T18:42:38.100-04:00</updated><title type='text'>OPINION :: Internet Explorer 7 is One More Case of "Too Little Too Late"</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Hey! Microsoft just released their beta version of the long-awaited, much anticipated update of their Internet Explorer browser, which still commands (unjustly, in my opinion) a huge majority of the browser market.&lt;br /&gt;So far in it's spotted history, IE has come under fire multiple times for lack of functionality when compared to other competing products, and more so recently with the full release of Mozilla's Firefox, not to mention that whole anti-trust fiasco contending Microsoft's right to ensure their customers used their (Microsoft's) browser by bundling it, and no others, with Windows. In light of all of the troubles that IE has wrought during my online journeys, I will withhold spewing any of my admittedly tainted judgements forth, at least for the moment, and simply present you, dear reader, with a short list of pros and cons about this new IE release, and let you make your own call.&lt;br /&gt;&lt;br /&gt;Now, the first thing that I noticed when looking over screenshots and reading reviews for this product was that Microsoft seemed bent on playing dad to its customers. Once again, their obsession with anti-piracy features puts more of a burden on their customers than on their intended targets: owners of illegal copies of Windows XP. For example, to even install IE7 in the first place, you have to go through an authentication procedure, which re-verifies that your copy of Windows XP is legit. If you're not just skimming this, then you're probably thinking "but what about Windows 2000 or ME," and you'd be dead-on with my own line of thinking at this point. The answer? No matter how appealing the new IE looks to you, no matter how much you'd like to support Microsoft's latest venture, you simply won't be able to unless you buy Windows XP. Period. But wait, there's more. Even if you currently have a legit copy of Windows XP, if you don't have Service Pack 2 installed, you STILL can't get the new IE. Worse, if your machine just goes nuts whenever you try to install SP2, (thanks for THAT one Microsoft), then you are STILL stuck having to buy Windows all over again, with SP2 already embedded, JUST so you can upgrade your web browser?! Granted, this is what it's requiring in it's beta form, but I doubt that will change when it finally goes gold. Okay, on with that list I mentioned:&lt;br /&gt;&lt;br /&gt;New Features&lt;br /&gt;----------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Tabbed browsing : &lt;/span&gt;Microsoft's version of tabbed browsing is fairly close to the look and functionality of Firefox's tabs. Click with your wheel mouse on a link, and the new page opens in a new tab.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Integrated search bar: &lt;/span&gt;About danged time too. We've been forced to install Google's searchbar if we wanted a decent quick-search method in IE. What's interesting is that even in beta, IE7's integrated search bar defaults to Google! It's also ready to work with a few other major search engines.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Full .png image rendering support: &lt;/span&gt;Also about time. What with all these Linux nerds and their affinity for anything outside the lines, .png images have been making appearances all over the major websites lately. Well, to be fair, .png as a format has some hefty advantages over the old-and-busted .gif format. IE7 supports them now, but it's still very clunky and rough.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Built-in phishing protection: &lt;/span&gt;An interesting addition. IE7 will actually allow the user to submit a suspected phishing site address to Microsoft for a little closer scrutiny. Sites that have already been identified as phishing sites will cause a small notification to show up in the browser status bar. Good idea, but this also gets the tin foil hat guy in me wondering what else MS is retrieving from us through the browser. Just saying...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- RSS newsfeed reader:&lt;/span&gt; This is one that a lot of IE fans were clamoring for. It seems to work pretty well, although it's evident that this feature still needs some tweaking before it's ready for the final release.&lt;br /&gt;&lt;br /&gt;Okay, those were the major pros.  Now it's time for, and you knew they were coming, The Cons.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Forced authentication/conformity:&lt;/span&gt; Look, I'm all in favor of Microsoft making a buck or two off of their efforts, but when they go to the lengths of making me prove my legitimacy to them (again) for the sake of upgrading a freaking web browser, I start considering whether or not the problem is with their ability to trust my software installation, or ME personally. Not only that, but I haven't been exempt from those issues that many people were having with SP2. I couldn't install it unless I re-installed a new copy of Windows with SP2 already built-in. No way I'm going to let a browser dictate to me what I should be running for an OS.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Excessive memory usage: &lt;/span&gt;Flexbeta's review went so far as to check the memory used by both Internet Explorer 7 and Firefox, side by side. It turns out that IE was using 20MB MORE than Firefox for the same load. What?! Why so much guys? Well, then again, this IS still beta. IE fans will simply have to wait with bated breath to see if this particular con is a bug waiting to be squashed, or one more "unintended feature".&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Still no true CSS2 support&lt;/span&gt;: Yes, Microsoft continues to deny that there even EXISTS such a thing as CSS2, except for their own version of it, of course. Also of course, IE7 will continue the longstanding MS tradition of supporting its own unique suite of commands while completely ignoring the really neat things that everybody else's browsers are capable of rendering under CSS2.&lt;br /&gt;&lt;br /&gt;All in all and in the end, IE7 IS Microsoft's product, and so is the operating system under which it was intended to run. However, I really have a problem with the fact that Microsoft is going out on a limb this far regarding a pair of products that are simply dominating the markets for which they were intended. Their current authentication scheme is unfair to their customers, as is the practice of forcing upgrades. Sure, some people simply need to get with the times, but not everyone can afford the latest and greatest hardware. If Microsoft is truly envisioning a computer in every home, then they really need to mellow out and start working on making their product a little cheaper and more accessible to the masses. Let's face it: they have every right in the world when it comes to casting the ole fish eye on folks trying to activate a new Windows install, who may or may not have obtained their installation keys legally.  But when they start burdening their legit customers this way, what's to keep them from moving to an alternative OS the moment something viable comes along?&lt;br /&gt;I firmly believe that the only reason Windows has such a stranglehold on the market is because there are no other products allowed to compete with it.  If somebody comes up with a potential solution that may be a threat, Microsoft simply throws so much money at them that they can't resist selling out.  Hey, I know I would if I were offered a cool couple million to knock it off.  There's money now, and there's potential bigger money later.  I admit it: I'm all about the instant gratification.  Like you aren't?  Please...&lt;br /&gt;&lt;br /&gt;So anyhow, like I was saying, if someone were to successfully release a solid-completing product to Windows, there would likely be a mass exodus to their camp.  One such potential is next year's hotly-anticipated OSX86 (Apple OSX for Intel architecture). &lt;br /&gt;It's okay if you don't think this is so.  We'll see who's right when Apple cries "havoc," and lets slip the dogs of war.  Sides will be chosen very quickly, and I know that given the choice, for my part, I would choose the stable OS that doesn't watch over my shoulder and restrict what I do with my own computer in my own home.  Whoops, that's OSX, isn't it?!  Heh.&lt;br /&gt;&lt;br /&gt;Listen, you don't have to take my third word for it.  Check out these links to check out some reviews from the folks that have already pushed IE7 to its current limits, and found it lacking.&lt;br /&gt;&lt;br /&gt;http://www.flexbeta.net/main/articles.php?action=show&amp;id=102&amp;amp;perpage=1&amp;pagenum=3&lt;br /&gt;&lt;br /&gt;http://reviews.zdnet.co.uk/software/internet/0,39024165,39210992,00.htm&lt;br /&gt;&lt;br /&gt;http://slashdot.org/articles/05/07/29/0618205.shtml?tid=154&amp;amp;amp;tid=95&amp;tid=185&amp;amp;tid=1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;a href="mailto:%20deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; is dreaming of a Mac Christmas.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112268143777995539?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112268143777995539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112268143777995539&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112268143777995539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112268143777995539'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/07/opinion-internet-explorer-7-is-one.html' title='OPINION :: Internet Explorer 7 is One More Case of &quot;Too Little Too Late&quot;'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-112249140987753491</id><published>2005-07-27T15:09:00.000-04:00</published><updated>2005-07-27T15:10:09.883-04:00</updated><title type='text'>HUMOR :: Silly...</title><content type='html'>if(!RubLotion(It.Skin)) Hose(It)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(thanks ryan you silly bastard)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112249140987753491?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112249140987753491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112249140987753491&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112249140987753491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112249140987753491'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/07/humor-silly.html' title='HUMOR :: Silly...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-112191392454270285</id><published>2005-07-20T21:56:00.000-04:00</published><updated>2005-07-20T22:59:13.846-04:00</updated><title type='text'>COOL TIPS :: Hacking Firefox</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;THERE is one thing that is a universal constant in the Linux users' universe: ALL Linux/Unix nerds will tout their beloved operating system's versatility and ability to be configured at the core level. This is the single most powerful argument they have in support of Linux, and it's quite valid.&lt;br /&gt;&lt;br /&gt;Many seasoned Windows users have complained more than a few times about the lack of configuration capabilities in many Windows programs, including the OS itself. We Microsoft whores uttered a collective groan when our Lord and Master, Microsoft, announced that they were pulling a critical important component out of their next release of Windows: the ability to control EVERY TINY aspect of the operating system from the command line level. This was slated to be a component of the highly-touted Microsoft Services For Unix, or MSFU (swear to God). Windows was finally going to allow us to mold its deepest tiniest options to our liking, all while maintaining that stranglehold on the closed-source code model that Microsoft has embraced for so long.&lt;br /&gt;Well, that's now gone. At least, the configuration of Windows at the command line level is gone. MSFU is now available for sale separately for like $80. Thanks, guys. We were just starting to think you were trying to make the price of ANOTHER upgrade finally worthwhile. Guess we should have seen that coming.&lt;br /&gt;&lt;br /&gt;Contrary to what you might be thinking right now, this is not a Microsoft-bashing article. Rather, it's a shining ray of hope for all you Windows-loving tinkerers out there. You folks already recognized the shortcomings of Windows and the tools that are bundled with it. One such flawed tool is Internet Explorer; in my opinion, the largest corporate-developed-and-backed virus/trojan distribution application on the planet. The flaw is largely thanks to Microsoft's continued reliance on &lt;a href="http://www.webopedia.com/TERM/A/ActiveX_control.html"&gt;ActiveX&lt;/a&gt;, a technology that is natively-embedded in the browser, and one which lets a sneaky programmer create a small program that peruses the Web, looking for computers running IE and connected to the Internet, which then infect those machines on the sneak and from that point on have complete and total access and control of those machines.&lt;br /&gt;Most unimaginative script kiddies simply send out bugs that turn unsuspecting users' computers into spam zombies, which send out insane masses of junk email at an alarming rate. This problem has grown so bad that many Internet Service Providers are actively cutting off their users from the Internet until they get their computer cleaned up. Other folks aren't so amateur in their code-writing. Some of the more sinister folks can create a script that sits on a victim's hard drive, running in the background, and waiting for the user to do a Google search for "chocolate chip cookie recipes", at which point it flash-formats the hard drive, destroying all data and programs on it in seconds. Now, what I've just described are technically worms that aren't themselves written using ActiveX, but ActiveX does allow those worms to have direct access to computers on the sneak, without the user's knowledge.&lt;br /&gt;Microsoft's Service Pack 2 patch to Windows XP attempts to address this issue, with some pretty noticeable success. However, there are still a zillion people out there who refuse to upgrade, or are running versions of Windows previous to XP like 2000, ME, 98 or, God help us, Windows 95. Those folks continue to offer a lucrative target base for spammers and malicious 'kiddies alike. In the end, you can hardly hold Microsoft at fault for sticking with ActiveX. I mean their entire business model is built around and dedicated to the technology. Their Passport service is based on it (or at least it was until recently), as is the crucial meetingplace of all Windows users at one point or another: WindowsUpdate. Without the ability to download and run a small (and safe) ActiveX control, Microsoft's website is unable to determine which updates you actually need to download. Bummer.&lt;br /&gt;&lt;br /&gt;This lengthy lead-in was written to help you understand better the wild popularity of an alternative browser: &lt;a href="http://www.mozilla.org/"&gt;Firefox&lt;/a&gt;. Mozilla's little brainstorm has created a huge fanbase almost overnight. Why? Well, how about tabbed browsing? Microsoft is already attempting to claim that they invented it, and will be including it in the coming Internet Explorer 7. Firefox also does NOT use ActiveX, which is bad news if you are a WindowsUpdate Frequent Flyer(tm), but is absolutely beautiful music to the ears of anyone who is sick and tired of all the homepage hijackers and endless repetitive popups that some websites create.&lt;br /&gt;&lt;br /&gt;Now for the REAL reason you are reading this. Firefox, unlike it's big city cousin IE, can be configured, by the user, at the smallest level of detail. It's SO easy too, but if you aren't careful, it's also easy to screw up and make a mess of your browser. If nothing else, it's interesting to check out the settings that are available for you to mess with.&lt;br /&gt;Open an instance of the Firefox browser, and type the following into your address bar:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="about:config"&gt;about:config&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;Hit enter, (or middle-click on the link above), and you'll be presented with an auto-generated page that gives you instant access to every little possible setting that Firefox can possibly offer to its user. There's so much you can change in there! From the ability to use the browser on a Braille display to syntax highlighting in the webpage source code window, it's all completely accessible and configurable! &lt;a href="http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries"&gt;You can read more about what the entries in the config page actually represent here.&lt;/a&gt;&lt;br /&gt;This level of accessibility and configuration is exactly the kind of thing that Linux users get excited about. It's part of what makes them so fanatic about their OS while they sneer heartily at Windows. Unfortunately, it's doubtful Microsoft will ever bow to the open source code movement in any way, since &lt;a href="http://swpat.ffii.org/gasnu/microsoft/index.en.html#epat"&gt;they have a huge list of patents&lt;/a&gt;, both granted and pending, much of it related to their own web browser technology, whether they legitimately developed it themselves or not.&lt;br /&gt;&lt;br /&gt;Firefox also takes care of popups all by itself.  Some nefarious pain-in-the-ass advertisers have found a way around the way Firefox does its thing, using Flash and Java, but there's still a defense against even these ad-whores.  &lt;a href="http://users.bathspa.ac.uk/markhelp/firefox/ff_popups.html"&gt;This site&lt;/a&gt; outlines how you can do a little hacking to the browser's configuration to deny these popups, while keeping your web surfing experience as smooth and enjoyable as possible.  Try doing a quick Google search for "Firefox about:config", and you'll be treated to a veritable plethora of helpful tips and tricks that will make you feel so much better about taking the ultimate control of "your" Internet.&lt;br /&gt;&lt;br /&gt;At least we Windows users can finally get a taste of that which makes actually using your computer a little more like fun and a lot less like doing what the computer forces you to conform to instead. Granted, Windows works for most folks as it is. However, if you fingd that Firefox configuration page as interesting as I do, stop and think for a moment about what Microsoft made you miss out on when they pulled THAT potential level of control from the next version of Windows.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;- &lt;/span&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;&lt;span style="font-style: italic;"&gt;Deadweasel&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt; plays with a Linux computer when nobody's looking&lt;/span&gt;&lt;span style="font-style: italic;"&gt;.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112191392454270285?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112191392454270285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112191392454270285&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112191392454270285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112191392454270285'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/07/cool-tips-hacking-firefox.html' title='COOL TIPS :: Hacking Firefox'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-112117615366595700</id><published>2005-07-12T09:47:00.000-04:00</published><updated>2005-07-12T09:49:13.676-04:00</updated><title type='text'>HACK: Use Gmail as a Spam Filter</title><content type='html'>&lt;p&gt;Using Gmail as a Spam FilterI recently got my Gmail account up and running, but I wasn’t finding a whole lot of use for it since I have a primary account on MBoffin.com that I use for everything. Just for kicks, I decided to have all my MBoffin.com e-mail (spam and all) forwarded to my Gmail account to see how well it would handle my e-mail habits and workflows, and to see how well it would handle the spam.&lt;br /&gt;Gmail did surprisingly well on all fronts. Much has been written in other circles about the nice and not so nice parts of Gmail’s user interface, so I won’t get into that discussion here.&lt;br /&gt;After a couple of days using Gmail as my primary e-mail account, I started missing my MBoffin.com account. I like my MBoffin.com e-mail address and I’m not quite ready to leave it behind. But what to do with this nice new Gmail account? Then it hit me....&lt;br /&gt;Could Gmail be used as a spam filter for my MBoffin.com e-mail account? The answer is yes, it can. And here’s how I figured it out. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Basic Procedure&lt;/strong&gt;&lt;br /&gt;Gmail allows you to forward incoming messages to any other e-mail address. Go to the Settings page and then to the Forwarding and POP tab. In the Forwarding option, set Gmail to forward all incoming mail to your regular e-mail account, and keep a copy in Gmail’s inbox.&lt;br /&gt;(In this explanation, I will assume your regular e-mail address is &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt; and your Gmail address is &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt;, and I apologize to Mr. User over at Domain.com and Mr. User over at Gmail if they get any extra mail from people following the steps in this article too literally.)&lt;br /&gt;Once that forwarding rule is set on Gmail, all incoming mail to &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt; will get spam filtered and anything left over will be forwarded to &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt;, with a copy left at Gmail. But that doesn’t help you much yet, because people are still sending spam directly to your &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt; account.&lt;br /&gt;Now, over at your &lt;a href="mailto:user@domain.com’s"&gt;user@domain.com’s&lt;/a&gt; mail server, create a server-side filter to check the headers of any incoming e-mail. Have it forward to your Gmail account if it does not find the following in the header:&lt;br /&gt;X-Forwarded-For: &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt; &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt;&lt;br /&gt;In English, the filter would be written: “Any mail that does not contain ‘X-Forwarded-For: &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt; &lt;a href="mailto:user@domain.com’"&gt;user@domain.com’&lt;/a&gt; in the mail header should be forwarded to &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt;”.&lt;br /&gt;Once this server-side filter is in place, only mail on its way back from &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt; (already filtered for spam) will be passed to your &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt; account's inbox. Everything else will be forwarded on to &lt;a href="mailto:user@gmail.com"&gt;user@gmail.com&lt;/a&gt; to be filtered and forwarded back. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Another Advantage: Backup&lt;/strong&gt;&lt;br /&gt;Since Gmail is keeping a copy of all the mail it’s forwarding on, you now have an online backup of all your e-mails. If you were to somehow lose all the e-mails stored on your hard drive, you wouldn’t have to worry, as they would all be safely backed up over at Gmail, already spam filtered and everything. This means you can keep your local e-mail client clean and tidy, deleting e-mails as you see fit without worry that they are being deleted forever. They’re all backed up on Gmail the instant you receive them.&lt;br /&gt;Will Spammers Now Add Headers to Prevent Being Forwarded to Gmail?&lt;br /&gt;Sure, they could easily add the required header and trick your &lt;a href="mailto:user@domain.com"&gt;user@domain.com&lt;/a&gt; account into accepting spam, thinking it had already been spam filtered by Gmail. But here’s the kicker: They need to know your Gmail account address too. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br /&gt;Keep in mind that I only just figured this out tonight. I ran some tests and confirmed that it works, but that’s as far as it has gone. This hasn’t been tested over weeks and weeks, so if it continues to work well in the long run, great. Otherwise, I’m sure someone else will come up with a way to improve this.&lt;br /&gt;While doing the testing, actual spam was being sent to my account (I get hundreds a day), and none of it made it through. It was all trapped at Gmail.&lt;br /&gt;Update: Joe is testing this out with his Yahoo! account to see if a similar thing can be done. Report back, Joe! Let us know how it goes. Alex pointed out that you could set up parallel Yahoo! and Gmail accounts and sign up for the same spam lists to see which has better spam filtering.&lt;/p&gt;&lt;span style="font-size:78%;"&gt;(special thanks to mboffin.com for the info)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-112117615366595700?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/112117615366595700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=112117615366595700&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112117615366595700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/112117615366595700'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/07/hack-use-gmail-as-spam-filter.html' title='HACK: Use Gmail as a Spam Filter'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111660431285906995</id><published>2005-05-20T11:49:00.001-04:00</published><updated>2005-05-20T12:01:53.656-04:00</updated><title type='text'>FYI :: Fraud and your Checking Account.</title><content type='html'>Although this isn't SO much tech related, those of you dealing with ACH, E-Commerce, Electronic Payments and the like may find this to be quite interesting. &lt;span style="font-size:78%;"&gt;(as syndicated from my personal blog @ &lt;/span&gt;&lt;a href="http://shrive.blogspot.com"&gt;&lt;span style="font-size:78%;"&gt;http://shrive.blogspot.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Okay so I'm a software developer. For some strange reason, my job has led me down a path where I have been exposed to quite a bit of fraud. Well I guess it's not really all that strange considering I work for a Telecom and telecom service is the 2nd most fraudulently purchased service on the planet. And thats second to porn, seriously.&lt;br /&gt;&lt;br /&gt;So when I thought I had seen it all, today I caught wind of yet ANOTHER way you can be scammed. So businesses and even individuals, watch your ASS.&lt;br /&gt;&lt;br /&gt;Here's what happened here. We allow sales reps to sell our cellular Telecom services for resale in retail locations across the country, we have 1000's. What happens is we then pay these retailers a percentage commission by mailing them a check to their address.&lt;br /&gt;&lt;br /&gt;So each month we send out over a few thousand commission checks... in sequence. So for example, if we are sending out 3255 checks, it would be something like check #1000 - #4255.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;The Problem:&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;What happened was these guys knew our commission pay out was at the end of each month. They would get their check, lets say check #1305. They would then call OUR bank and request "check by phone". What they would do (knowing the banking system makes you use check numbers in sequence) is call the bank and say "I need to do a check transfer by phone for check #1211". They use numbers in the sequence PREVIOUS to theres for obvious reasons. They would then say, "its for the amount of $500." So now these guys have hit a check for $500 when the actual paper check that was mailed to Jon Doe was for $43.50. But when Jon Doe goes to cash that check, the bank will say "oops sorry, this check has already been cashed. Jon Doe gets shafted for his commission and RacerX fraud boy walks with his $500 and whatever else other numbers he has processed.&lt;br /&gt;&lt;br /&gt;So how could they get away with this? How could they not be verified by the bank with this check by phone service by my bank? Well, unfortunately, you can thank the beautious bureaucratic bullshit our banks have created because this for someone to transfer a check by phone, its not 100% fool proof. Meaning that depending on the operator and the bank that handles it, they may or may not validate and verify the person placing the request. So its as easy as me calling in with one of YOUR check numbers, with your account and routing number and requesting the transfer. The transaction normally goes something like this (according to our accountant here and another accountant I've spoken with regarding this):&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;RacerX&lt;/strong&gt;: "yes id like to transfer a check by phone"&lt;br /&gt;&lt;strong&gt;Bank Operator&lt;/strong&gt;: "sure, whats your name?"&lt;br /&gt;&lt;strong&gt;RacerX&lt;/strong&gt;: "Joe smith"&lt;br /&gt;&lt;strong&gt;Bank Operator&lt;/strong&gt;: "whats your company name?" *keep in mind this is PRINTED on th actual check&lt;br /&gt;&lt;strong&gt;RacerX&lt;/strong&gt;: "ABC Telecom" ;)&lt;br /&gt;Bank Operator: "Whats the check number, routing and account number and amount please?"&lt;br /&gt;&lt;strong&gt;RacerX&lt;/strong&gt;: "check number 1211, routing 123456789, account number 132903, amount $500"&lt;br /&gt;&lt;strong&gt;Bank Operator&lt;/strong&gt;: "Thank you and have a great day"&lt;br /&gt;&lt;br /&gt;JUST........LIKE............THAT.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;The Possible Solution?&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Well, I think there could be a few. A few could be simple, others may not be however:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Use ACH (Automated Clearing House) services. There are no checks or more importantly, check #'s used in this process. A request is placed electronically (eliminating human error and fraud by phone) and the money is transferred after approval from BOTH parties. This seems to be the simplest way. HOWEVER, it does require you to WATCH YOUR BOOKS. Hopefully you have a competent accountant or a good wife to keep an eye on the money for you. But if you had that, you wouldn't be in this situation in the first place now would you?&lt;/li&gt;&lt;li&gt;Random check#'s. The whole problem here is that these guys can pick up the account number, routing number and business name RIGHT off the check. They can also pick check numbers previous to theres to attempt to cash. If the check numbers in a business's check book or stack are random, there is no defined sequence. This makes it MUCH harder and less desirable for these guys to try to get into your account. However, this would involve the entire United states banking system and our Federal Reserve to change their processing system. Fat, and I mean FAT chance. We are talking about a system that still runs purely on position based database systems. No chance of change coming anytime soon.&lt;/li&gt;&lt;li&gt;The solution we employed here at our Telecom is a service our bank offered (for a nominal fee of course). Each morning, our book keeper recieves a report by fax that shows ALL checks being cashed. He then must check off which checks he approves and does not approve before they complete the transaction. Now this requires him to actually compare each check against his books. A pain? Yes very much so. But not nearly the pain of a $100,000 kick in the pants from RacerX.&lt;/li&gt;&lt;li&gt;Create an empty account. Create an account that you transfer ONLY the total amount of checks to be cashed. Be careful though, if you aren't good with your books and you dont transfer enough, you could be dealing with bounced checks and fees. This involves a LITTLE hard work, but could prove to be more useful for smaller businesses and individuals. This protects you from getting hit with LARGER amounts. But if you're processing LARGE amounts of checks and dollar amounts, its not as beneficial nor efficient to do.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I guess what it all comes down to, is that you cannot depend on the bank to be 100% secure for you. You have to do a certain amount of reconciling and detective work on your own to make sure you aren't nailed. Now I'm not trying to make you paranoid or cast a cloud of doom and gloom, I'm telling you this with the hope of putting the thought in the back of your mind that you cannot just assume the bank has your best interest in mind. So be mindful, reconcile your books and keep an eye on your bottom line. If you don't you could be getting taken under the radar without realizing it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111660431285906995?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111660431285906995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111660431285906995&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111660431285906995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111660431285906995'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/05/fyi-fraud-and-your-checking-account_20.html' title='FYI :: Fraud and your Checking Account.'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111577936212767494</id><published>2005-05-10T22:36:00.000-04:00</published><updated>2005-05-10T22:43:42.036-04:00</updated><title type='text'>HARDWARE :: Apple Gets Patent To Make Nerds Hot And Bothered</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;It's official: Apple loves its geeks, nerds and other assorted digital extremists.&lt;br /&gt;On May 10th, Apple was granted the patent for an "electronic device". Nice. Now they can claim the rights to everything from iPaqs to my very own SASAMI. No, not really. Released with the patent description were some illustrations outlining the planned "device".&lt;br /&gt;&lt;br /&gt;Check it out:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://sdrn.org/linkedimages/figure7.gif"&gt;&lt;br /&gt;&lt;br /&gt;Most excellent! A tablet computer! Wait, they're already out, right? Well sure, but are they as insanely thin as Apple appears to be planning? Are ANY of them truly touch-capable, or are they all currently the thickness of laptops, and require a stylus to control?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macobserver.com/article/2005/05/10.18.shtml"&gt;Check out this site &lt;/a&gt;for more info about this kickass new piece of hardware!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111577936212767494?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111577936212767494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111577936212767494&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111577936212767494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111577936212767494'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/05/hardware-apple-gets-patent-to-make.html' title='HARDWARE :: Apple Gets Patent To Make Nerds Hot And Bothered'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111522050411337058</id><published>2005-05-04T11:26:00.000-04:00</published><updated>2005-10-06T01:08:06.733-04:00</updated><title type='text'>HUMOR :: Joysticks...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6992/604/1600/joystick_atari_amstrad1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/6992/604/400/joystick_atari_amstrad.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think our family owned AT LEAST one of EACH of these joysticks back in the late 80's and early 90's in our Commodore 64 days....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111522050411337058?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111522050411337058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111522050411337058&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111522050411337058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111522050411337058'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/05/humor-joysticks.html' title='HUMOR :: Joysticks...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111521622809444470</id><published>2005-05-04T10:12:00.000-04:00</published><updated>2005-05-04T10:17:08.100-04:00</updated><title type='text'>WHINING :: Another issues with MS SQL...</title><content type='html'>Why? Why can't MS SQL allow you to re-use aliases within the same query?&lt;br /&gt;&lt;br /&gt;Are there any other DB's that allow you to do this? Or is it simply an issue with SQL Language as a whole?&lt;br /&gt;&lt;br /&gt;Here is what I WANT to do:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;SELECT colA * (colB + colC) as myField1, myField1 - (colD * colE) as myField2&lt;br /&gt;FROM myTable&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;But in SQL, you have to do this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;SELECT colA * (colB + colC) as myField1, (colA * (colB + colC) )- (colD * colE) as myField2&lt;br /&gt;FROM myTable&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;That's lame. They should allow you to re-use an alias within your query so that you dont have to do your math longhand EVERY time. This way it's faster to write and less error prone.&lt;br /&gt;&lt;br /&gt;Are there any SQL platforms out there that allow this?&lt;br /&gt;&lt;br /&gt;*files complaint*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111521622809444470?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111521622809444470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111521622809444470&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111521622809444470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111521622809444470'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/05/whining-another-issues-with-ms-sql.html' title='WHINING :: Another issues with MS SQL...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111453698441715177</id><published>2005-04-26T13:36:00.000-04:00</published><updated>2005-04-26T13:36:24.416-04:00</updated><title type='text'>Microsoft ships Windows x64 operating systems</title><content type='html'>*cough*  How fancy pants is that?!&lt;br /&gt;Better watch it, before you know it, windows may be a competing O/S!&lt;br /&gt;&lt;a href="http://www.cnn.com/2005/TECH/04/25/microsoft.x64.ap/index.html"&gt;CNN.com - Microsoft ships Windows x64 operating systems - Apr 25, 2005&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111453698441715177?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cnn.com/2005/TECH/04/25/microsoft.x64.ap/index.html' title='Microsoft ships Windows x64 operating systems'/><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111453698441715177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111453698441715177&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111453698441715177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111453698441715177'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/microsoft-ships-windows-x64-operating.html' title='Microsoft ships Windows x64 operating systems'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111441083571043477</id><published>2005-04-25T02:30:00.000-04:00</published><updated>2005-04-25T02:33:55.710-04:00</updated><title type='text'>RANDOM POST :: I Am Doomed.</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;So I got this really promising tech job offer, and now have an interview coming up.  So what do I do?  Why listen to other peoples' advice of course!  Uh oh.&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: trebuchet ms;"&gt;Well, I kind of agreed that a physical change was due for this thing anyhow.  Here's what I did.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://sdrn.org/files/meshave.jpg" /&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-family: trebuchet ms;"&gt;Crap.  How am I EVER going to get that damned mole off my cheek?&lt;br /&gt;&lt;br /&gt;Back to the babyface days.  I wonder if this would be considered my "job winning" smile?&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111441083571043477?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111441083571043477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111441083571043477&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111441083571043477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111441083571043477'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/random-post-i-am-doomed.html' title='RANDOM POST :: I Am Doomed.'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111438317986965812</id><published>2005-04-24T18:48:00.000-04:00</published><updated>2005-04-25T02:35:11.866-04:00</updated><title type='text'>RANDOM POST :: We ARE Doomed!!</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;So I was going to work today, and it suddenly hit me. Things weren't normal. This is what I was driving through:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt;&lt;img style="width: 452px; font-family: trebuchet ms; height: 312px;" src="http://sdrn.org/files/wtfsnow.jpg" height="386" width="519" /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;For those of you who don't live in Michigan, I invite you to look at the date stamp. That is correct. End of April. Traditionally warm in MI. Not today. WTF.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:trebuchet ms;font-size:100%;"  &gt;I give it about ten more years at the very most, and we WILL be skiing in July around these parts. Greenhouse gases suck.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111438317986965812?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111438317986965812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111438317986965812&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111438317986965812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111438317986965812'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/random-post-we-are-doomed.html' title='RANDOM POST :: We ARE Doomed!!'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111394754773863742</id><published>2005-04-19T17:51:00.000-04:00</published><updated>2005-04-19T17:52:27.740-04:00</updated><title type='text'>Its funny because its so so true...</title><content type='html'>&lt;img src="http://www.adminspotting.org/Adminspotting-600x600w.png" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111394754773863742?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111394754773863742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111394754773863742&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111394754773863742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111394754773863742'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/its-funny-because-its-so-so-true.html' title='Its funny because its so so true...'/><author><name>micker</name><uri>http://www.blogger.com/profile/10742639970784025044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111352401581929098</id><published>2005-04-14T18:29:00.000-04:00</published><updated>2005-04-20T17:26:31.923-04:00</updated><title type='text'>RANT  ::  Observations of an Awakened Geek</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Wow. Who knew that there were so many people that are dead in the skull being allowed to run free in this country? Well I do, for one. Haven't you ever taken a look at the people around you? I mean REALLY taken a good hard look and seen them for what they are: braindead sheep. You see them everywhere you go, surrounding you in everything you do. The next time you go out driving, look at the mooks on either side of you. Do they ever look back at you? Do they even make so much as a pretense of looking in the mirrors, or are they simply staring blandly ahead, gabbing on their cellphones or putting on their makeup while madly changing lanes (without using blinkers, I might add)? How about in the grocery store? Don't you ever take notice of all the oblivious gravy-brained mooks as they read the Nutrional Information panels on a box of cereal, trying to determine if a bowl of it will cost them too many Atkins Diet points?&lt;br /&gt;&lt;br /&gt;During my workday as a sales monkey in a computer store (no, it's not Best Buy or any of those other bigbox places), I see an endless procession of people that come in, looking for parts for their computers they purchased for multiple hundreds, and sometimes, thousands of dollars. Most of these people have no clue what it is they're looking for. No problem, that's what I'm here for. What I can't abide are the fools that need something as simple as a set of burnable CDs, and get all bound up inside, agonizing over those speed numbers on the packaging.&lt;br /&gt;"How fast does your CD burner go?" I ask them, trying to keep it as simple as possible.&lt;br /&gt;"..." says the customer with a blank stare, slack-jawed.&lt;br /&gt;"Is there a little number on the front of the drive?  Like 32x or 52x?" I ask hopefully, doing my best.&lt;br /&gt;"What's that?" they ask.&lt;br /&gt;"It's a little number on the front of the drive."&lt;br /&gt;"What's a drive?" comes the question that puts that little kink in my gut.  Oh God, another one of THOSE.&lt;br /&gt;"You know, the thing on your computer where you push the button, and little drawer comes out and you put your CD on it?"&lt;br /&gt;"What's a CD?"&lt;br /&gt;"The thing you're trying to buy, actually. Look, you use them all the time when you install a program or play a game or burn a CD"&lt;br /&gt;"Yeah but I wanted you to show me all that stuff.  I've never used a computer before."&lt;br /&gt;"Okay, well don't you want to learn a little bit about it before you jump into something a little bit more complex like burning a CD?"&lt;br /&gt;"No, I just want to copy illegal movies and edit video. Dell sold me a $4,000.00 computer for this, but it didn't come with any instructions."&lt;br /&gt;"Hmm, well here's the number for a local training center.  I suggest "Using Windows 101" before you go any farther."&lt;br /&gt;"But I wanted some CDs.  Don't you have any?"&lt;br /&gt;"Well yes, right here, we have a large selection of many brands."&lt;br /&gt;"What's this funny thing right here?" (Pointing to the "52x" label)&lt;br /&gt;"That's the disc's maximum capable burning speed."&lt;br /&gt;"What's a CD?"&lt;br /&gt;And so the circle continues until I find a way to walk off and hide in a back room so I can cry for the next hour.&lt;br /&gt;&lt;br /&gt;Now I understand that not everyone is going to know much about computers, but holy crap, $4,000 on a machine you don't even understand how to use? What the hell!&lt;br /&gt;I see this level of moronic stupidity in all aspects of daily life, not just computers. People who buy Hummers, for example, or H2s for the tragically hip. These are the people that spend a crapload of cash for these beasts, trick them out with those stupid rims that keep spinning for hours after they've stopped, gotten out and gone inside to watch the game, as well as flashy rainbow-speckled paint jobs. These same people are also usually the first ones to complain about the price of gas nowadays. These same people who wouldn't be caught dead in the corner store just a minute's walk away, instead opting to drive ten miles to the nearest mega-mart for a loaf of Uber-Health(tm) Poser Cut Pumpernikel Bread. In the Hummer, mind you, not a super-efficient sensible getaround car like an Accord or something. These are also the people who buy those urban assault vehicles, having no experience whatsoever with anything larger than a Chevette, and attempt to drive it like a Chevette, putting everybody else in mortal fear for their lives. (Did you know that if you get killed in an accident with a Hummer, you automatically go to Hell? Fact.)&lt;br /&gt;&lt;br /&gt;Speaking of Hummers and driving in general, I read an article in one of the biggie newspapers in Detroit, the &lt;span style="font-style: italic;"&gt;Free Press.  &lt;/span&gt;There is a column in the paper regarding driving around our fair city. The column today was centered around the freaks that wait until the last possible second to merge when a lane ends or in construction zones, despite multiple warnings miles back about the impending merge. &lt;a href="http://www.freep.com/news/driving/helms20e_20050420.htm"&gt;The article&lt;/a&gt; also contains shoutouts from locals regarding the topic at hand.  I find one in particular most laughable.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;A gentleman named Dave Dixon sent in: "You are completely off base with your view that one should do the right thing and merge early," he writes. "Any traffic engineer could confirm that the most efficient method for moving traffic is to utilize all lanes until the merge is required. Those idiots who try to block the merge lane miles early should be ticketed, not those who keep moving. ... Please check your facts before encouraging stupid behavior and unnecessary road rage. While I like your column, you missed on this one."&lt;br /&gt;Well Dave, obviously you're not from around here. You see, the wise and respectable thing to do is to get over early. The "zipper" method of using all available lanes until you are forced over might work in other cities, like say Piggott, Arkansas, but it just won't fly (or drive) here.  Your method is plausible only if the people who already got over let someone at a dead stop at the merge point get over, and in so doing back up the freeway for miles due to the folks who will wait in line, stopped for a moment, then yank over to the next lane, slowing THAT one down, and so on.  People don't notice or don't care about what other drivers are about to do, either because they are trying to get somewhere, or because the road is about to force them into it.  Because of this, it's not much of a surprise to see people causing accidents by not letting someone merge without coming to a complete stop on the freeway(!!)  So yeah, Mr. "I Know How Traffic Engineers Would Think".  You can kiss my ass.  I do not recognize the fake science of "traffic engineering".  It's about as legitimate as a Hallmark holiday.  Like Boss's Day.&lt;br /&gt;Also while I'm referring to this mook, let me go over that one a moment: "Traffic Engineer". Excuse me? They have engineers for that? HAHAHAHAHAHAHA!!! What a-hole made THAT one up?! Look, there are sciences that study the flow of things, and how they interact with other surfaces/substances. There are aerodynamics engineers who study air, and hydrodynamics engineers who study water. How can you possibly create a "science" out of TRAFFIC, for God's sake? The simple fact of the matter is that while a hydrodynamics engineer is studying the flow of water over a boat hull, he never witnesses a bit of water that decides to make a sudden right-hand turn across the flow because it missed its chance to get over long before. You can't make a science of studying something that revolves around the semi-intelligent, completely self-absorbed people on the move, especially here in Detroit.&lt;br /&gt;You see, if people drove like air and water flows, there wouldn't be a need for signs. We would simply drive through tubes (planned and built by engineers) and hope that they designed the system so that when we came out, we would be where we wanted to be. Since life is a little more demanding of us than allowing us to rely on chance to get places, we're forced to let people make their own decisions which, apparently, was a bad idea. There should be more guardrails and walls to direct traffic. Well sure, we have those now, but they are there less to help direct traffic than as to pointlessly save the lives of fools who enjoy courting fate (and a Darwin award). People are sheep, and idiots to boot. They need other people to tell them where to go, because nobody keeps a map in their glovebox anymore, and they certainly don't check Mapquest before they leave home. They expect someone else to tell them how to get there. Do you honestly believe GPS is all that necessary in cars these days? How in the hell did we ever get around before that?  I spent fifteen minutes on the phone with some dumbass the other day, trying to explain to him how to get to our store.  Instead of it being sufficient to describe the major nearby crossroads, he wanted me to take him turn by turn to our door, waiting patiently while he WROTE IT ALL DOWN WORD FOR WORD!!  OMG!!  Turns out the idiot lived had TWO WHOLE BLOCKS away from us for ten years, and he STILL didn't know the area.  Yeah, *sheepish shit-eating grin* indeed.&lt;br /&gt;&lt;br /&gt;Now that I've gotten that all off my chest, I would like to take a moment to thank a random soccer mom in a Chevy Behemoth (she DID have a load of kids, so she's justified in owning that frigging monstrosity) who took the time to actually roll down her window and give me an emphatic happy wave of thanks when I let her into the lane in front of me. She passed my driver's side, then paced the open slot in front of me, turning on her blinker while waiting for me to back off instead of forcing her way in. Such courteous driving always earns my respect, and I diligently pissed off the fag behind me by slowing down just a tad so she could get in. So the dude behind me with his hand on the horn gets the finger, and the nice lady in front gets a smile and a wave in return. We need more kickass drivers like you, miss.&lt;br /&gt;&lt;br /&gt;Although we could probably do without the Chevy Behemoth for a while.&lt;br /&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;&lt;br /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; drives like a bat out of hell, but always uses his blinker.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111352401581929098?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111352401581929098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111352401581929098&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111352401581929098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111352401581929098'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/rant-observations-of-awakened-geek.html' title='RANT  ::  Observations of an Awakened Geek'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111322619229025415</id><published>2005-04-11T09:29:00.000-04:00</published><updated>2005-04-11T09:29:52.290-04:00</updated><title type='text'>WEBSITE :: 10x10 / 100 Words and Pictures that Define the Time</title><content type='html'>Check out 10x10.  Very VERY cool concept!&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;10x10™ ('ten by ten') is an interactive exploration of the words and pictures that define the time. The result is an often moving, sometimes shocking, occasionally frivolous, but always fitting snapshot of our world. Every hour, 10x10 collects the 100 words and pictures that matter most on a global scale, and presents them as a single image, taken to encapsulate that moment in time. Over the course of days, months, and years, 10x10 leaves a trail of these hourly statements which, stitched together side by side, form a continuous patchwork tapestry of human life. &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.tenbyten.org/"&gt;10x10 &lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111322619229025415?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.tenbyten.org/' title='WEBSITE :: 10x10 / 100 Words and Pictures that Define the Time'/><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111322619229025415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111322619229025415&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111322619229025415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111322619229025415'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/website-10x10-100-words-and-pictures.html' title='WEBSITE :: 10x10 / 100 Words and Pictures that Define the Time'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111297098905180320</id><published>2005-04-08T09:53:00.000-04:00</published><updated>2005-04-08T23:13:12.526-04:00</updated><title type='text'>OPINION :: C'mon Cletus, Get yourself that Tech Job</title><content type='html'>&lt;p&gt;I am 100% certain you could land any technical job if you have confidence in yourself and you feel you have the knowledge to get the job done. Nobody knows what in your head, and nobody knows how determined you are to get the job done better than you do. What you have to do is convince your prospective employer that you are THE person for the job. But there is a little more to it. Please dont take this as a lecture. I'm just spewing what my experiences have taught me. I'm not trying to insult your intelligence, nor do I assume you don't already know this stuff. Take it as a bunch of shit I am spewing out in the off chance I say something that may just make things *click* and get you going. Hopefully. I believe if you stick to these things, you will get better jobs and make more money. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;People are people. Sell yourself like you're selling a computer for $10,000,000 commission. People buy into people more than they buy into a resume. I found out that showing that you're eager and crazy motivated is not just impressive to your prospective employer, but it motivates &lt;em&gt;them&lt;/em&gt; as well. Be careful though, don't act TOO motivated or you'll appear desperate and that is always a deal breaker. Remember, not desperate....but motivated. Be excited to be in the field, excited to be a hard worker and happy to please. Don't get nervous, don't give fake smiles. People see right through that, be sincere, be yourself. Anyone can tell when it is forced. Remember to respect the person as if they are your best friend. Fake cordial smiles will get you written off from the get go. and no blowjobs, I'm pretty sure that employers don't like that.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CRAM CRAM CRAM! I crammed and crammed on IT shit for 2 weeks while waiting for my interview. I learned all my buzzwords. I learned the basics of networking and the basics of computer hardware. Then I waited to hear back about the IT position that I was obviously FAR under qualified to do. Scared shitless if I get hired? Yes. But could I cram and cram and learn my ass off? Shit yes. You know as well as I do, everything with computers is logic. If this, then that. If on or off, then on or off. If 1 then 0. Its all bullshit. Its not like you need to be blessed with some gift of creativity to be a hardware or IT engineer. Anyone can learn. It's one thing if it was a web design position and you suck at web design. You need creativity for that. But you can always learn logic. Never forget that. You can always learn. Especially on the job. &lt;/li&gt;&lt;li&gt;Don't be afraid of being underqualified. Chances are, all of your coworkers are too. But what I've learned is that experience isn't everything. 90% of getting (and retaining) a job is how you deal with people. 10% is actual skill and experience. Don't believe me? Try it. If your boss loves you and your coworkers love you and you bust your ass to go out of your way for them and the job... you will ALWAYS win. The boss will be too loyal to fire you.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Your first year, work overtime overtime overtime. Bust your ass. When you're tired and your eyes are bloodshot, work harder. It may seem to you that your boss doesn't notice, but he does. He will appreciate you and he will overlook any shortcomings you may have because he knows your heart is in the business.  He knows that you will do anything that needs to be done to get the job done well and on time. Bust your ass until you can't keep your eyes open. Just for the first year. By the second year, you're in like flynn and you have the experience needed for the job. THEN you can relax a little. But don't EVER, EVER settle down and get so comfortable that you forget the importance of your job. That comes WAY later when youre 60. Concentrate on working your ass off to financial security and a solid career background. Whether you're there 6 months or 5 years, keep your eyes and ears open for any and all opportunities.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fudge your resume. If you're motivated, you believe you have the skills and you're confident, you WILL have that job. But sometimes, employers may need that extra push to see you know youre the shit. To alot of employers, business experience is a HUGE factor. Even moreso than a college degree in alot of cases. Fudge your resume a little. Add someextra items that would appeal to the position. For example, I liedand said back in 98 that i knew XML, ASP and MS Access. I didnt know any of that. But I learned it as I went. If you just do your best to convince the employer you're the best for the job, you should be able to get your foot in the door. DONT THINK ABOUT THE MONEY. Money is important but don't WORK for the money. Work for the love of what you do. The money WILL COME. Now don't get me wrong, you want to negotiate a fair wage, but BE FAIR. Don't go overboard, be modest. If you're a hard worker, they will notice, and the money will come.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Contrary to popular belief, people judge a book by it's cover. It's true better looking people get hired more often, it's true better looking people make more money for doing less work. Get over it. I don't care how much you detest the "lemmings" or "sheep" of the world. If you want to get your job and kick some ass, you're going to have to conform. At least for a little while. Unless you own your own business (and even then it's not guaranteed), you will have to mix in with the other "mindless sheep" and shave your face, press your wrinkly ass clothes, cut your raggedy ass hair and for God's sake put on some deodorant. And if you MUST, cologne, but VERY VERY VERY VERY VERY sparingly. Hell, if you can, avoid it all together. Just make sure you appear pleasant, you don't smell like dead cat and you're clean cut. People love that. Don't be a jackass and try the "people need to accept me the way I am" attitude either. Trust me, although it may work for finding your future wife or side p00n, it's not going to score you any points on a job interview. Conform. Get over it. Get your money, save it, go home, and be the basement dwelling goth freak you want to be on nights and weekends.  But for your interview and your job, clean up.  If you're fortunate enough to get into a company where you can wear hats and jeans, well then congratulations.  But remember, respect your fellow coworkers and don't let your self smell and appear like you live in the alley out back.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Small companies pay more and are more stable but are more demanding. Larger companies are sometimes pay less and are somewhat stable and less demanding. This is only my opinion based on past experiences. I'm sure some people can prove it completely wrong.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;So there you have it. I feel like I've learned alot about the jobs I've had in the tech industry. Any of my advice above is strictly what I've learned from experience and by no means do I reccommend that you treat as the holy grail of all advice. The bottom line is that, people are just people. Treat them respectfully and they will do the same.&lt;br /&gt;&lt;br /&gt;Best of luck to you, and if you need any advice or if you have any questions, regarding this post or anything else, feel free to email me at &lt;a href="mailto:jtmack@gmail.com"&gt;jtmack@gmail.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt;(again, I'm not a self-help guru, nor do I think I am or claim to be. this is strictly my advice and opinions based on my past experiences. Take it at face value and use from it what you will. Although alot of it is common sense, I cannot be held responsible if you don't land the job.)&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111297098905180320?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111297098905180320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111297098905180320&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111297098905180320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111297098905180320'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/opinion-cmon-cletus-get-yourself-that.html' title='OPINION :: C&apos;mon Cletus, Get yourself that Tech Job'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111289448788410908</id><published>2005-04-07T13:18:00.000-04:00</published><updated>2005-04-07T13:24:23.056-04:00</updated><title type='text'>HUMOR? :: The entire fucking world is going to implode upon itself...</title><content type='html'>Kill me now.&lt;br /&gt;&lt;br /&gt;How many tosser/wanker/bullockshitfaces do you think are actually using one of these?&lt;br /&gt;&lt;img src="http://www.firebox.com/pic/p1044ex1.jpg" /&gt; &lt;td&gt;&lt;img src="http://www.firebox.com/pic/p1044ex5.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Seriously. Kill me now. I don't want to live in a world dominated by idiot geezers who can't be without their fucked up rotary phone.   I refuse to believe people would actually buy these.  However, I do believe that the salad tosser above has quite an abnormally large forehead, which I believe is caused by the use of these moronic devices.  His head is on the verge of exploding, and he deserves it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.firebox.com/index.html?dir=firebox&amp;action=product&amp;amp;pid=1044"&gt;http://www.firebox.com/index.html?dir=firebox&amp;action=product&amp;amp;pid=1044&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111289448788410908?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111289448788410908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111289448788410908&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111289448788410908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111289448788410908'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/humor-entire-fucking-world-is-going-to.html' title='HUMOR? :: The entire fucking world is going to implode upon itself...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111289157746580906</id><published>2005-04-07T12:26:00.000-04:00</published><updated>2005-04-07T12:32:57.476-04:00</updated><title type='text'>HUMOR :: Wiktionary</title><content type='html'>Yes I know, its been around forever....but if you want a good laugh and you're as childish as I am, have a look at &lt;a href="http://en.wiktionary.org/"&gt;http://en.wiktionary.org/&lt;/a&gt; and look up some swear words.&lt;br /&gt;&lt;br /&gt;My favorites:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Shit&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;All senses are vulgar slang&lt;br /&gt;&lt;a title="Excrement" href="http://en.wiktionary.org/wiki/Excrement"&gt;Excrement&lt;/a&gt;; &lt;a title="Faecal matter" href="http://en.wiktionary.org/wiki/Faecal_matter"&gt;faecal matter&lt;/a&gt;.&lt;br /&gt;&lt;em&gt;The toilet bowl was smeared with shit&lt;/em&gt;.&lt;br /&gt;(also load of shit) &lt;a title="Rubbish" href="http://en.wiktionary.org/wiki/Rubbish"&gt;Rubbish&lt;/a&gt;; &lt;a title="Worthless" href="http://en.wiktionary.org/wiki/Worthless"&gt;worthless&lt;/a&gt; matter.&lt;br /&gt;&lt;em&gt;Move all of that shit out of your room!&lt;/em&gt;&lt;br /&gt;&lt;a title="Nonsense" href="http://en.wiktionary.org/wiki/Nonsense"&gt;Nonsense&lt;/a&gt;; &lt;a title="Bullshit" href="http://en.wiktionary.org/wiki/Bullshit"&gt;bullshit&lt;/a&gt;.&lt;br /&gt;&lt;em&gt;Everything he says is a load of shit.&lt;br /&gt;&lt;/em&gt;(&lt;a title="Countable" href="http://en.wiktionary.org/wiki/Countable"&gt;countable&lt;/a&gt;) A nasty, despicable person, used particularly of men.&lt;br /&gt;&lt;em&gt;Her son has been a real shit to her.&lt;/em&gt;&lt;br /&gt;(with negative terms) Anything.&lt;br /&gt;&lt;em&gt;His opinion is not worth shit&lt;/em&gt; = His opinion is not worth anything&lt;br /&gt;&lt;em&gt;We don't have shit to live on&lt;/em&gt; = We don't have anything to live on&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Synonyms&lt;/strong&gt;&lt;br /&gt;(excrement):&lt;br /&gt;&lt;em&gt;(neutral terms): &lt;/em&gt;&lt;a class="new" title="Bowel movement" href="http://en.wiktionary.org/w/index.php?title=Bowel_movement&amp;action=edit"&gt;&lt;em&gt;bowel movement&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a class="new" title="Droppings" href="http://en.wiktionary.org/w/index.php?title=Droppings&amp;amp;action=edit"&gt;&lt;em&gt;droppings&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Dung" href="http://en.wiktionary.org/wiki/Dung"&gt;&lt;em&gt;dung&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Excrement" href="http://en.wiktionary.org/wiki/Excrement"&gt;&lt;em&gt;excrement&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Faeces" href="http://en.wiktionary.org/wiki/Faeces"&gt;&lt;em&gt;faeces&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (British), &lt;/em&gt;&lt;a title="Feces" href="http://en.wiktionary.org/wiki/Feces"&gt;&lt;em&gt;feces&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (US), &lt;/em&gt;&lt;a title="Faecal matter" href="http://en.wiktionary.org/wiki/Faecal_matter"&gt;&lt;em&gt;faecal matter&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (British), &lt;/em&gt;&lt;a class="new" title="Fecal matter" href="http://en.wiktionary.org/w/index.php?title=Fecal_matter&amp;action=edit"&gt;&lt;em&gt;fecal matter&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (US)&lt;br /&gt;(euphemisms): &lt;/em&gt;&lt;a title="Jobbie" href="http://en.wiktionary.org/wiki/Jobbie"&gt;&lt;em&gt;jobbie&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a class="new" title="Number two" href="http://en.wiktionary.org/w/index.php?title=Number_two&amp;amp;action=edit"&gt;&lt;em&gt;number two&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Poo" href="http://en.wiktionary.org/wiki/Poo"&gt;&lt;em&gt;poo&lt;/em&gt;&lt;/a&gt;&lt;em&gt; or &lt;/em&gt;&lt;a class="new" title="Pooh" href="http://en.wiktionary.org/w/index.php?title=Pooh&amp;action=edit"&gt;&lt;em&gt;pooh&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Poop" href="http://en.wiktionary.org/wiki/Poop"&gt;&lt;em&gt;poop&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;br /&gt;(vulgar slang terms): &lt;/em&gt;&lt;a title="Cack" href="http://en.wiktionary.org/wiki/Cack"&gt;&lt;em&gt;cack&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Crap" href="http://en.wiktionary.org/wiki/Crap"&gt;&lt;em&gt;crap&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Shite" href="http://en.wiktionary.org/wiki/Shite"&gt;&lt;em&gt;shite&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (Northern England, Scottish)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Asshole&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="Arsehole" href="http://en.wiktionary.org/wiki/Arsehole"&gt;arsehole&lt;/a&gt; (UK, Australia)&lt;br /&gt;(vulgar) The &lt;a title="Anus" href="http://en.wiktionary.org/wiki/Anus"&gt;anus&lt;/a&gt;.&lt;br /&gt;&lt;em&gt;My &lt;/em&gt;&lt;a title="Crap" href="http://en.wiktionary.org/wiki/Crap"&gt;&lt;em&gt;crap&lt;/em&gt;&lt;/a&gt;&lt;em&gt; won't come out of my asshole, doctor.&lt;br /&gt;&lt;/em&gt;(vulgar) An &lt;a class="new" title="Undesirable" href="http://en.wiktionary.org/w/index.php?title=Undesirable&amp;action=edit"&gt;undesirable&lt;/a&gt; person. Less vulgar and intense than &lt;a title="Fucker" href="http://en.wiktionary.org/wiki/Fucker"&gt;fucker&lt;/a&gt;.&lt;br /&gt;&lt;em&gt;You put a &lt;/em&gt;&lt;a title="Dent" href="http://en.wiktionary.org/wiki/Dent"&gt;&lt;em&gt;dent&lt;/em&gt;&lt;/a&gt;&lt;em&gt; in my &lt;/em&gt;&lt;a title="Car" href="http://en.wiktionary.org/wiki/Car"&gt;&lt;em&gt;car&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, you asshole!&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111289157746580906?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111289157746580906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111289157746580906&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111289157746580906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111289157746580906'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/humor-wiktionary.html' title='HUMOR :: Wiktionary'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111279656431231358</id><published>2005-04-06T11:50:00.000-04:00</published><updated>2005-04-07T12:53:24.560-04:00</updated><title type='text'>SOFTWARE :: Project Planning Blunders</title><content type='html'>If you're a developer of any sort, then you know, project planning is KEY. You cannot jump into any project of any size and fly by the seat of your pants expecting the project to be on-time, on-budget and bug free.&lt;br /&gt;&lt;br /&gt;Sadly, I've learned about this the hard way. Don't get me wrong, I planned and planned and planned, but what I've learned is that I wasn't planning the RIGHT way.&lt;br /&gt;Let me explain it in a brief "fact based" case study (below is a 5000 page novel):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;em&gt;One day Jim's coworker at ABC Technologies (Jennifer) gave him a ring asking if he would be interested in doing some side work with her. Being a graphic designer, Jen needed assistance developing the e-commerce portion of her friend's site. Jim was all for it and accepted the offer. Jim was very excited about the project, not to mention thankful Jen would drop such an opportunity in his lap.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Soon after, Jim and Jen met with Jen's friend Mary. Jen had already worked out with Mary how they were going to design the look of Mary's Art Supplies website but had no idea what was involved in e-commerce development and costs. This is why Jim was here. So being the dilligent organized person he was, Jim decided to begin his business analysis of Mary's business. Problem was, as of yet, Mary had no business. In fact, she wasn't really sure of what she even wanted. So Jim decided, the best bet was to draw up plans for a run of the mill e-commerce application that he was already familiar with. Then if she wanted, Mary could come back later and add things to the project.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;So immediately after the meeting, Jim went home and developed a project plan and estimate which included a quote, estimated deadlines and a diagram of the application design. About a week or so later, Jim, Jen and Mary all met and discussed the e-commerce application. Excitedly Mary agreed to the estimate and plan and signed off on it.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Soon after, Jen sent Jim the design of the interface and Jim began to develop his brains out. A few weeks later, Mary asked for an update on the progress. Proud of his progress so far, Jim uploaded the application in beta form for Mary to see. Not even 24-hours passed when Jim received a 3 page email outlining all the problems and changes Mary wanted to make. Right away, Jim was frustrated. But, in an effort to maintain his client's happiness, he immediately tended to the changes she wanted to make with total disregard of how it would affect the launch date. He tried to explain the application was still in its beta stage, but Mary insisted that these changes be made before the project continued.&lt;/em&gt; &lt;em&gt;&lt;br /&gt;&lt;br /&gt;As Jim continued to develop the application, Mary was slowly getting a clearer vision of how she would like to actually run her business and was constantly sending Jim email after email of changes and fixes she wanted to make to the site. Eventually, Jim was so irritated that he couldn't make any progress because he was spending all of his time backtracking on changes she wanted to make. So that day, Jim contacted her and immediately let her know that any further changes would be a feature change to the system. So if she had other items, they would have to put them all in a master list and then Jim would quote the number of hours.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Jim completed the quote and estimated another $2000 in changes to the site. Mary immediately approved the $2000 addition and Jim continued. Now motivated again, Jim started right back on the project. He thought he had a grasp on her feature changes and he would be able to carry out the remainder of her changes to the site without further interruption and feature change requests. Jim was wrong. More changes continued to come.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;By now, the launch was MONTHS past its due date and Jim was struggling with personal family issues. He had a new baby and other family health issues which made it so he had very little time to work on the project. Family took presedence over everything and nearly 2 1/2 months passed as Jim dealt with this. While all this was going on, Jim managed to do something very unprofessional. He didn't call his client the entire time. And by the time he was ready to sit down and get back to work, Mary was now extremely frustrated.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;By this time, the project which was planned to be 3 months was pushing almost a year. Mary demanded deadlines, and milestones. Jim, already frustrated at the lists and lists of changes Mary sent, became even more irritated and refused to call her on the phone.&lt;br /&gt;&lt;br /&gt;Needless to say, phone calls were about as long and drawn out as Mary's emails. Scattered thoughts, ideas, and changes. He always hung up more frustrated than when he picked up the phone.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Jim pressed on and 3-4 days out of the week, he trudged on, doing his best to get everything done so he could get this woman out of his hair. He had had it. Not to mention his co-worker Jen, who was getting exceedingly irritated by constant calls from Mary about Jim's progress. Jim was rarely responding to Mary's calls or emails, so Mary would immediately call Jen upset and mad. Jen would then come to Jim at work or during lunch expressing her frustration with the whole deal as well. Obviously this would frustrate him even more.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Eventually, the site was launched, but the application still had bugs and issues with credit card processing. Jim hadn't collected a red cent from Mary and decided he would request that she pay 1/2 ($2000) of the final quote. Frustrated, Mary sent the check. &lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Now somewhat motivated again, Jim decided he would do his best to wrap things up. Now that the project was about 85% done. As he progressed, it wasn't two days before Mary dropped a itemized list of about 25 changes and updates she wanted done. Now extremely upset, Jim walked away from the project and took on another side project.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;He was done and had it with Mary. Weeks went by and Mary contacted Jim via email and said her credit card processing was broken. So Jim decided, "yeah what the hell, I'll help her out with this, and while I'm at it I'll wrap up these other parts of the project." So Jim starts work... 4 hours later, there it is, yet another itemized list of fixes and changes. So now, here it is, nearly 1.5 YEARS later, and the project is STILL dragging on...&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;The saga will undoubtedly continue....&lt;/em&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So as you can see, SEVERAL mistakes have been made here. Let me point some of them out to you and how to avoid them:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;THE MOST IMPORTANT RULE. &lt;strong&gt;You are not a business developer. What I mean is that you develop FOR businesses you don't develop THE business.&lt;/strong&gt; If the customer does not have a business plan or a business in place, YOU CANNOT AND MUST NOT START YOUR PROJECT UNTIL THEY DO. It is up to your client to be responsible enough to come up with a way they want to do business BEFORE they hire you to develop a site for them. If they don't have this, you'll find yourself CONSTANTLY backtracking and making changes to appease your client's change in mood.&lt;/li&gt;&lt;li&gt;Do not accept feature changes AFTER the client has approved a project plan unless they understand that you will need to quote them and charge them for these changes. MAKE SURE the customer understands this and that it WILL push the deadline back. THIS is very important. Most customers will back off when you tell them it will cost them money.&lt;/li&gt;&lt;li&gt;Make sure you estimate realistic deadlines. Cutting yourself short on hours to land the job will never pay off. As Jim did, he sold himself short and the job has obviously costed him FAR more time in hours then what he will be recieving.&lt;/li&gt;&lt;li&gt;Never do business with friends. Nothing good ever comes of it but problems and bad feelings.&lt;/li&gt;&lt;li&gt;If you have a hard time dealing with your client, put some VERY descriptive comments in your code to explain how it works, if it's someone like Mary, put a few comments int the code in to prepare the developer for the onslaught of mental degradation and heartache he is going to face. After you've completed all of that, fire Mary and move on.&lt;/li&gt;&lt;li&gt;Regardless of the situation, MAKE SURE you maintain constant contact with your client. If nothing else, do it out of sheer respect for your fellow human being. It's the least you could do. It doesn't matter how much you loathe talking to them, do it.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;In cases like this, it is mostly a clash of egos and personalities. If you can't work with your client, at least have the decency to fire your client and move on rather than do what Jim is doing. Out of all of this Jim lost countless hours of personal time with changes and free features, and Mary lost countless dollars in lost sales. &lt;/p&gt;&lt;p&gt;Do yourself a favor, either follow the rules above, or just don't work with Mary.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111279656431231358?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111279656431231358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111279656431231358&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111279656431231358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111279656431231358'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/software-project-planning-blunders.html' title='SOFTWARE :: Project Planning Blunders'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111280732311663762</id><published>2005-04-06T11:45:00.000-04:00</published><updated>2005-04-06T23:16:25.390-04:00</updated><title type='text'>WINDOWS :: Sidestepping Microsoft's Internet Security Problems</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;To this day, the biggest complaint of most Linux or Apple users about Windows is regarding the horrible security loopholes in Microsoft's Internet Explorer web browser. Even many seasoned Windows veterans are getting fed up with the constant patches and updates that attempt to stem the never-ending tide of spyware and viruses that take advantage of those loopholes to get on your system and make a mess of things.&lt;br /&gt;&lt;br /&gt;The biggest cause of these security holes is Microsoft's reliance on a pointless technology called "ActiveX". Now this isn't to be confused with "DirectX", which is Microsoft's software for 3D graphics processing, among a few other things related to gaming and multimedia. ActiveX allows a web designer to write small programs that install themselves on your computer when you access their site. It was originally intended to make the site a little more interactive. For example, when you visit WindowsUpdate.com, you are asked for permission to install an ActiveX control from Microsoft. This little program scans your computer's configuration, then compares that with what Microsoft has available in their update library. Then, you are shown only those updates that are of use to your computer.&lt;br /&gt;The problem with ActiveX is that it's a little *too* flexible. A malicious programmer can write an ActiveX program that sneaks onto your hard drive (without even asking you for permission to install), and then sit and wait until you search on Yahoo for "cookie recipes", then quick-format your hard drive. (!!!)&lt;br /&gt;This little "feature" is one reason Microsoft is continually patching Internet Explorer, which really becomes a hassle since MS refuses to dump ActiveX. They still think it's the best thing ever, and apparently plan to stand by their mutant child no matter what happens.  One reason for this unexplainable behavior may be that they have built their entire Windows product update infrastructure around the capabilities that ActiveX provides.&lt;br /&gt;Of course, there are many other things that Microsoft would be well-advised to adopt in the interest of keeping their customers happy, but that's not something I will go into here.&lt;br /&gt;&lt;br /&gt;So, how to secure yourself effectively, and most importantly, for FREE?  One URL says it all for the first part: &lt;a href="www.getfirefox.com"&gt;www.getfirefox.com&lt;/a&gt;&lt;br /&gt;Mozilla's Firefox internet browser project was just recently released out of its previous beta stage, which means that the developers feel they have all the major bugs worked out.  For those who already use it, you know that the beta version was actually quite stable and feature-packed anyhow.  Firefox is a completely free, does not allow ActiveX, and even includes built-in popup blocking and a search bar with Yahoo and Google (among many other services) ready to use, right from within the browser itself!  Heck, Firefox will even import your Internet Explorer bookmarks for you!  How's THAT for service?&lt;br /&gt;Since many malicious spyware/adware bugs take advantage of IE's security holes to do some nasty stuff, (permanently changing your homepage to an advertising or "search engine" site etc), if you are using Firefox you will still get some spyware/adware on your system, but none of it will be the truly nasty stuff.  For the most part the worst you will see while using Firefox is an occasional tracking cookie or registry entry.&lt;br /&gt;By the way, for those of you that think getting rid of ActiveX usability is bad, consider this: any web developer that requires the use of MS' Internet Explorer is either a very amateur developer (and therefore won't likely have much of interest on his/her site), or has "other", more sinister reasons for forcing you to do it his/her way.  A well-done website should be accessible by almost any browser, but at the very least Internet Explorer, Firefox and Netscape.&lt;br /&gt;So now you have a nice, tight, secure and most importantly, FREE browser in place.  What else?&lt;br /&gt;&lt;br /&gt;Well, another major hazard source comes from viruses.  Or virii if you're one of the geeks caught in that particular endless debate.  There are two major programs that will take care of these monsters for you.  &lt;a href="http://www.symantec.com/nav/nav_9xnt/"&gt;Norton's Antivirus&lt;/a&gt;, and &lt;a href="http://us.mcafee.com/root/landingpages/affLandPage.asp?affid=101&amp;lpname=linkshare_mie&amp;amp;cid=5614&amp;siteID=M241PF1pr2o-HvE%2FrcAbxNHpdbnSqqpU0w"&gt;McAffee VirusScan&lt;/a&gt;.  Yes, you do have to pay for these programs, but your money goes to a worthy cause.  These companies spend millions of dollars every year to keep a harem of uber-nerds on staff, that write virus detection patterns within minutes of their initial discovery.  While I do recognize that &lt;a href="http://housecall.trendmicro.com/"&gt;Trend Micro does put out a free Housecall scanning tool&lt;/a&gt;, you need to know that Trend Micro is a very good product, IF you plan on spending a few thousand dollars for the Coporate-level license.  The online scanner they offer is also ActiveX-based.  Uh oh.  Do yourself a favor and buy a copy of McAffee, or my personal fav, Norton's.  The current versions of both will also detect and remove spyware/adware, BUT, they do NOT remove all of it.  No single product does, unfortunately.  You can solve this problem by reading on.&lt;br /&gt;&lt;br /&gt;Norton and McAffee do a great job offering peace of mind on the Internet, and their added ability to scan for spyware/adware is a huge plus, but in order to get all of those buggers out, you will need to throw a triple-threat at them.  You can do this by downloading two free programs.  The first is called &lt;a href="http://safer-networking.org"&gt;Spybot : Search &amp; Destroy&lt;/a&gt;, and the second is &lt;a href="http://lavasoft.de"&gt;Adaware&lt;/a&gt;.  There are multiple versions of Adaware, but the SE Personal Edition is free.  Spybot is universally free.  Download them, install them and let them get their latest updates before running a scan on your system.  It wouldn't be a good idea to run them both at the same time, though.&lt;br /&gt;&lt;br /&gt;Now, you are secured against viruses (or virii), spyware/adware, and malicious ActiveX controls.  Wait, what about worms?  Those nasty, pervasive type of virus that actively crawl the web, looking for open connections and attempting to hijack your machine so they can bring your PC to its knees as it replicates and emails itself to all of your Outlook contacts?  They are a different story.  A regular virus comes to you through an infected email or file download, while worms can make their way onto your drive all by themselves.  They can infect your poor PC even if you don't have a browser open, if you are connected to DSL (logged in of course) or cable broadband service.  Norton and McAffee will both make a stellar attempt at keeping these things off of your drive, but they can only do so much.  Some worms can even mimic regular web traffic, so antivirus software can sometimes let them right in!  Bad news.  Many people never even know they've been infected until their Service Provider sends them an email, threatening to cut off their service if they don't stop mass-emailing (spamming) from their computer.  The hapless victim didn't even realize this was happening, because it's all going on behind the scenes, just as the real spammers who created the worm intended.  Why should they invest in all the hardware and take the risk with their own internet service providers when they can simply use your computer and those of your friends to spread their evil?&lt;br /&gt;&lt;br /&gt;You CAN stop them from getting to you.  You need a firewall.  There are two ways to get one though, and in the end it's up to you to decide which method is better.  If you have multiple computers connected to a broadband service, then good for you!  You probably have a router installed.  A router, just through the nature of how it functions, provides a relatively secure and affordable hardware firewall.  Don't mess with the router's settings, and you can sleep peacefully tonight, for a router left at default security settings is nearly impenetrable.  Wait, scratch that.  You should mess with at least one setting on that router: its access password setting.  Most decent hackers are aware of the major router brands sold today, and through trial and error, can work out which one you have and use the default password to get into your router and open your computer to the world once more.&lt;br /&gt;If you only have one computer in the home, or are on a dialup connection (modem), a router won't be a very useful choice for you.  In your case, there are software solutions that can perform the same protection duties, but that give the user a little more control over EXACTLY what gets to talk to the internet, and what does not.  They can help expose a potential infection when the firewall software asks if a program that the user doesn't recognize can access the internet.  There is a bit of a learning curve with these programs though.  They will force you to become a little more familiar with some of the normal everyday Windows processes that communicate with the web, and can be safely allowed to do so.  Norton puts out one such program in their &lt;a href="http://www.symantec.com/sabu/nis/nis_pe/"&gt;Internet Security&lt;/a&gt; bundle, which also includes their Antivirus software.  McAffee offers &lt;a href="http://us.mcafee.com/root/landingpages/affLandPage.asp?affid=101&amp;lpname=linkshare_mie&amp;amp;cid=5614&amp;siteID=M241PF1pr2o-Fpnmps%2ARIisnMtdVyLZX%2Fw"&gt;Personal Firewall&lt;/a&gt;, and Zone Labs puts up &lt;a href="http://www.zonelabs.com/store/application?namespace=zls_catalog&amp;amp;origin=global.jsp&amp;event=link2.skuList&amp;amp;&amp;zl_catalog_view_id=201&amp;amp;lid=nav_db"&gt;ZoneAlarm&lt;/a&gt;.&lt;br /&gt;All three programs seem to be very effective, although I admittedly have limited experience with them, (&lt;a href="http://toplevel.blogspot.com/2005/03/diy-projects-save-your-cash-build-your.html"&gt;see my DIY article here on TopLevel to understand why&lt;/a&gt;).  Among those three, ZoneAlarm is the only freebie.&lt;br /&gt;&lt;br /&gt;That's it!  With those items in place, and with scans run regularly once a week, you can surf your heart out and know that no matter where you go, there you are...  I mean... you'll be secure.&lt;br /&gt;&lt;br /&gt;I know that all this sounds like a lot of extra effort, but it really isn't.  I mean, if you think about it, wouldn't you rather just clean house once a week rather than being forced to &lt;a href="http://toplevel.blogspot.com/2005/04/windows-managing-your-pcs-files.html"&gt;reformat your hard drive&lt;/a&gt; to get rid of the more tenacious bugs that you could get?  Yeah, I thought so too.&lt;br /&gt;&lt;br /&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; has a worm farm on his back patio, but they never do any hacking.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111280732311663762?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111280732311663762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111280732311663762&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111280732311663762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111280732311663762'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/windows-sidestepping-microsofts.html' title='WINDOWS :: Sidestepping Microsoft&apos;s Internet Security Problems'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111268430833241867</id><published>2005-04-05T02:44:00.000-04:00</published><updated>2005-04-05T19:03:38.540-04:00</updated><title type='text'>WINDOWS :: Managing Your PC's Files Effectively</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Everyone's had to do it now and then: format the freaking hard drive. It's time-consuming, it's annoying, and to many, it's scary as hell. What if you accidentally wipe out something really crucial or otherwise important in the process? What about little Sally's massive mp3 collection?&lt;br /&gt;Well, aside from the fact that Sally is courting a world of hurt with those mp3s, you can take steps with your Windows machine to help alleviate the pain of having to reformat your drive. Again.&lt;br /&gt;&lt;br /&gt;But why do you even have to reformat in the first place? Well, the answer can be a little complex, but there are two main reasons why you would have to do this. The first is that little Sally surfs the web longer and harder than the most dedicated of California waverunners, so naturally she picks up a lot of bugs along the way. Bugs that, if left unchecked, will eventually make themselves permanently at home within Windows. They will ruin the efficient operation of your computer, and really slow things down to the point where simply opening a browser means you have time for lunch and a cigar.&lt;br /&gt;The second reason you end up needing to format is the more complex one, but I will break it down for you thusly: Windows (98 and ME in particular) will slowly give itself a lobotomy over the course of a couple of years. "But why the heck does THAT happen?" you ask, "I defragment my hard drive every month!" Well, to that I would say Good Job. Defragmenting is how you get Windows to put things back in order on your hard drive.&lt;br /&gt;You see, whenever you download, rename, delete, move or copy a file, Windows pushes other files around to help make it easier to deal with that file. This is especially true whenever creating or downloading new files to the hard drive, which includes installing programs. Windows sees that you created something new, and makes the assumption that you will be using the new file(s) the most frequently for now. So, it shoves older stuff to the "back" of the hard drive, and puts the new stuff first, making sure it gets accessed quicker. During this process, some of Windows' own files get pushed around and broken apart. For the most part, Windows doesn't really care about this, because it keeps an internal map, which shows it where all the parts are, and how they relate to each other.&lt;br /&gt;Over time, these files get so fragmented and far apart on the hard drive that Windows can no longer find all of them in the time that it has to complete a particular task. If the file needed is a Windows core file, watch out. Blue screens, reboots and freezes suddenly abound. The bad news is that defragmenting your hard drive, while certainly helping to speed things up, will not help with Windows core files. These files are loaded into memory when Windows starts up, and cannot be moved around. These are the "locked" files that you see in the defrag window.&lt;br /&gt;So over time, Windows scatters itself all over the hard drive, to the point where it can no longer function effectively. It's a sad state of affairs, but it's also the truth of our computer lives today. Try as you might, you simply can't avoid the format monster. There is a way you can make this process a lot easier though. A way that will ease your mind, sure in the knowledge that you got everything you wanted to save.&lt;br /&gt;&lt;br /&gt;Say it with me now: Proper File Management Structure.&lt;br /&gt;Sounds official, but the truth of the matter is that I just wanted you to say proper file management structure. It's funny to watch.&lt;br /&gt;The idea behind PFMS is to create *and maintain* an organized layout for your important files. Windows and other MS programs give you a hand with this by defaulting their save directory to My Documents. If you keep everything in there, it won't be hard to go back and find them later. This method won't work for everything though. Can you imagine storing EVERYTHING in there? Talk about cluttered, to say the least! Let's break this down according to the types of files you might install and how you get them.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul style="font-family: trebuchet ms;"&gt;   &lt;li&gt;Desktop backgrounds : Most people get their backgrounds by finding a cool picture on the web, then right-clicking on the image and selecting "Set as Desktop Background". DON'T DO THAT. Instead, create a folder on your C: drive called "backgrounds", then when you find a cool picture you want to use, right-click it and select Save Image As and save it in the backgrounds directory. Then right-click on the open desktop and go to properties, select the Background tab and browse to your picture. Sure, it's a little more involved, but now you can always bring back that background again later on. You now also have an established, central location for all your background pictures.&lt;/li&gt;   &lt;/ul&gt; &lt;ul style="font-family: trebuchet ms;"&gt;   &lt;li&gt;Installation files : One thing that annoys a lot of people who format is that after the main event, there's no way to reinstall the programs they had before, much less find them all on the web again. The solution is to create a "zip" directory on the C: drive, and then store your downloaded install files (like Winzip, Winamp and other little web-snagged tools) in there. After a bit of time, you may come to realize that you'll want some deeper organization within that directory too, so you find the proper file again with little fuss. For example, inside my zip directory, I have other directories for Development, Audio, Games etc. Trust me on this one. VERY handy.&lt;/li&gt;     &lt;/ul&gt; &lt;ul style="font-family: trebuchet ms;"&gt;   &lt;li&gt;MP3s : A no-brainer if you ask me. This is a filetype that almost everyone has on their computer. It's a music file, and where there's one, there's bound to be more. Lots more. Many music collectors will segregate all their mp3 music in a single directory, and some people take it to another level and organize each album within its own directory under the main music directory. For my part, I use a single mp3 directory, with a ton of mp3s inside. I simply don't collect entire albums, so that other method doesn't work well for me.&lt;/li&gt;     &lt;/ul&gt; &lt;ul style="font-family: trebuchet ms;"&gt;   &lt;li&gt;Custom Windows sounds : These can be a few different filetypes, but they are generally used to change the sounds that Windows comes with by default. I usually place these sound files in a directory inside the Windows directory itself, so the path looks like this C:/Windows/media.&lt;/li&gt;   &lt;/ul&gt; &lt;span style="font-family:trebuchet ms;"&gt;So anyhow, you get the idea, right? Whenever you're going to have multiple files with a single given type or use, it's best to keep them concentrated in a specific place on your hard drive. Sadly, this method of organization won't help much with fragmentation issues, but it will make your life a heck of a lot easier when it comes time to wipe the drive, or even just finding the files that you want to open faster.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Another trick I've used to keep track of what I had installed (and therefore what could be left out upon reinstallation of Windows), is to copy the start menu over to a floppy or CD before formatting. For Win98/ME users, this can be found under C:/Windows/Start Menu.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;For 2000/XP Users, the start menu is located at C:/Documents and Settings/All Users/Start Menu.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now if you don't want to worry about copying that thing around, you can always print it out, or "print" it to a text (notepad) file. The easiest way to do this is through the &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://www.karenware.com/powertools/ptdirprn.asp"&gt;Karen's Directory Print&lt;/a&gt;&lt;span style="font-family:trebuchet ms;"&gt; program. It's free, and it's easy to understand. I still recommend a quick read through the help file though. You will likely find that the program has a feature that you specifically wanted (for those of you just nerdy enough to have such expectations).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;One more thing to worry about organizing: desktop icons. You know, all those little picture thingies sitting there on the screen when you first turn on the computer? Do you even USE half of those shortcuts? How many of those icons are installation files that you downloaded to there, used them to install the program, then left them there in a fit of laziness? Did you know that all those icons are slowing your computer down and *gasp* using up your computer's memory?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;You need to organize here too. Move those zip and installer exe files somewhere else on your drive (like maybe the zip folder) and get them off your desktop. Also, those little shortcuts that programs put on the desktop. You know, the "Try AOL Free Now!" icons that some programs create? Wipe 'em. That is, unless you really gotta have AOL a few weeks from now, and don't know if you can rely on the mail to bring those CDs regularly enough. Anyhow, you get my point. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Other targets for your icon-deleting frenzy should be those RealPlayer and Quicktime icons. Do you ever open those programs by themselves, just to look at them and "ooh" and "ahh" over the interface? No. You installed those programs because some video clip on a website or that you downloaded required those programs in order to play. So I think you know how it works in general. You installed Quicktime, and now every .mov file you click automatically starts Quicktime. Duh. Simple. SO, delete those program shortcuts too. In fact, delete them from the Quickstart bar (down by the start button) too. Clutter = hard-to-find shortcuts = BAD.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;It's also a good idea to get rid of those Quicktime, Realplayer, Winamp etc programs running in the background when you don't even need them. (Do you really need Quicktime running all the time in the background? I know I don't, and I use Quicktime all the time.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Be anal about what gets to run on your computer in the background, and what gets to keep icons on your desktop. Make it an obsession to keep things out of the way and organized. You're computer-using life will be SO much easier. Been there, done that.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;So for now, I bid you good day, and happy reformatting.  It isn't every day I get to wish something like that! :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; formats his hard drive just to watch the pretty lights blink.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111268430833241867?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111268430833241867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111268430833241867&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111268430833241867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111268430833241867'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/04/windows-managing-your-pcs-files.html' title='WINDOWS :: Managing Your PC&apos;s Files Effectively'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111230149179136311</id><published>2005-03-31T15:30:00.000-05:00</published><updated>2005-04-05T19:14:17.103-04:00</updated><title type='text'>SQL :: Random Code Generator</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;Okay so this may only work with MICROSOFT® SQL technologies at the moment, but either way its useful. What this is, is a simple block of logic that generates a random 5-digit "code" from inside a stored procedure. Add more lines, it adds more digits.&lt;/span&gt;&lt;br /&gt;&lt;code style="font-family: trebuchet ms;"&gt;&lt;br /&gt;set @sRndPromo = '0123456789ABCDEFGIJKLMNOPQRSTUVWXYZ0123456789'&lt;br /&gt;set @sRndPromo = substring(@sRndPromo,1+convert(int,rand()*100) % len(@sRndPromo),1)+ substring(@sRndPromo,1+convert(int,rand()*100) % len(@sRndPromo),1)+ substring(@sRndPromo,1+convert(int,rand()*100) % len(@sRndPromo),1)+ substring(@sRndPromo,1+convert(int,rand()*100) % len(@sRndPromo),1)+ substring(@sRndPromo,1+convert(int,rand()*100) % len(@sRndPromo),1)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Additionally, if you want to get even crazier with it, such as numeric, alphanumeric, simple and complex random "code" generation in SQL, here is some more lovin.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code style="font-family: trebuchet ms;"&gt;&lt;br /&gt;DECLARE @sData varchar(10)&lt;br /&gt;DECLARE @password_type varchar(10)&lt;br /&gt;&lt;br /&gt;DECLARE @type tinyint&lt;br /&gt;DECLARE @bitmap char(6)&lt;br /&gt;DECLARE @len int  --Length of the password to be generated&lt;br /&gt;&lt;br /&gt;--Default is to generate a simple password with lowecase letters.&lt;br /&gt;--Pass anything other than 'simple' to generate a complex password.&lt;br /&gt;--The complex password includes numbers, special characters, upper case and&lt;br /&gt;--lower case letters&lt;br /&gt;SET @len = 8&lt;br /&gt;SET @password=''&lt;br /&gt;SET @bitmap = 'uaeioy'&lt;br /&gt;--@bitmap contains all the vowels, which are a, e, i, o, u and y. These&lt;br /&gt;--vowels are used to generate slightly readable/rememberable simple passwords&lt;br /&gt;&lt;br /&gt;WHILE @len &gt; 0&lt;br /&gt;BEGIN&lt;br /&gt;IF @password_type = 'simple' --Generating a simple password&lt;br /&gt;BEGIN&lt;br /&gt;IF (@len%2) = 0  --Appending a random vowel to @password&lt;br /&gt;&lt;br /&gt; SET @password = @password + SUBSTRING(@bitmap,CONVERT(int,ROUND(1 +&lt;br /&gt;(RAND() * (5)),0)),1)&lt;br /&gt;ELSE --Appending a random alphabet&lt;br /&gt; SET @password = @password + CHAR(ROUND(97 + (RAND() * (25)),0))&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;ELSE --Generating a complex password&lt;br /&gt;BEGIN&lt;br /&gt; SET @type = ROUND(1 + (RAND() * (3)),0)&lt;br /&gt;&lt;br /&gt; IF @type = 1 --Appending a random lower case alphabet to @password&lt;br /&gt;  SET @password = @password + CHAR(ROUND(97 + (RAND() * (25)),0))&lt;br /&gt; ELSE IF @type = 2 --Appending a random upper case alphabet to @password&lt;br /&gt;  SET @password = @password + CHAR(ROUND(65 + (RAND() * (25)),0))&lt;br /&gt; ELSE IF @type = 3 --Appending a random number between 0 and 9 to @password&lt;br /&gt;  SET @password = @password + CHAR(ROUND(48 + (RAND() * (9)),0))&lt;br /&gt; ELSE IF @type = 4 --Appending a random special character to @password&lt;br /&gt;  SET @password = @password + CHAR(ROUND(33 + (RAND() * (13)),0))&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;SET @len = @len - 1&lt;br /&gt;END&lt;br /&gt;     set @password = @password + substring(@sData,1+convert(int,rand()*100) % len(@password),1)+&lt;br /&gt;     substring(@sData,1+convert(int,rand()*100) % len(@password),1)+&lt;br /&gt;     substring(@sData,1+convert(int,rand()*100) % len(@password),1)+&lt;br /&gt;     substring(@sData,1+convert(int,rand()*100) % len(@password),1)&lt;br /&gt;&lt;br /&gt;SELECT @password --Here's the result&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Now with these, you can feel free to use them in your Stored Procedures or SQL 2k+ User Defined Functions. Happy fucking coding!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111230149179136311?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111230149179136311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111230149179136311&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111230149179136311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111230149179136311'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/sql-random-code-generator.html' title='SQL :: Random Code Generator'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111219965013318594</id><published>2005-03-30T11:19:00.000-05:00</published><updated>2005-04-05T19:14:38.356-04:00</updated><title type='text'>COOL :: Free MIT Education</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;Well not really...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;But if you're in the mood to teach yourself some things, check out MIT's openCourseware.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Very cool.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: trebuchet ms;" href="http://ocw.mit.edu/index.html"&gt;http://ocw.mit.edu/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111219965013318594?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111219965013318594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111219965013318594&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111219965013318594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111219965013318594'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/cool-free-mit-education.html' title='COOL :: Free MIT Education'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111177243283926792</id><published>2005-03-25T12:08:00.000-05:00</published><updated>2005-03-25T12:40:32.846-05:00</updated><title type='text'>SOFTWARE :: Sony's Vegas 5</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;If you've ever gotten knee-deep in a home video editing project, you may have stumbled across the one thing about many NLEs (non-linear editors) that cause many folks to simply turn off the computer when the program crashes.  Again.&lt;br /&gt;Unless you're running some insane hardcore hardware, it's likely that your expensive copy of Adobe Premier will be giving you headaches as it continually dies for no reason whatsoever, despite running hardware that falls within Adobe's recommended specs, under ANY version of Windows whatsoever.  Premier isn't the only program that falls prey to this problem.  Many other high end programs suffer from this affliction as well, but nobody seems able to explain why.  I know I certainly can't, and I've just about tried them all.&lt;br /&gt;One that works very well is called Movies on CD and DVD by Magix.  It works fairly well as an introductory editor, but for something truly powerful and flexible, you'll want something better.&lt;br /&gt;&lt;br /&gt;Sonic Foundry began with their entry into the NLE arena with Vegas.  At first, it was a pretty good program, although it's capabilities were still limited.  It made a great entry-level editor, but had a hard time competing with the plethora of tricks that Premier had up its sleeve.&lt;br /&gt;That is, until Sony bought a large chunk of Sonic Foundry's properties, including Vegas and Soundforge, which is now linked (but not integrated) into Vegas.&lt;br /&gt;&lt;br /&gt;Sony added so much to this program.  At version 5, the user has the ability to add as many audio and video tracks as he wants to his project; a feat that was not possible in any previous versions.  The best part about Vegas?  IT DOESN'T CRASH.  Not even on marginally recommended hardware.  Sure, you'll wait a little longer than the big dogs for your render to finish, but you don't have to worry about saving again and again and again in an attempt to keep from losing your precious hours of work.&lt;br /&gt;Vegas also has the capability to produce some basic graphics of its own beyond the expected title effects.  For example, with a little bit of trickery, you can use Vegas to create a radar screen effect from scratch.  Not the cheesy radial transition wipe effect, mind you, but a full-blown green radar screen with sweeping scan line and everything!&lt;br /&gt;Yes, okay that's a little cheesy for an example, but think about it: how many other programs will let you do more than just cut together video clips haphazardly?  The stock transition effects that come with the program are numerous and high-quality.  There are also a number of third party expansion packs that will give you more transitions and sound/video clips to use as enhancements for your project.&lt;br /&gt;Vegas also lets you take complete control of the view aspect of a clip or image.  You can zoom a segment of a clip, or "event" as they call it, or crop it to fit the view you're aiming for.  Not only that, but there is also a timeline control for this feature.  For example, on the timeline, I start at the first keyframe with the view aspect at full, then click over to the last keyframe in the timeline, and re-size the view aspect so that the view is now zoomed in on the clip.  The result will be that when I review that clip, it will now slowly (or quickly, depending on the length of time and the "distance" of the zoom effect), zoom in on the image.  This same concept can be applied to let you do sliding imagery, slide-zooms among other things.&lt;br /&gt;Another great feature is that Vegas treats each event line the same way that Adobe Photoshop does its layers.  Video layers higher up on the workspace are higher up in the "stack" of video layers.  This means that I can import a clip or image with transparent areas into the top layer, and then a second clip underneath that, and create some really cool effects.  You can also make a solid upperlayer see-through by adjusting the alpha of either the whole channel, or by simply dragging the alpha control on the clip itself downward.&lt;br /&gt;&lt;br /&gt;Look, I know that sounds a little weird when you read it.  It's partly because I'm only a casual video hobbyist.  I don't have all the proper terminology solid in my head, but I think that you other enthusiasts out there will have an understanding of what I was talking about.&lt;br /&gt;&lt;br /&gt;Anyhow, if you've got some extra wads of cash to blow, you can pick up a copy of Vegas for around $700.00.  Couple it with Sound Forge and Photoshop, and you can create simply incredible video and audio effects in your own projects with little fuss or muss.&lt;br /&gt;&lt;br /&gt;More importantly, it competes directly with Adobe Premier, except that Premier rewards your expensive purchasing power by constantly giving the user a frustrating experience, where Sony Vegas will make you feel like an overnight professional.  There's nothing like the feeling of creating something from scratch that makes everyone you show it to say "Wow.  I never knew someone could do this without working at a studio."&lt;br /&gt;&lt;br /&gt;Pure bliss.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt;&lt;span style="font-style: italic;"&gt; is currently working on a concept movie project at &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.planetsidemovies.com"&gt;PlanetsideMovies.com.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111177243283926792?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111177243283926792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111177243283926792&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111177243283926792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111177243283926792'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/software-sonys-vegas-5.html' title='SOFTWARE :: Sony&apos;s Vegas 5'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111173863750642933</id><published>2005-03-25T03:07:00.000-05:00</published><updated>2005-03-25T12:41:58.046-05:00</updated><title type='text'>DIY PROJECTS :: Save Your Cash, Build Your Own Router!</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;You've had it with that old crappy router that someone gave to you when they upgraded. It's a pain to configure, it dumps its settings mysteriously and without warning, and you can't even get it to update an external DNS database so you can remote connect to your PC when your ISP rotates your modem's IP address.&lt;br /&gt;You've also had it with mom giving you hell about all that extra hardware you've got laying around the place, collecting dust. She does have a point. If you've got the guts for a complete computer system lingering around the joint, why not put them to use, shut mom the hell up, and replace that p.o.s. router all at the same time?&lt;br /&gt;&lt;br /&gt;Let's see, there's an old Dell PC over there. It's a crappy little Pentium II processor, but you added some memory to it a while back. The hard drive's not all that big, maybe a few gigs. What you didn't realize before was that that crappy old Dell machine is simply perfect for a renewed usefulness as your incredibly flexible and powerful new router! Smack in a second network card, hook up a switch where your router used to be, and the hardware side of things are complete!&lt;br /&gt;&lt;br /&gt;Now how to program this thing? How do you turn a complete computer system into something as mundane and everyday as a router? Sure, it runs Windows 98 pretty good, but there's no way to make THAT into any kind of kickass NAT box.&lt;br /&gt;&lt;br /&gt;My friend, your troubles are over! Linux is going to save you. Ah ah ah, don't you DARE go cringing and making with the yuck face. You don't really have to understand how to program (or even install) Linux to make this project work. All it takes is to download a quick .iso, burn it to CD, and boot the machine from it.&lt;br /&gt;&lt;br /&gt;Clark Connect is based on Red Hat 7.3, but again, you will rarely see the evidence of the Linux OS eyecandy that is common on most desktop installs. This is strictly console-level baby. Command line goodness. Well, there is a rudimentary gui that will help you get setup, but after the basic configuration, you will have the ability to configure the rest through a browser on a machine connected through the network to the router box.&lt;br /&gt;The neatest thing about Clark Connect? It has much better logging capabilities than a standard one-piece router, can do intrusion detection (snort), act as a webserver, provide squid proxy caching (which causes sites you've visited before to load much faster), work as a mailserver and even let you connect to the router machine directly through Windows Network Neighborhood as a Samba-shared machine! Holy crap!&lt;br /&gt;&lt;br /&gt;So Mick Nobody and I (well actually just him, I donated the hardware) set up a router box, using Clark Connect on a Dell Optiplex GXa, Pentium II 266MHz, 128MB RAM machine. The setup was a little hairy at first, but we neglected a couple of things that we should have gotten straight in the first place. For one thing, we had the internet cable and the internal network cables in the wrong respective network cards. We also forgot to reboot the cable modem (so it would now pay attention to the new network card it was connected to). Once those problems were fixed though, the whole thing took off like a shot.&lt;br /&gt;Now there is another feature that the software offers, which we want, but are asked to sign up for a free account with the software provider. This feature is called DNS forwarding. This lets our new router notify their website of any changes to our home ISP, which we can check from anywhere in the world, and subsequently connect to our home machines directly.&lt;br /&gt;Incidentally, this could a very handy feature when attempting to set up a home-based ftp server, which is also included as part of the Clark Connect package.&lt;br /&gt;&lt;br /&gt;For more information on this really kickass program, and for download links, click on &lt;a href="http://www.clarkconnect.com/"&gt;ClarkConnect.com.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Wanna see some screenies of the web interface in action?  Check out &lt;a href="http://www.clarkconnect.com/info/screenshots.php"&gt;ClarkConnect Screenshots.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; only likes Linux when he isn't doing the installation&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111173863750642933?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111173863750642933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111173863750642933&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111173863750642933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111173863750642933'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/diy-projects-save-your-cash-build-your.html' title='DIY PROJECTS :: Save Your Cash, Build Your Own Router!'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111170172695639860</id><published>2005-03-24T16:39:00.000-05:00</published><updated>2005-03-24T17:08:23.520-05:00</updated><title type='text'>OPINION :: N00Bz.</title><content type='html'>Okay, okay... we all have them. You know, that friend who isn't all that tech savvy that gets their FIRST new computer. They always seem to go through that whole period of novelty where they will spend the next 5 months emailing you chain letters for 10 free pairs of gap jeans, photos of 50 ft grizzly bears, and lame jokes that grandma wouldn't even find funny. Irritating right? I think so. I try to send them links to snopes.com and let them know "yes, that would just be friggin' hillarious if I hadn't seen it 20 times 5 years ago".&lt;br /&gt;&lt;br /&gt;I have a solution.&lt;br /&gt;I submit to you my proposal for an Internet Licensing system. Yeah that's right. I believe that if we force people to get an Internet Operator's License (IOL) before they can surf the world's information superhighway (haven't heard that since the 90's have ya?) then I think we would all be alot better off. Our inboxes would be cleaner and bandwidth would get cheaper because 50 trillion morons would know better than to email 500mb, 600 dpi jpeg's back and forth.&lt;br /&gt;&lt;br /&gt;It would be simple. Work it just like we do a driver's test. For $25, you pay an authorized IOL issuer to test you on the basics of the internet and computers. What's stupid and what's not. Multiple choice... just like a driver's test.&lt;br /&gt;&lt;br /&gt;ex:&lt;br /&gt;1. What does mb stand for?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;a. motherbitchass&lt;br /&gt;&lt;li&gt;b. megabyte&lt;br /&gt;&lt;li&gt;c. multi-bit articulonatorcon&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;2. Billy has sent you a 50mb mpeg video of a teenage girl getting mowed down by a train. What do you do with it?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;a. Drive to Billy's house and shoot him for sending you a disturbing video that has now ruined your day.&lt;br /&gt;&lt;li&gt;b. Delete the email immediately and then politely tell Billy he is a moron.&lt;br /&gt;&lt;li&gt;c. Forward it to all 2,500 people in your fancy pants, user friendly AOL address book.&lt;br /&gt;&lt;li&gt;d. Kill yourself.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;As you can see, a test like this would be PERFECT. The only drawback is that we would have to have some huge council regulating internet access, so that you can get on the internet without your unique IOL number.&lt;br /&gt;&lt;br /&gt;I think it would work. Comb the web and clear the internet of these bandwidth wasting idiots and make them educate themselves BEFORE they even touch a computer. The world would be a safer place.&lt;br /&gt;&lt;br /&gt;God help us all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111170172695639860?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111170172695639860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111170172695639860&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111170172695639860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111170172695639860'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/opinion-n00bz.html' title='OPINION :: N00Bz.'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111169516175835763</id><published>2005-03-24T15:09:00.000-05:00</published><updated>2005-03-24T15:12:41.760-05:00</updated><title type='text'>HARDWARE :: The Perfect Home Audio Studio Add-on</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;A company called Edirol (who?) has created a really sweet device that can provide external USB recording and mixing for your home PC-based audio studio.&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: trebuchet ms;"&gt;I want one, and if you're smart, you'll want one too!&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;a style="font-weight: bold; font-family: trebuchet ms;" href="http://www.musiciansfriend.com/srs7/g=clearance/search/detail/base_pid/707052/"&gt;The Edirol UR-80 USB Recording System&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111169516175835763?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111169516175835763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111169516175835763&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111169516175835763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111169516175835763'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/hardware-perfect-home-audio-studio-add.html' title='HARDWARE :: The Perfect Home Audio Studio Add-on'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111076853879254937</id><published>2005-03-13T21:04:00.000-05:00</published><updated>2005-03-24T14:29:32.906-05:00</updated><title type='text'>OPINION :: Why Apple Will Own The Industry Soon</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;So for years, the PC world has been dominated by a corporate giant that is well-known, even to folks who aren't all that comfortable with PCs. Microsoft. Let's face it, Windows is, hands-down, THE most-used home computer operating system software on the planet. Servers are a different story, but then they usually follow trends a few years behind, due to operational costs incurred during the upgrade process.&lt;br /&gt;So anyhow, you have Windows, which has been simply ruling the market thanks in no small part to the efforts of one Bill Gates. Now, this dude was MS' marketing ace, and his tactics made sure that Windows was installed on as many computers as possible, or at the very least, that people were aware of its existence. Well, he did his job so well, that he has somehow become this sort of icon of Microsoft. Sure, he started the business, but when someone has a bug up their butt about Windows, they blame Bill. He's no longer due his scapegoat status, but this article isn't a history lesson about the world's richest nerd. It's about his company's downfall.&lt;br /&gt;&lt;br /&gt;You see, just a couple of months ago, another competing giant did something that was unprecedented and earthshaking. What they did will give Microsoft serious reason to pause and start planning for a long cold business winter ahead. Apple released the Mac Mini.&lt;br /&gt;"Whoa," you're saying, "big frigging deal.  Just another tiny computer."&lt;br /&gt;Well, you're right on one count, it IS a teeny tiny wee bitty little thing, but that should in no way allow you the freedom to cajole it so. It's powerful. I went to the local Apple Store and played around with the cheapest model. This thing could edit movies, for Pete's sake! Still not impressed? What if I told you it was doing it with a chip that was physically far slower than most of today's Windows machines, ran about half the memory, which itself is a third of today's memory speeds, and using a graphics card that would be useful for little more than getting your email on a PC?&lt;br /&gt;Windows has made the PC so popular that people have become complacent about needing to buy expensive hardware, simply because the OS developers don't care about your hardware price woes half as much as they do their financial partners, the hardware manufacturers. Don't believe me? Try running a little tool called TweakNT on an installation of Windows 2003 Server. What you will see will astound you. I know it did me.&lt;br /&gt;Basically, TweakNT exposes the other kernels that are all still embedded in 2003. That means I can turn this 2003 machine into an XP Home, XP Pro, Enterprise Webserver etc. ANYTHING that uses the NT core is included in the installation. The reason for that is that Microsoft goes through coders so fast, and they are so stuck on security, that they will have many separate teams of people working on a single product, with little or no communication between the departments! So here's what ends up happening:&lt;br /&gt;&lt;br /&gt;TOM : Ok, we're done with our part of Longhorn.&lt;br /&gt;MICROSOFT : Thanks.  Now get out.  We don't allow our employees to use iPods at their desks.&lt;br /&gt;TOM : Jerks&lt;br /&gt;MICROSOFT : Here's the next portion of the code Dick.&lt;br /&gt;DICK : Wait, what's this part doing here?  This shouldn't be doing this!  Where's Tom?&lt;br /&gt;MICROSOFT : He's gone now.  Make it work.&lt;br /&gt;DICK : Okay, I'll just write around the bug and it's done.&lt;br /&gt;MICROSOFT : Thanks.  Now get out.  We don't like our employees spreading our developer serials around the web.&lt;br /&gt;DICK : Jerks&lt;br /&gt;MICROSOFT : W00t! The new Windows is done! Wait. What's this part that is using part of the old code from the old Windows? Oh well, if we leave the code for the old stuff in the new version, it should still work.&lt;br /&gt;BILL GATES : Yeah, and if people start getting uppity about the size of the installation, we can just tell them that people's hard drives are getting bigger and faster anyway, so what does it matter?&lt;br /&gt;MICROSOFT : Yeah, people will totally not even notice.  They're stupid.&lt;br /&gt;BILL GATES : Yep.  They sure are.  Now would you like some more caviar and wine?&lt;br /&gt;&lt;br /&gt;So as you can see from this officially completely made-up transcript, the old stuff was left in the new versions so that there would be fewer problems. Windows has become such a kludge (look it up) that not even Microsoft knows what everything in there does, and there's still a lot of code in there that uses files that were only present in older WIndows versions.&lt;br /&gt;"But wait," you argue, "wouldn't it be better for them to leave in the old stuff so my old programs will work under the new Windows versions?"&lt;br /&gt;Well, no. When you use that Compatibility Mode in Windows XP, that has nothing to do with the old code. It simply tricks a program into thinking it's running on an older version so it will install properly. There is no old code involved with that, it's a completely different chunk of code, which uses an odd portion of old stuff here and there, but none of the old versions are actually used (even though they are installed anyway) if that makes any sense.&lt;br /&gt;The gist of this whole rant thus far is that Windows is bloated and full of security loopholes that are getting exploited to no end. The end result is a whole lot of unhappy customers. The number of pissed off peeps only goes up when MS starts denying people the use of a copy that they purchased legitimately, but subsequently won't activate because some smart kid ran a key generator for his bootleg disc, and just happened to activate the legit number before they did. Oops.&lt;br /&gt;&lt;br /&gt;Well, when Apple release their Mac Mini, with a price of a few hundred bucks (not including monitor or peripherals), and worked faster than any PC, with comparatively underpowered hardware, they set the stage for a massive firestorm.&lt;br /&gt;Suddenly, Johnny Know-Nothing can buy a cheap computer that is well-suited for his college dorm or office cubical, can use it to do just about any common computer task today, and do so faster and without the constant nagging worry of virus infections and security loopholes in the operating system.&lt;br /&gt;Not only that, but any Apple customer can buy a machine that they KNOW will work with their software, because Apple controls the hardware, AND the OS. There is no "Certified Driver" program for Apple such as there is with MS, because Apple controls all of it firmly, guaranteeing stability and reliability.&lt;br /&gt;Until recently, that kind of value was expensive, and required you to consider seriously before buying one. But now, the Mini makes reliability and usability more accessible to the masses.&lt;br /&gt;Microsoft made that happen already, sure, but their heads have gotten big over all this fame and fortune, and they've begun taking the little guys for granted. They've bred a generation of users who will put up with constant crashes, insanely huge online-only security patches, and then patches for those patches when they break things, and then yet another spate of security flaw releases. Compound all of this with MS' refusal to let the customer have a choice in the multimedia and web software to install on their machine, and their consistent denial of any knowledge of accepted web standards, AND the fact that each new version of Windows requires faster and more expensive hardware with each release, and even a brain-dead mutant would be left wondering why in the hell MS is still in business at all.&lt;br /&gt;It's because they are done with us, folks. They made their buck (and their business) off sales of their Operating System initially, then started aiming at big businesses as they grew. Now, most of their cash flow comes from projects other than the home-use operating systems. They couldn't care less whether or not we're unhappy about their product, because, in essence, they have us by the balls. Unless, that is, we decide to take matters into our own hands, take a little initiative, and take a credit card up to the Apple Store for a new Mac Mini. Sure, the OS is a little different to use, but you had to learn Windows at one point too, right? The difference this time is that by the time you're comfy with the OS, you can rest assured that they aren't going to start screwing around with the way it looks (too drastically at least) or make the system "NEW AND IMPROVED" to the point where it scares you to try to work with it.&lt;br /&gt;   Not only that, but you won't be constantly asked to download "security updates" to correct the kludges that the OS authors left in the code.  MacOS is clean and stable, and it performs solidly!&lt;br /&gt;   With these factors firmly in mind, it should be easy to see why MS is going to have to start considering other options when it comes to making money, because their software division is going to be hurting heavily very soon.  Suddenly I can spend $400 and feel like I actually got something of value for my buck!  Still think you can get the same kind of value in a PC?  Well consider this:&lt;br /&gt;The computer retail store I work for offers a computer (with all peripherals except monitor) for $299.99.  Nice price, until you look under the hood.  The specs SEEM adequate to run Windows XP, but just barely.  Everything's integrated, everything's just this side of scrap in order to save costs.  What that means for the customer is that if all they are ever going to do is check their email, then this machine is perfect.  Add a little more load to your daily activities (who doesn't play Yahoo Pool now and then?) and things get hairy.  Suddenly you're considering an upgrade on a machine you JUST BOUGHT. &lt;br /&gt;Or hey, there's always the Mac Mini, which can freaking edit video, for Deuce's sake!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Deadweasel is not a paid spokesman for Apple, but wishes he was&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111076853879254937?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111076853879254937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111076853879254937&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111076853879254937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111076853879254937'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/opinion-why-apple-will-own-industry.html' title='OPINION :: Why Apple Will Own The Industry Soon'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111030446866316921</id><published>2005-03-08T12:50:00.000-05:00</published><updated>2005-03-08T12:54:28.663-05:00</updated><title type='text'>COOL :: Nice USB drive...</title><content type='html'>&lt;a href="http://www.everythingusb.com/redcannon_fireball_keypoint_cms.html"&gt;http://www.everythingusb.com/redcannon_fireball_keypoint_cms.html&lt;/a&gt;&lt;br /&gt;This is what I'm talkin' about.   A USB flash drive that encrypts all the data saved on it.  But don't lose your password.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111030446866316921?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111030446866316921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111030446866316921&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111030446866316921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111030446866316921'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/cool-nice-usb-drive.html' title='COOL :: Nice USB drive...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-111023069434186681</id><published>2005-03-07T16:23:00.000-05:00</published><updated>2005-03-07T16:24:54.346-05:00</updated><title type='text'>HUMOR :: Tech Tips...</title><content type='html'>&lt;strong&gt;11.&lt;/strong&gt; To protect your investment in that new DVD-/+RW, soak five or six cotton balls in alcohol (the higher the proof the better), place them in the tray and close it then hit the eject button to open it back up. Do this several times. Don't worry if you lose one of the cotton balls, just replace it with a freshly soaked one.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;10. &lt;/strong&gt;Over time, sound cards can get clogged up and start sounding muddy. It's a good idea to periodically go into the sound control panel and turn all the volume sliders to maximum. Don't forget turn the speaker volume to max, as well.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;9. &lt;/strong&gt;Computer cases, like aquariums, can become dirty and develop a layer of scum on their inside. To keep your computer scum-free, it is a good idea to buy a few snails from the local pet store and place them inside.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;8. &lt;/strong&gt;Floppy disks are meant to be floppy, the floppier they are the better they work. You should, on a regular basis, bend your floppies back and forth several times to keep them from stiffening up.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;7. &lt;/strong&gt;Every now and then check for loose hardware. Turn your PC on then pick it up and shake it as hard as possible. If something wasn't installed tight enough, it will have shaken loose and and you'll be able to hear the rattle. Dropping the PC from a few feet onto the desk surface will accomplish the same results.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;6. &lt;/strong&gt;If your computer is locking up, it's because it's tired and sleepy. Pour some fresh-brewed coffee on the motherboard to wake it up.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;5. &lt;/strong&gt;Keep that 15,000 rpm SCSI drive free of contaminants and running smoothly by squirting lighter fluid on it once it's reached operating temperature.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;4. &lt;/strong&gt;If you've made unwanted changes to a document or spreadsheet, just use the handy "reset" button to reverse the changes.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;3. &lt;/strong&gt;When using a microphone and speakers, place them as close to one another as possible to achieve the maximum desired effect.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;2. &lt;/strong&gt;Make your own wireless devices. All you need to do is install the recommended wireless card then you can cut the wires off your keyboard and mouse with a regular pair of scissors.&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;strong&gt;1. &lt;/strong&gt;If you currently have a glass top desk for your computer desk and you're thinking of getting an optical mouse, be aware that the mouse will not work correctly on the glass top desk. You will need to paint the bottom of the mouse a solid color. Black works best.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-111023069434186681?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/111023069434186681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=111023069434186681&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111023069434186681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/111023069434186681'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/humor-tech-tips.html' title='HUMOR :: Tech Tips...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110919092965314402</id><published>2005-03-04T13:26:00.000-05:00</published><updated>2005-04-08T10:58:32.660-04:00</updated><title type='text'>SQL :: Hierarchies in MS SQL</title><content type='html'>If you've programmed with SQL for any length of time, at some point, you may be faced with the need to store hierarchical data. If you're an Oracle DBA or a developer that uses it, go home and leave me alone. I'm jealous. You already have the ability to handle hierarchical data.&lt;br /&gt;&lt;br /&gt;But if you're familiar with MS SQL, then you know this is one of the few features Microsoft chose to leave out of their SQL platform.&lt;br /&gt;&lt;br /&gt;So what is hierarchical data?&lt;br /&gt;Well, its just that. Data with a hierarchy. Lets say you have an application you're developing to store a company hierarchy. For example, John is the boss, Jeff and Eric are managers under John and Jeff and Eric have 15 employees under them. Now to make it even more complex, lets say your company has 15 satellite offices with employees and managers and sometimes employees manage other employees...Already, you can see how complex it could be to manage all of this information in a database. This, my friend, is hierarchical data. This method of storing and retrieving hierarchical data in a SQL database has proven to work effectively as well as quite efficiently given the fact that it uses a temp table to track the "stack"(shown below).&lt;br /&gt;&lt;br /&gt;How do we store and retrieve hierarchical data in MS SQL?&lt;br /&gt;Lets use the following example:&lt;br /&gt;&lt;br /&gt;Databases often store hierarchical information. For example, the following data is a hierarchical representation of regions of the world. This representation does not clearly show the structure implied by the data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Parent                             Child                        &lt;br /&gt;-------------------                ------------------------&lt;br /&gt;World                              Europe                       &lt;br /&gt;World                              North America                &lt;br /&gt;Europe                             France                       &lt;br /&gt;France                             Paris                        &lt;br /&gt;North America                      United States                &lt;br /&gt;North America                      Canada                       &lt;br /&gt;United States                      New York                     &lt;br /&gt;United States                      Washington                   &lt;br /&gt;New York                           New York City                &lt;br /&gt;Washington                         Redmond&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This example is easier to interpret:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;World&lt;br /&gt;   North America&lt;br /&gt;      Canada&lt;br /&gt;      United States&lt;br /&gt;         Washington&lt;br /&gt;            Redmond&lt;br /&gt;         New York&lt;br /&gt;            New York City&lt;br /&gt;   Europe&lt;br /&gt;      France&lt;br /&gt;         Paris&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;The following Transact-SQL procedure expands an encoded hierarchy to any arbitrary depth. Although Transact-SQL supports recursion, it is more efficient to use a temporary table as a stack to keep track of all of the items for which processing has begun but is not complete. When processing is complete for a particular item, it is removed from the stack. New items are added to the stack as they are identified.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;CREATE PROCEDURE expand (@current char(20)) as&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;DECLARE @level int, @line char(20)&lt;br /&gt;CREATE TABLE #stack (item char(20), level int)&lt;br /&gt;INSERT INTO #stack VALUES (@current, 1)&lt;br /&gt;SELECT @level = 1&lt;br /&gt;&lt;br /&gt;WHILE @level &amp;gt; 0&lt;br /&gt;BEGIN&lt;br /&gt;   IF EXISTS (SELECT * FROM #stack WHERE level = @level)&lt;br /&gt;      BEGIN&lt;br /&gt;         SELECT @current = item&lt;br /&gt;         FROM #stack&lt;br /&gt;         WHERE level = @level&lt;br /&gt;         SELECT @line = space(@level - 1) + @current&lt;br /&gt;         PRINT @line&lt;br /&gt;         DELETE FROM #stack&lt;br /&gt;         WHERE level = @level&lt;br /&gt;            AND item = @current&lt;br /&gt;         INSERT #stack&lt;br /&gt;            SELECT child, @level + 1&lt;br /&gt;            FROM hierarchy&lt;br /&gt;            WHERE parent = @current&lt;br /&gt;         IF @@ROWCOUNT &amp;gt; 0&lt;br /&gt;            SELECT @level = @level + 1&lt;br /&gt;      END&lt;br /&gt;   ELSE&lt;br /&gt;      SELECT @level = @level - 1&lt;br /&gt;END -- WHILE&lt;/code&gt;&lt;/pre&gt;The input parameter (&lt;b&gt;@current&lt;/b&gt;) indicates the place in the hierarchy to start. It also keeps track of the current item in the main loop.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The local variables used are &lt;b&gt;@level&lt;/b&gt;, which keeps track of the current level in the hierarchy, and &lt;b&gt;@line&lt;/b&gt;, which is a work area used to construct the indented line.&lt;br /&gt;&lt;br /&gt;The SET NOCOUNT ON statement avoids cluttering the output with ROWCOUNT messages from each SELECT.&lt;br /&gt;&lt;br /&gt;The temporary table, &lt;b&gt;#stack&lt;/b&gt;, is created and primed with the item identifier of the starting point in the hierarchy, and &lt;b&gt;@level&lt;/b&gt; is set to match. The &lt;b&gt;level &lt;/b&gt;column in &lt;b&gt;#stack &lt;/b&gt;allows the same item to appear at multiple levels in the database. Although this situation does not apply to the geographic data in the example, it can apply in other examples.&lt;/p&gt;&lt;p&gt;In this example, when &lt;b&gt;@level&lt;/b&gt; is greater than 0, the procedure follows these steps:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;If there are any items in the stack at the current level (&lt;b&gt;@level&lt;/b&gt;), the procedure chooses one and calls it &lt;b&gt;@current&lt;/b&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Indents the item &lt;b&gt;@level&lt;/b&gt; spaces, and then prints the item.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Deletes the item from the stack so it will not be processed again, and then adds all its child items to the stack at the next level (&lt;b&gt;@level&lt;/b&gt; + 1). This is the only place where the hierarchy table (&lt;b&gt;#stack&lt;/b&gt;) is used.&lt;br /&gt;&lt;p class="tl"&gt;With a conventional programming language, you would have to find each child item and add it to the stack individually. With Transact-SQL, you can find all child items and add them with a single statement, avoiding another nested loop.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;If there are child items (IF &lt;b&gt;@@&lt;/b&gt;ROWCOUNT &amp;gt; 0), descends one level to process them (&lt;b&gt;@level&lt;/b&gt; &lt;i&gt;= &lt;/i&gt;&lt;b&gt;@level&lt;/b&gt; + 1); otherwise, continues processing at the current level.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If there are no items on the stack awaiting processing at the current level, goes back one level to see if there are any awaiting processing at the previous level (&lt;b&gt;@level&lt;/b&gt; &lt;i&gt;= &lt;/i&gt;&lt;b&gt;@level&lt;/b&gt; - 1). When there is no previous level, the expansion is complete.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:78%;"&gt;(src: MSSQL Books Online)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So there you have it. Using a very small temp table, making a few modifications to the table that stores your data and a relatively small stored procedure can allow you to return hierarchical data quite easily out of MS SQL server 7.0+. Word is, because of the "TRUE" XML support in MSSQL 2005, you will be able to reference hierarchical data ALOT easier and more effecient than you can using this workaround method outlined above&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110919092965314402?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110919092965314402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110919092965314402&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110919092965314402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110919092965314402'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/sql-hierarchies-in-ms-sql.html' title='SQL :: Hierarchies in MS SQL'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110979193125870372</id><published>2005-03-02T14:15:00.000-05:00</published><updated>2005-03-02T14:37:54.596-05:00</updated><title type='text'>INTERESTING :: Webinars...</title><content type='html'>I've never attended a "webinar" (web seminar). Yesterday I gave it a shot for the first time as I attended a "E-Commerce Fraud Protection" webinar through VeriSign. It was actually pretty cool! &lt;a href="https://verisignevents.webex.com/"&gt;https://verisignevents.webex.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What happens is that you install an application made by "WebEx" that allows you to view the presentation. When the webinar starts, you login and it provides you with a toll free number to listen to the speaker as he goes through the presentation. All the while he is giving the presentation, he can share his desktop and allow you to view as he demonstrates the software. At the end of the session, a moderator came on and said, "At this time we will allow you to ask questions, please press *1 on your touchtone phone to ask a question and press *2 to back out". So I press *1. A moderator or "operator" cuts in outside of the meeting and asks "did you have a question?". I say "yes" and the operator replies, "okay, what is your name?" and I provide my name, to which he replies "I'm going to patch you back into the seminar, and just hit 1* again and ask your question when you're introduced".&lt;br /&gt;&lt;br /&gt;Keep in mind there are about 70 people listening to the seminar via phone conference call and webex software so you wait your turn to ask your question. Then the operator comes on again "Your next question is from Jeremy Mack". I'm then queued to ask my question in front of 70 other people who are listening in. Now how cool is that? You can speak in a forum of that many people and not be nervous about screwing up your question.&lt;br /&gt;&lt;br /&gt;So then after the very informative and helpful "webinar" I started thinking...man...how funny would it be if you did a prank question in a web seminar like that in front of 70 people. Think about it...&lt;br /&gt;(over phone conference)&lt;br /&gt;&lt;strong&gt;Moderator&lt;/strong&gt;: "Okay Brad, your next question comes from John Hutchins"&lt;br /&gt;&lt;strong&gt;John&lt;/strong&gt;: "Hi Brad."&lt;br /&gt;&lt;strong&gt;Brad&lt;/strong&gt;: "Hi"&lt;br /&gt;&lt;strong&gt;John&lt;/strong&gt;: "So I was feeding the wife the old magic stick last night, you know, taking her for a ride on the ole bone rollercoaster when I thought.... OH MY GOD GO TO TOPLEVEL.BLOGSPOT.COM!!! PORKCHOP SANDWICHES!!"&lt;br /&gt;&lt;strong&gt;Brad&lt;/strong&gt;: "..."&lt;br /&gt;&lt;strong&gt;John&lt;/strong&gt;: *click*&lt;br /&gt;&lt;br /&gt;What a great way to advertise!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110979193125870372?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110979193125870372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110979193125870372&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110979193125870372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110979193125870372'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/interesting-webinars.html' title='INTERESTING :: Webinars...'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110971685111433455</id><published>2005-03-01T17:34:00.000-05:00</published><updated>2005-03-01T17:47:04.930-05:00</updated><title type='text'>READING :: Rapid Development</title><content type='html'>&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1556159005/qid=1109716435/sr=8-1/ref=pd_bbs_1/002-8772736-8672009?v=glance&amp;s=books&amp;amp;n=507846"&gt;&lt;img src="http://images.amazon.com/images/P/1556159005.01.MZZZZZZZ.jpg" align="left" border="0" /&gt;&lt;/a&gt;If you've ever taken part in any sort of software development in the business world, I don't think I could possibly reccommend a book as useful as this one has been. Rapid Development by Steve McConnell. Don't let the stigma of the Microsoft Press publishing label fool you. This book is by far one of the most useful tools I've used as a developer as it could serve as well for developers for software across all platforms.&lt;br /&gt;&lt;br /&gt;Not only does this book give great case studies and incorrect methodologies for project planning and development, it also provides the solutions to these issues as well as a multitude of tips and ideas on how you can turn your projects around more efficiently with better quality.&lt;br /&gt;&lt;br /&gt;Here are some of the classic mistakes covered in the book (src: amazon.com)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;People Related Mistakes&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Heroics &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Adding people to a late project &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Politics placed over substance (etc.) &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Process Related Mistakes &lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Abandonment of planning under pressure &lt;/li&gt;&lt;li&gt;Planning to catch up later&lt;/li&gt;&lt;li&gt;"Code-like-hell" programming (etc.) &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;li&gt;Technology Related Mistakes&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Silver-Bullet syndrome &lt;/li&gt;&lt;li&gt;Overestimating savings from new tools or methods &lt;/li&gt;&lt;li&gt;Switching tools in the middle of a project (etc.) &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;If you're a developer, do yourself a favor and pick up a copy of this book.&lt;br /&gt;&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1556159005/qid=1109716435/sr=8-1/ref=pd_bbs_1/002-8772736-8672009?v=glance&amp;s=books&amp;amp;n=507846"&gt;http://www.amazon.com/exec/obidos/tg/detail/-/1556159005/qid=1109716435/sr=8-1/ref=pd_bbs_1/002-8772736-8672009?v=glance&amp;s=books&amp;amp;n=507846&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110971685111433455?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110971685111433455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110971685111433455&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110971685111433455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110971685111433455'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/03/reading-rapid-development.html' title='READING :: Rapid Development'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110961725235341277</id><published>2005-02-28T14:00:00.000-05:00</published><updated>2005-03-01T17:47:47.356-05:00</updated><title type='text'>FUNNY :: good ole nerd humor</title><content type='html'>(thanks paul)&lt;br /&gt;&lt;a href="http://bash.org/?9081"&gt;http://bash.org/?9081&lt;/a&gt; (best ever)&lt;br /&gt;&lt;a href="http://bash.org/?128114"&gt;http://bash.org/?128114&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bash.org/?104383"&gt;http://bash.org/?104383&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110961725235341277?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110961725235341277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110961725235341277&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110961725235341277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110961725235341277'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/funny-good-ole-nerd-humor.html' title='FUNNY :: good ole nerd humor'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110930953918819562</id><published>2005-02-25T00:28:00.000-05:00</published><updated>2005-02-28T14:04:34.056-05:00</updated><title type='text'>WEB :: Usage Statistics</title><content type='html'>Well, granted we've only been tracking usage for a few days, but here is the breakdown of the technology our readers are using...&lt;br /&gt;Browser  &lt;br /&gt;Firefox 76.92 %&lt;br /&gt;Explorer 6.x 17.95 %&lt;br /&gt;Mozilla 2.56 %&lt;br /&gt;Netscape 7.x 2.56 %&lt;br /&gt;&lt;br /&gt;Hey J.... so much for 90% of the world using i.e., huh?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110930953918819562?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110930953918819562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110930953918819562&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110930953918819562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110930953918819562'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/web-usage-statistics.html' title='WEB :: Usage Statistics'/><author><name>micker</name><uri>http://www.blogger.com/profile/10742639970784025044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110929020712714845</id><published>2005-02-24T19:07:00.000-05:00</published><updated>2005-02-24T19:10:07.130-05:00</updated><title type='text'>FUNNY :: Unix Humor</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;01000010 01100101 00100000 01101001 01110100 00100000 01100101 01110110 01100101 01110010 00100000 01110011 01101111 00100000 01101000 01110101 01101101 01100010 01101100 01100101 00101100 00100000 01010100 01101000 01100101 01110010 01100101 00100111 01110011 00100000 01101110 01101111 00100000 01110000 01101100 01100001 01100011 01100101 00100000 01101100 01101001 01101011 01100101 00100000 00101111 01111110 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Thanks Micker!&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="font-family: trebuchet ms;"&gt;(If you aren't all 1337 and stuff, you can translate that mess &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://www.adcott.net/binary/"&gt;here.)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110929020712714845?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110929020712714845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110929020712714845&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110929020712714845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110929020712714845'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/funny-unix-humor.html' title='FUNNY :: Unix Humor'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110919513936726261</id><published>2005-02-23T15:42:00.000-05:00</published><updated>2005-02-27T13:44:14.520-05:00</updated><title type='text'>WINDOWS :: How To Secure Your Windows Box By Thinking Like A Linux Nerd</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Oh my God.  The sky is falling.  Again.&lt;br /&gt;Word among the pasty-faced representatives of the seedy underbelly of the Internet has it that there's a wonderful new exploit ready to make the rounds, for those of us running Windows XP, ANY version.&lt;br /&gt;This little monster hides itself on your system, and could do any number of things, depending on which mutation of the original you have the misfortune to pick up. What it does isn't half as bad as the fact that even if you discover something amiss on your system, you're unlikely to ever find it and whack it dead. This new exploit allows a bug using it to hide itself as part of the "kernel", the very heart of Windows itself. Hiding this way, you will never see it's process running in the process manager (ctrl-alt-del), and there isn't an anti-virus or anti-spyware solution in existence that can detect and remove it, because for all intents and purposes, once it's on your box, it's PART OF WINDOWS.&lt;br /&gt;Sounds scary, right? Sounds like more doomsaying by Microsoft-bashing weirdos, right? Well, it is, and it is. This time, they're right. Want to defend against it before it has its way with your hard drive? Start thinking like a Linux nerd. That's right, you heard me.&lt;br /&gt;Now don't freak out just yet. I didn't say you had to start actually *running* Linux, just think like the users do. How to do that? Stop using your machine as an Administrator.&lt;br /&gt;"But wait," someone says, "I'm not running as Administrator, I'm running as Stinky Wizzleteats," the voice in the back proclaims proudly.&lt;br /&gt;Here's the thing, if you can do whatever you please in Windows, without it ever once griping about permissions, you ARE using the system as an Administrator, and that's dangerous. One of the reasons Linux is so secure is that, used properly, the average user is logged in as just that: a user. In Linux, a regular user doesn't have permissions to install things at random and move files anywhere he/she pleases. It's an inconvenience, but consider this: if the user himself can't install arbitrary software, then a website being accessed by that same user can't either! This concept is the crux of what will save the common Windows installation from getting hosed hard when the user least expects it.&lt;br /&gt;Most Windows XP users are playing around on their machine, using the standard login that's setup for them when they bought the machine from the store, or using the standard account setup provided with a fresh Windows install. These accounts are Admin accounts, giving the user, and any website he views full install/remove capabilities. Up until now, that's been an acceptable risk to most people.&lt;br /&gt;Now, however, it's the difference between keeping your important stuff, or surrendering it all to a mysterious mass-deletion or forced formatting of the drive.&lt;br /&gt;&lt;br /&gt;The consequences are horrendous for continuing to use our Windows XP machines they way we have grown accustomed to, but the rewards for changing that a little bit are many. Here's what you need to change, and how to deal with it from here on out:&lt;br /&gt;&lt;br /&gt;1) Using the machine as you usually do, open the Control Panel, then open the User Administration section.&lt;br /&gt;&lt;br /&gt;2) Create an account with a unique name that you will recognize as being an admin account. (You can't use Admin or Administrator, unless you installed Windows yourself and know the core admin password)&lt;br /&gt;&lt;br /&gt;3) Give the new account Administrator priveleges.&lt;br /&gt;&lt;br /&gt;4) Create a password for the new account. I suggest a password with shifted numbers in it. So "2124" would become "@!@$". This makes it hard for outside would-be hackers to "brute-force" your password by throwing a dictionary at it, because those weird characters don't exist in everyday words.&lt;br /&gt;&lt;br /&gt;5) Now, logout of your current account and login to the new Admin account.&lt;br /&gt;&lt;br /&gt;6) Go back to the User Administration panel, and change your old account's permissions to User.&lt;br /&gt;&lt;br /&gt;7) Now logout of the Admin account and go back to the regular old account.&lt;br /&gt;&lt;br /&gt;This procedure will force you to click the icon for your account when you first start the machine, and if you set one, enter a password. Logging in using this method will be a little frustrating at first, since you won't be able to install new programs without first jumping over to the Admin account, but thanks to Windows XP fast user switching, it's pretty painless to do. You will also run across certain instances where you will be forbidden from moving files to critical areas, like the Windows, Program Files, and C:/ directories for example. You will still have complete and total access to all secondary drives and partitions though.&lt;br /&gt;&lt;br /&gt;"Why in God's name did I ever do this," you're asking now, "this is such a pain in the butt to use!"&lt;br /&gt;Well, yes, admittedly, it takes a little more effort to do a few things that you used to be able to do without a second thought. However, the shortcomings are extremely few, and the benefits this usage model offers far outweigh any minor inconveniences. Now, even if you're still madly in love with Internet Explorer, and won't listen to anyone tell you how crappy it is, you will be able to surf mostly worry-free now.&lt;br /&gt;Bear in mind, this method won't stop some of the spyware and adware and viruses from getting onto your system, so be sure to continue to protect yourself with the programs you've always used to eliminate them. (You DO use those programs, right?)&lt;br /&gt;But now, the truly nasty ones, the ones that do their best to destroy your precious files or make changes to important Windows files will be unable to do their thing. You rule, you lucky sop you.&lt;br /&gt;&lt;br /&gt;//Edit//: Okay, you know what, I tried this method out for a couple of weeks, and it just got to be too much of a pain in the ass.  I won't blame you if you go back to the old method of using Windows.  The problem appears to be that for about 3/4 of the important functions that you will likely be attempting to use every day, Windows forces you to switch users over to the Administrator account, instead of simply asking you to login in using the Admin password, like Linux/Unix normally does.  Since Windows DOESN'T do this, trying to secure your system by using it like a Unix box introduces more frustration than you may be willing to deal with.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110919513936726261?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110919513936726261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110919513936726261&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110919513936726261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110919513936726261'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/windows-how-to-secure-your-windows-box.html' title='WINDOWS :: How To Secure Your Windows Box By Thinking Like A Linux Nerd'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110919013189153281</id><published>2005-02-23T15:19:00.000-05:00</published><updated>2005-02-23T15:22:11.893-05:00</updated><title type='text'>FUNNY :: Programming humor.</title><content type='html'>So I was sitting here at work, when I sent my friend an instant message:&lt;br /&gt;&lt;br /&gt;Me: Kill me now.  I have three projects lined up, and I still have a ton left to learn with c# before I can use it with any of them.... how the hell will I EVER have time to learn this?&lt;br /&gt;&lt;br /&gt;Friend: Tie weights to your legs, jump in, and hope to Christ the ocean empties out.  Or you will die.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110919013189153281?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110919013189153281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110919013189153281&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110919013189153281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110919013189153281'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/funny-programming-humor.html' title='FUNNY :: Programming humor.'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110914000621492543</id><published>2005-02-23T01:21:00.000-05:00</published><updated>2005-02-23T01:26:46.216-05:00</updated><title type='text'>HACKS:: Post Grabbing Shell Script</title><content type='html'>I've been trying to find ways to work on my scripting abilities and so I came up with an idea for a bash script that would check for a new post to the blog and if I am logged into my machine, inform me of it's existence and allow me to read it in plaintext from the server.&lt;br /&gt;&lt;br /&gt;Here's what I've got so far....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;rm index.html&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;rm final1&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;rm top-post.top&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;echo 'TopLevel Post Retriever Tool v0001a'&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;wget toplevel.blogspot.com&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;cat index.html | grep -m 1 http://toplevel.blogspot.com | gawk '{print $2'} | sed 's/href="/ /g' | sed 's/"/ /g' &gt; top-post.top&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;post=$(cat top-post.top)&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;wget $post&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;file1=$(cat top-post.top | cut -d / -f 6)&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;cat $file1 |sed -n '/blogBody"&gt;/,/blogPostDate/p' | sed 's/&lt;br /&gt;/ \&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;/g'| sed -e :a -e 's/&lt;[^&lt;]*&gt;/ /g;/&lt;/{N;s/\n/ /;ba;}' &gt;final1&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;less final1&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;rm $file1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There really isnt any logic in it yet, but it will pull down the most recent post to this blog and convert it to plaintext.&lt;br /&gt;&lt;br /&gt;If I have time tomorrow, I will add the logic to it and post the final results here.  Yes, I know my regex work is ugly, but its something I've just started working at in the past week....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110914000621492543?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110914000621492543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110914000621492543&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110914000621492543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110914000621492543'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/hacks-post-grabbing-shell-script.html' title='HACKS:: Post Grabbing Shell Script'/><author><name>micker</name><uri>http://www.blogger.com/profile/10742639970784025044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110912352832588277</id><published>2005-02-22T20:04:00.000-05:00</published><updated>2005-02-22T22:59:15.886-05:00</updated><title type='text'>HARDWARE :: Why The F&amp;@# Won't My PC Start Up?!</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt; We've all experienced it at one time or another. Sit down to your trusty PC, hit the power button, and everything spins up, but nothing else happens. Or worse yet, nothing happens at all. Or worst of all, it's already running, and suddenly everything shuts down with a rude and quite spiteful pop from the speakers as the screen goes blank and the drives and fans spin down.&lt;br /&gt;It's scary, it's frustrating, and dammit, it's just not fair! Well fear not, here's an easy-to-understand guide to help you get started with troubleshooting the problem. We'll approach the problem from the three different ways you could experience it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;u&gt;Everything's roses, and then POP&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt; This is the most scary failure most users experience, because it's not just a simple error popping up on the screen, where it might be possible to recover and continue as if it never happened. One minute you are working on your machine, happy as a clam, and the next minute, *pop*, it's all gone. The screen is suddenly off, the speakers click, and everything just generally goes away without so much as a "kiss my butt". The first thing you should do at this point is remember to NOT PANIC. This type of failure seems pretty dramatic, but more than likely, everything's fine, and will require a fairly simple procedure to repair.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) Look around the room at other electrical devices.&lt;/span&gt; Are they still working? Could the power have gone out in the room? In the whole house? If it's off in just your room, it's probably just a tripped breaker. If you have 3 power strips plugged into each other, and all the outlets are full, that's probably the issue. Spread out the power plugs a bit. Plug a power strip into separate outlets around the room, and if you need more in one location, get a bigger power strip with more outlets available. If your rig tripped the breaker, that's a pretty serious indicator that you could cause a fire if you continue with things as they are.&lt;br /&gt;If power is out throughout the house, then DUH, it's probably due to failed electrical service to your house. Call a neighbor and check on their power. Chances are that they are in the dark too.&lt;br /&gt;On another note, take note of what happened just before the system went down. Did power go low for a moment (brownout)? If so, get thine posterior with your PC to the nearest computer shop. Brownouts are the #1 killer of power supplies. After the Great US Blackout of 2003, computer repair stores' workloads went through the roof with power supply replacements. Sometimes whole systems had been nailed by the brownout immediately preceding the final loss of power. Brownouts are the best reason to turn up your nose at all the pretty surge protectors, and go with a nice UPS (uninterruptable power supply) unit instead. These units not only provide beautiful, reliable surge supression, they also fill in the "missing" power during a brownout, thereby saving your computer's keister. You can get a good UPS from APC for as little as $49.99.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) Check the power strip the computer itself is plugged into.&lt;/span&gt;&lt;br /&gt;It's possible the surge protector (you ARE using a surge protector and not just a power strip, right?) is doing its job and cut out when it got a jolt through the house's power lines.&lt;br /&gt;It's also important to remember that unless you paid stupid amounts of money for a really nice surge protector, you should replace them every couple of years. They DO wear out, and can start tripping out for seemingly no good reason. The reason is that the surge detection element in the protector can get worn down from carrying power, and can start getting oversensitive, detecting even the slightest variation in power, and tripping out when there really wasn't any threat.&lt;br /&gt;If you did buy a nice, higher-end surge protector, congratulations, it just saved you some serious trouble. Wait a few minutes before resetting the surge protector, just to be certain that all the spikes have made their way through the electrical system. After that, it should be safe to turn off the power supply on the computer (or unplug it altogether if you don't have a power switch on the power supply itself), and reset the surge protector. Bring your system back up and watch it closely for any ill effects.&lt;br /&gt;Incidentally, it's not all that unreasonable to believe that the stupid cat just walked on the surge protector's power switch, turning it off. Unless you don't have a cat, in which case you should be giving the dog the old fish eye. Stupid dog.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3) Is the computer itself doing anything weird?&lt;/span&gt;&lt;br /&gt;"Weird" could mean anything out of the ordinary such as:&lt;br /&gt;- Both power and HDD access lights always on, even though the system is completely offline&lt;br /&gt;- Nothing happens when you hit the power button&lt;br /&gt;- The power light comes on for a moment, then goes back off&lt;br /&gt;In all of these cases, it usually indicates that your computer's power supply has just taken a dump on you. Shuffled off the mortal coil. Pushing up daisies. Dead. In this case, it's probably no big thing, unless, that is, you happen to be lucky enough to have one of those Dell, Compaq, HP or Gateway computers that uses a proprietary design for the power supply. For the rest of you, it's a little easier. In either case, get your butt (and your computer) to your local mom and pop computer store and see if they can help you. If you know what time it is on the street, (and in your pc's case), then shamble, strut and otherwise hightail it to your local computer parts supply store for a replacement. You bigbox (Dell, Compaq etc) folks might want to take your computer to the store for a double-check on the power supply design anyhow. Some are open to easy swaps, others are a royal pain. Power supplies range in price from $19.99 to $119.99 and up. I suggest you dig deep and buy the best you can afford, unless you enjoyed the shock of your system giving you the finger in such a glorious fashion, and look forward to experiencing it again. Soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4) Was there a nice *pop* and burning smell from the computer itself?&lt;br /&gt;&lt;/span&gt;Yep, definitely the power supply. This isn't all that uncommon with some of today's cheapie computers and cases, unfortunately. It usually isn't fatal to the guts of your machine, but I recommend having it checked out thoroughly anyhow. You can never be too careful with your (expensive) baby.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;&lt;u&gt;Just hit the power button and...wtf?&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Uh oh. The damned thing worked just last night. What happened? Okay, so you sit down, hit the power button on your computer, expecting it to make some whirring noises and beep happily before getting down to brass tacks and setting to the task of booting up. But nothing happened at all. No pretty lights. No reassuring whirring. Not even a freaking happy little beep! Here's what you need to check:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;&lt;br /&gt;1) &lt;obvious&gt; Is power working in the room?  The house?  The surge protector?&lt;br /&gt;&lt;/obvious&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Read through the above situation to work through possible causes with house and surge protector power.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;2) Does switching the PC power supply off/on have any effect?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Sometimes a PC's power supply can get a little skittish and trip out, thinking it got too hot inside. Resetting it like this can sometimes get it up and happy again. It's also possible that if you have a cheap and/or old surge protector (or worse yet, just a simple power strip) the computer might have gotten kicked in the crotch with a power spike, and killed the power supply (and possibly worse). Take the poor system to your local computer store for a diagnostic check. You could just replace the power supply, but in this case, you could have more damage than that on your hands. A power surge can not only kill a power supply, it can sometimes go right past it and nail the other internal components as well. Have your machine professionally checked out, so that way, if anything's going to blow afterward, it happens right there where the replacement parts are sold.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;3). Did you hear a *pop* and smell something burning the first time you hit the button?&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Damn. Extremely bad timing, but this, again, is usually nothing more than the power supply telling you where to stick it as it proceeds to go all nuclear on your butt. Not usually fatal to the computer, but semi-violent power supply deaths such as this have the capability to kill other important (and potentially more expensive) things inside the case. Have the PC checked out for additional damage, and see about a new power supply. Again, buy the best you can afford to avoid dealing with this situation again within the system's foreseeable future.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;&lt;u&gt;Power on...  are you on yet?&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;This situation can be confusing. You turn the computer on, and you get the effect you've come to expect: pretty lights, whirring and... wait, where's the beep? Where's all the gibberish on the screen while it counts the megabytes of memory I put in there? What does "No VGA signal found" mean on the screen? Uh oh. This is potentially more serious than a simple power supply failure. This situation could also go like so: power on, pretty lights, whirring noise then everything shuts right back down. We'll go over potential causes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;1) Power supply&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Yes, that power supply could be getting ready to get all medieval on you. Some power supplies can get weak as they get older, or more specifically, the thermal relay that protects the power supply from overheating gets weaker, making it more sensitive. Sometimes a power supply gets delusional in its old age, thinking its getting too hot when it really isn't but shutting down anyway. A power spike or brownout can also cause the power supply to get flaky like this. In this case, replacing the power supply should be all that's needed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;2) Motherboard&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Oh crap, now it's getting technical. Well, actually, it's not all that bad. At least, not as far as you can take it while sitting in your room with your poor PC all opened up on the floor. Unless you have a lab full of electronics testing equipment, replacement parts, and the know-how to use it all, the best you can do in this case is a visual inspection. Look at the tops of all those little tower-thingies sticking up from the motherboard. Those are capacitors, and the tops of them should be as flat as day-old beer. If you see any that are bulging or cracked on top, the motherboard is toast. There's nothing you can do about it, except to replace the motherboard. It happens sometimes, thanks to the global push for cheaper technology. Your only potential saving grace is the warranty on the motherboard, IF it's still under warranty.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Also check for burns or scorching on any of the power connectors leading to the motherboard. If you see anything unusual, take the PC to a repair shop. Burned plugs are signs of possible deeper damage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-family: trebuchet ms;"&gt;&lt;img src="http://semcdfa.com/subfiles/toplevel/badcap.jpg" /&gt;&lt;br /&gt;Bad board.  BAD board!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;3) Processor&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;Absolutely no way to test this possibility, other than to replace the processor with another compatible chip. The only way you can identify a bad proc is to pull it out of the machine, and look for burn marks. If you see any, you can usually relax, secure in the knowledge that you just found the problem. Overclocking nerds see this problem more often than any of them will admit.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-family: trebuchet ms;"&gt;&lt;img src="http://semcdfa.com/subfiles/toplevel/burningproc.gif" /&gt;&lt;br /&gt;Mmm mmm mmm... Toasty!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:trebuchet ms;" &gt;4) Storage drives&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;This includes optical drives, as well as hard drives, floppies and Zip drives. Sometimes a drive can fail so badly inside, that they send weird power fluxes back up to the power supply. When this happens, the power supply never sees the "power good" signal that it normally waits for from the motherboard before it lets everything fire up completely. To test for this, unplug ALL of your drives, then plug in the main boot drive, and turn the system on. If it boots, turn off the computer and plug in the next hard drive, and repeat the process until you find the offending piece of crap... I mean hardware. If you find a drive that's causing this problem, whatever you do, DO NOT think that it will ever go away on its own and suddenly work again. You could end up with a cute little teeny tiny FREAKING FLAME OF FIRE spouting from the board of the hard drive. This can also drive your power supply over the edge, putting you right back at square one. *sigh*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="font-family: trebuchet ms;" src="http://semcdfa.com/subfiles/toplevel/burningdrive.jpg" /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Look, my hard drive's on f.. OH MY GOD!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-family:trebuchet ms;"&gt;In the end, unless you've dealt with these sorts of things before, you're going to be better off getting your system checked out by a professional. Best Buy and CompUSA are okay, but, as I have been saying, your local mom and pop shop will be a better gig, because the folks working there are more likely to be in business because they like doing it, and know what they're talking about. Their service rates are usually cheaper too. Call around, and don't wuss out on asking about their service fees. It's worth it to get your baby humming away happily under your desk, no?&lt;br /&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Deadweasel&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt; is often everywhere, while being nowhere.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110912352832588277?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110912352832588277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110912352832588277&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110912352832588277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110912352832588277'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/hardware-why-f-wont-my-pc-start-up.html' title='HARDWARE :: Why The F&amp;@# Won&apos;t My PC Start Up?!'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110911834067451121</id><published>2005-02-22T19:05:00.000-05:00</published><updated>2005-02-22T23:02:16.866-05:00</updated><title type='text'>DEBIAN/SPARC :: What the hell is the Sun Disk Label?</title><content type='html'>There's been alot of posts to the mailing lists and the irc channels lately about partitioning a drive on the Sparc architecture. I'm going to post a short tutorial so that google will eventually find it and lost users will be able to read it and the world will be a better place and all that...&lt;br /&gt;&lt;br /&gt;ok.. Lets start with FDISK. Fdisk under Debian/sparc is different than the cfdisk utility most linux users are familiar with. Its much much different than the one dos/Windows users are used to.&lt;br /&gt;&lt;br /&gt;So, I'm going to fire up fdisk on my primary hard disk drive (/dev/hda in unixish) with the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rivera:/home/mick# fdisk /dev/hda&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;this will initialize fdisk on my first IDE device (I'm on an Ultra 5 here which uses IDE, if you have scsi on your system it may be /dev/sda) now I get this prompt:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hmmm... Nice and cryptic, just like an esoteric port of linux should be, right? Bah.. lets hit that 'm' for help...&lt;br /&gt;&lt;br /&gt;Boom, I get this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  a   toggle a read only flag&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  b   edit bsd disklabel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  c   toggle the mountable flag&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  d   delete a partition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  l   list known partition types&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  m   print this menu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  n   add a new partition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  o   create a new empty DOS partition table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  p   print the partition table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  q   quit without saving changes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  s   create a new empty Sun disklabel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  t   change a partition's system id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  u   change display/entry units&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  v   verify the partition table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  w   write table to disk and exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  x   extra functionality (experts only)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A much more informative menu.  Lets print out our existing partition table with the 'p' command.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disk /dev/hda (Sun disk label): 16 heads, 255 sectors, 22068 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Units = cylinders of 4080 * 512 bytes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Device Flag    Start       End    Blocks   Id  System&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/hda1             0       752   1534080   83  Linux native&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/hda2  u        752      1009    524280   82  Linux swap&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/hda3             0     22068  45018720    5  Whole disk&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/hda4          1009      8538  15359160   83  Linux native&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/hda5          8538     10545   4094280   83  Linux native&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/hda6         10545     22068  23506920   83  Linux native&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you're a linux/unix user, most of this should be familiar. Look closely at that third partition though. This is the tricky spot that most people get hung up on if they dont know about it...&lt;br /&gt;&lt;br /&gt;The third partition (/dev/hda3) is a Sun whole disk label. Without it you'll never get an os installed on that drive. Its where everyone gets lost the first time., so here's the breadcrumb trail.&lt;br /&gt;&lt;br /&gt;A Sun whole disk label is always on your third partition and it encompasses the entire disk. It will start at cylinder 0 and end at cylinder X (X being the last cylinder on the drive, 22068 in my case.)&lt;br /&gt;&lt;br /&gt;If you are installing onto a system that used to contain Solaris or SunOS or any other unixish OS you can take the easy way out and leave the pre-existing disk label in place and just delete the other partitions.&lt;br /&gt;&lt;br /&gt;If you dont have that luxury, use the 's' command to create a new empty sun disk label. Have it start at Cyl 0 and end at the last cylinder, its that easy....&lt;br /&gt;&lt;br /&gt;Everything else is pretty much straightforward. Hopefully everyone asking what the disk label is, or why their drive wont boot will find this...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110911834067451121?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110911834067451121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110911834067451121&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110911834067451121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110911834067451121'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/debiansparc-what-hell-is-sun-disk.html' title='DEBIAN/SPARC :: What the hell is the Sun Disk Label?'/><author><name>micker</name><uri>http://www.blogger.com/profile/10742639970784025044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110911800732999091</id><published>2005-02-22T19:04:00.000-05:00</published><updated>2005-02-23T02:08:32.486-05:00</updated><title type='text'>MULTIMEDIA :: Taking Screenshots Of Videos</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt; Most folks, even the most braindead of twits, have played a video on their computer once or twice in their travels around the web. A few diehard nerds have massive collections of movies and videos on their PC that were downloaded from the Web or ripped from DVDs etc. For the most part, playing a movie on your computer is pretty commonplace these days. Shoot, you'd be hard-pressed to find a computer from Dell or HP that doesn't come with a DVD-ROM drive, at the very least. But what if there's a scene in a movie you've just watched that you simply MUST send off to your best bud on the Intarweb? So sorry, Alt-PrintScreen just doesn't work. Take the screencap, then paste into your favorite image editing program, and all you get is the outer frame of the player window with a black area where the video screen capture should have been. Nerts.&lt;br /&gt;&lt;br /&gt;But wait! There's a way around this! You can easily take screenshots of video if you take a couple of steps first. Now, if you have a really slow machine that has a difficult time playing video in the first place, this trick is going to really put your poor 'puter to task. Just remember that before you follow these instructions and then email me with "You jerk! My computer thing just gave me an error and stopped working but I don't know what the error was because I just clicked OK and now it won't work at all!"&lt;br /&gt;&lt;br /&gt;In this example, I'm going to assume that you can already play the video correctly. I'm not going to try to walk you through the nightmare of making sure you have the right codecs to play the movie you downloaded, but I AM going to use a downloaded movie as an example.&lt;br /&gt;There are two programs in which this trick is possible, as far as my experience goes. The first I will look at is Windows Media Player 10, which is included with Windows XP. If you're running Windows 2000 or 98, skip to the next program down.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Windows Media Player 10&lt;/span&gt;&lt;br /&gt;- On the top toolbar, click Tools, then click Options.&lt;br /&gt;- Click the Performance tab&lt;br /&gt;- Down near the bottom, underneath the Hardware Acceleration options, click the Advanced button.&lt;br /&gt;- In this window, uncheck any checkboxes that are titled "Use overlay". Overlay is a method of speeding up video playback by creating a "layer" for the video window that sits "over" the regular desktop. This is why captured frames come out black when you paste them from the clipboard.&lt;br /&gt;- Click Ok on every button on the way to closing all the windows.&lt;br /&gt;- Play your favorite video, and pause it at the point you want to capture the screen (I would recommend that the video be in fullscreen mode at this point), and hit Alt-Print Screen.&lt;br /&gt;- Open your favorite image editing program (Photoshop, Paintshop, MS Paint etc) and create a new document, then just hit Ctrl-V to paste the clipboard contents to the new document. (In Photoshop, hit Ctrl-N to create a new document that is already sized to match the image in the clipboard.)&lt;br /&gt;&lt;br /&gt;That's it for Media Player.&lt;br /&gt;&lt;br /&gt;Now, for you other fruitcakes (I'm one of those, thank you very much), there is another program called &lt;a href="http://videolan.org/"&gt;Video Lan Client for Windows&lt;/a&gt;, or just VLC for short. This program is simply badass. It includes nearly every codec you might ever need to play nearly every video file created by nearly everyone on the Web. That's a lot of nearlys. Incidentally, if you try this program, and find the three videos on the web that this program won't play, don't come crying to me, because you likely tried to play a &lt;a href="http://www.real.com/player/?src=realplayer"&gt;RealMedia&lt;/a&gt; or &lt;a href="http://www.apple.com/quicktime/"&gt;Quicktime&lt;/a&gt; file with it, you dink.&lt;br /&gt;So, now you've got this handy dandy quick-like-a-ninja video player program installed. Once again, just trying a quick screen grab as it sits is going to result in more heartbreaking black screen goodness. With VLC, all you need to do is change the shortcut a little bit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Video Lan Client&lt;/span&gt;&lt;br /&gt;- Right click on the VLC program shortcut on your desktop (the little orange and white traffic cone with the little curved arrow at the bottom left of the icon) and click Properties&lt;br /&gt;- In the "Target" line at the top, you're going to add the option "-- nooverlay" to the file path already in there. For example, mine looks exactly like this: "C:\Program Files\VideoLAN\VLC\vlc.exe" --nooverlay&lt;br /&gt;- Click Ok, open your movie with it, and double click the video window to get it fullscreen, hit Alt-Print Screen at the part you want to capture and paste into your favorite image editing program.&lt;br /&gt;&lt;br /&gt;Simple as that! Now you can screencap any video that you can play with those two programs. Of course, if you are trying to capture from a DVD, I highly recommend PowerDVD. It's default capture hotkey is "C". Hit the C key at the right moment (or pause the video to make double sure you get it right), then, again, paste the clipboard contents into an image editing program. You can also set PowerDVD to capture directly to a file instead of to the clipboard, so you don't even have to pause your movie. Just hit C until you're blue in the face, or until you run out of hard drive space, whichever comes first.&lt;br /&gt;&lt;br /&gt;Happy screencapping!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt; makes a hobby out of burning earwigs with a magnifying glass.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110911800732999091?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110911800732999091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110911800732999091&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110911800732999091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110911800732999091'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/multimedia-taking-screenshots-of.html' title='MULTIMEDIA :: Taking Screenshots Of Videos'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110911246078339685</id><published>2005-02-22T17:12:00.000-05:00</published><updated>2005-02-22T17:47:40.786-05:00</updated><title type='text'>HARDWARE :: Where's The Plug N Play?</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;   It was years ago, back in the heady days just prior to the release of Windows 95 when the term "Plug and Play" started to become the hottest buzzphrase.  Ah wonderful Plug and Play, that most venerable of technologies that would allow a piece of hardware in a PC to be installed with little fuss and muss, eliminating the need for endless nights of driver and IRQ configuration.  (Remember good old COM port 4 for modems?)  Ostensibly, Plug and Play would kill the endless configuration frustration, and let users forget all about needing to keep driver floppies and CDs handy in case of an emergency reformat job, which was admittedly necessary a little more often than most of us would like.&lt;br /&gt;   The problem is that, aside from devices like the reliable Creative Labs Soundblaster cards, true Plug and Play never really materialized.  With the SB cards, Windows would recognize the card all on its own, and trigger a tiny program embedded on the card that caused it to configure ITSELF as the system booted up.  To me, THAT was what Plug and Play was all about.  Today, I think we've all grown a little tolerant of the fact that things never developed the way they were promised, with a very few happy exceptions.  Look around at some of the hardware you've likely installed in your system, and look back on what it took to get the device working.  If you have Windows XP Home/Pro, chances are pretty good that even though whatever you installed started working right away, you still had to install something from a CD to use it to its fullest capability.&lt;br /&gt;&lt;br /&gt;   What I'd like to know is, in this day and age, when memory is dirt-freaking-cheap, and technology for permanent hard storage is reaching its maturity, why are the initial FULL set of drivers not installed right on the cards and devices themselves?  Why is it I can install a video card and get a so-so display, but to drive that sucker the way I bought it to do, I still have to install the drivers from the CD?  Those same video drivers, by the way, are by and large provided as a one-size-fits-all solution by the two major video card manufacturers, NVidia and ATI.  Download one 30 megabyte file, get drivers for every card they make, all in one file, and the setup program determines which one you need.  30 megs?  How much space would be taken by just the drivers you need?  About 3-5 megs.  That couldn't be stored and automatically run on first boot, right from the card?  Right.  In the era of 256MB video cards?  Right.&lt;br /&gt;&lt;br /&gt;   Why didn't Plug and Play ever evolve into what it was promised to be in the first place?  Even Creative Labs has fallen off of their previous designs, and their higher-end Audigy cards now require that bane of every user's existence to even get running full-tilt: the driver CD.  Of course, I'm not saying anything about extra games and applications that manufacturers are bundling with their devices.  I understand that.  I just don't understand the need to install stuff after I installed stuff, if you get my drift. &lt;br /&gt;   In my main machine, I have two video cards, two sound cards, a combo USB2/Firewire/Ethernet card, and some various sundry integrated devices on the motherboard.  Those components alone (whick, ok, make up just about the whole darned system), require me to keep track of no less than 5 CDs.  That's not even including some of the application CDs, which in some cases are needed as well.  For example, the CD/DVD burning software for my DVDR/W burner.  Windows will use it as a regular CD any day of the week, all by itself, but try to burn a DVD?  No way Jose'.  Not without that extra application you don't.  But, like I said, my gripe isn't about the application CDs.  It's those freaking drivers.&lt;br /&gt;&lt;br /&gt;   I can hear most of you already.  "You could just go online and download the latest ones anyway, you clown," you're saying, and you're right.  Unless I don't have an internet connection handy at the time, that is.  It's happened to me a couple of times, and many people don't have the time to wait for all those biggie driver files to download over their dialup AOL connections.  The simple fact of the matter is that while Plug and Play has been realized to a very small degree, it is still nowhere near the original vision as put forth by Microsoft, back in those heady days just prior to the release of Windows 95.  Now with Plug and Pray goodness!&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt;&lt;span style="font-style: italic;"&gt; writes articles on the backs of laden oxen in order to proofread more better.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110911246078339685?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110911246078339685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110911246078339685&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110911246078339685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110911246078339685'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/hardware-wheres-plug-n-play.html' title='HARDWARE :: Where&apos;s The Plug N Play?'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110910476636823970</id><published>2005-02-22T15:38:00.000-05:00</published><updated>2005-02-22T15:39:45.406-05:00</updated><title type='text'>COOL :: That goddam Blogger search bar....</title><content type='html'>We found a great resource that explains how to remove it.&lt;br /&gt;&lt;a href="http://removethebar.blogspot.com/"&gt;http://removethebar.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110910476636823970?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110910476636823970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110910476636823970&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110910476636823970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110910476636823970'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/cool-that-goddam-blogger-search-bar.html' title='COOL :: That goddam Blogger search bar....'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110910387770029124</id><published>2005-02-22T15:24:00.000-05:00</published><updated>2005-02-22T15:49:21.686-05:00</updated><title type='text'>PROGRAMMING :: Why waste valuable resources?</title><content type='html'>All too often I'll find myself disappointed with the thought of how many developers in the business world waste terrabytes of valuable bandwidth and bajillions of precious processor clock cycles on applications that were written the quick and easy way. It's frustrating.&lt;br /&gt;&lt;br /&gt;Why do we develop "dynamic" websites the way we do?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Problem&lt;/strong&gt;&lt;br /&gt;Lets start with the basic concept. Most people who develop content driven websites will commonly develop a front end, the middleware and then connect it all to their fancy pants database of choice (oracle, msSQL, mySQL etc.) In alot of cases, for large scale news sites like CNN, ESPN and others, it may very well be a viable solution. But for people running smaller  content driven sites that don't require advanced queries, it may be in their best interest to avoid using SQL altogether. After all, if you are the webmaster of a content based website, the content ONLY &lt;img src=http://www.digitallsd.com/tl/fig1.gif align="left"&gt;changes when you update it. Alot similar to this blog and others. Using a SQL backend for a content driven site is fine, but if youre concerned with the cost of hosting a sql server, supporting another machine and possible multiple databases, you may want to consider other methods of serving your content. Consider this. Every time a user visits a database/content driven website, a request is placed to the webserver, the webserver then calls the appropriate file being requested and runs it. A SQL call is then requested to the SQL server which then returns the data to the webserver. The webserver, then renders and formats the data and finally delivers it to the end user (figure 1).&lt;br /&gt;&lt;br /&gt;Now for a smaller site, that seems like ALOT of work and ALOT of network traffic to display some static content don't you think? I think so too.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Solution&lt;br /&gt;&lt;/strong&gt;XML. Primarily, I use Microsoft technologies and although my friendly counterparts here tend to bump heads with me on more than one occasion regarding Microsuck, I'm sure they can still see the beauty of what I'm about to show you.&lt;br /&gt;With ASP (and also in .net) Microsoft makes the XMLDOM and XMLHTTP Active X objects available to you. With these objects, you can easily create a structured data backend, and EASILY develop a simple front end to render the data as needed using XSLT or other methods.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;So How Do I Do It?&lt;/strong&gt;&lt;br /&gt;Quite honestly there are TONS of resources out there. But primarily, I relied on XML.com and &lt;a href="http://xmlfiles.com/articles/michael/editingxml/default.asp"&gt;this article&lt;/a&gt; to get running with it.&lt;br /&gt;&lt;br /&gt;If you arent familiar with XML and ASP, I STRONGLY reccommend that you familiarize yourself with them before getting into this, or you are in for a world of frustration and anxiety. In fact, if you can, avoid ASP altogether and learn how to handle XML Data using ASP.net.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110910387770029124?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110910387770029124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110910387770029124&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110910387770029124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110910387770029124'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/programming-why-waste-valuable.html' title='PROGRAMMING :: Why waste valuable resources?'/><author><name>jtmack</name><uri>http://www.blogger.com/profile/12000312220802497273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110910354381400781</id><published>2005-02-22T13:14:00.000-05:00</published><updated>2005-02-22T16:31:32.726-05:00</updated><title type='text'>SERVERS :: How internetworking is supposed to work.</title><content type='html'>Real world example of why I love it when things go right.  I have a friend we'll call &lt;span style="font-weight: bold;"&gt;greyhat.  &lt;/span&gt;He's got this great FTP site filled with hundreds of PDF's and CHM and Text files of every programming book and software/hardware reference guide written in the last 20 years. We're talking hundreds, hell, thousands of reference manuals that I can access as needed.&lt;br /&gt;&lt;br /&gt;Great, nice and handy, right? Nope. My problem with this setup is that the ftp server is hosted on a Windows server and most of the filenames have whitespace within the name. This isnt a problem when using WiseFTP from windows, but what if I'm on the Debian/PPC box or I'm on my laptop, a FreeBSD5.3 system? Well, I suppose I can use xFTP or many of the other great graphical ftp clients for X, but I usually SSH into systems at a console level and I dont use X much.&lt;br /&gt;&lt;br /&gt;I explored various console level ftp clients, some expanded on the standard BSD/FTP client, some even went and added a (nc)Curses based interface, but none of them really solved my problem. They really didnt handle long filenames with lots of whitespace in them.&lt;br /&gt;&lt;br /&gt;So more research was necessary. I really wanted to come up with a way to have all of this information at my fingertips whenever I happened to need it.&lt;br /&gt;&lt;br /&gt;After digging around on google, an idea hit me. What if I could mount that remote ftp site as a share on one of my local server! then I could share it on the vpn via NFS and share it out to the windows workstations in the house with Samba. A little more googling and I was almost there...&lt;br /&gt;&lt;br /&gt;Enter LuFS....&lt;br /&gt;&lt;br /&gt;Lufs is the Linux Userland File System. A kernel module and a set of utilities that allow you to mount exotic filesystems such as SSH and FTP as a local file system....&lt;br /&gt;&lt;br /&gt;So, with my fingers crossed, I logged into Rivera, a Sun Microsystems Ultra5 running Debain Sarge(Testing) for Sparc64. First step, check the apt cache.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rivera:/home/mick# &lt;span style="font-weight: bold;"&gt;apt-cache search lufs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lufs-cryptofs - Transparent filesystem encryption plugin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lufs-source - Linux Userland Filesystem - kernel module source&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lufs-utils - Linux Userland Filesystem - utilities&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Ok, there we go. Being that this is already available as a debian package, installation is quite simple.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rivera:/home/mick# apt-get install lufs-source lufs-utils&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Reading Package Lists... Done&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Building Dependency Tree... Done&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;The following NEW packages will be installed:&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;lufs-source lufs-utils&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;0 upgraded, 2 newly installed, 0 to remove and 295 not upgraded.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Need to get 0B/148kB of archives.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;After unpacking 483kB of additional disk space will be used.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Selecting previously deselected package lufs-source.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;(Reading database ... 99415 files and directories currently installed.)&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Unpacking lufs-source (from .../lufs-source_0.9.7-6_all.deb) ...&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Selecting previously deselected package lufs-utils.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Unpacking lufs-utils (from .../lufs-utils_0.9.7-6_sparc.deb) ...&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Setting up lufs-source (0.9.7-6) ...&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Setting up lufs-utils (0.9.7-6) ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;rivera:/home/mick#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok... Now how do I use this bugger? I raed through the docs and realized that the package maintainer had configured this for use with the 'module-assistant' program. To use this, go to your /usr/src directory and invoke the 'module-assistant' command. Everything is pretty easy to do after that. Just choose the prep options, followed by the build and install options and you should be set. You've succesfully added kernel support for weird filesystems.&lt;br /&gt;&lt;br /&gt;Now back to the console where I will create a filesystem to mount the ftp system as, and then I'll mount it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;rivera:/home/mick# mkdir /remote/greyhat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lufsmount ftpfs://myusername:mypasswd@greyhatftp.com /remote/greyhat&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Now, Greyhats ftp site is mounted as /remote/greyhat, right on my local filesystem, and can be manipulated using all the tools you would expect to use on a unix/linux system....&lt;br /&gt;&lt;br /&gt;For a finishing touch, I use Samba to share the /cifs/pub directory on Rivera to the windows systems here, its accesable to the windows boxen as //rivera/pub. I have another drive on the system mounted as /storage that is linked to the samba share as /cifs/pub/storage. I created a similiar link and now I also share that ftp sire to my network as /cifs/pub/storage/greyhat, or on the windows network as //rivera/pub/storage/greyhat.&lt;br /&gt;&lt;br /&gt;Now for my next trick, I'll link all my remote systems to one central storage server over SSH. Thats a story for another day though....&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110910354381400781?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110910354381400781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110910354381400781&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110910354381400781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110910354381400781'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/servers-how-internetworking-is.html' title='SERVERS :: How internetworking is supposed to work.'/><author><name>micker</name><uri>http://www.blogger.com/profile/10742639970784025044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110909636390108281</id><published>2005-02-22T12:41:00.000-05:00</published><updated>2005-02-22T14:04:39.676-05:00</updated><title type='text'>WINDOWS :: XAMPP Makes WebAdmins Kill Kittens</title><content type='html'>&lt;span style="font-family: trebuchet ms;"&gt;If you're an egghead like myself, you probably find a few things wrong with the IIS webserver that comes with Windows 98/2000/XP Pro. Firstly, those endless security updates and patches are tedious as all hell. Especially if you are security conscious, and don't allow the server to auto-update itself. This essentially creates a welcome mat for hackers looking to take advantage of your open machine, to make it work for them instead, doing such fun things as spam-serving, and zombie ping flooding other hapless victims.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;For an IIS admin, updates and patches are a constant full-time job. On top of that, as an IIS flunky, you have to worry about actual administration. Suppose a newly-created website can't be accessed by your potential clients. Does the website have the proper permissions to access the things it needs, such as the ASP engine? For most IIS folks, this isn't much of a problem, since it is usually fairly automated. In some cases, though, once it rears its ugly head, it presents a nightmare from which there is no waking.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Enter Apache, the previously Unix-architecture-only webserver that runs insanely fast, but is a little bit of a pain to configure. Apache can deal with server loads far above what IIS can handle. If you are successful in your webventure, you might get "Slashdotted", wherein your site is featured on a popular tech news aggregator site, (&lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://slashdot.org/"&gt;Slashdot.org&lt;/a&gt;&lt;span style="font-family: trebuchet ms;"&gt;), and then all hell breaks loose when thousands of nerds worldwide click on your site to see what all the buzz is about. For most webservers, this is a death knell. In this example, there really is no way to keep your site from going down. BUT, if you were running Apache as your base webserver, the chances are very good that your site will stay up longer, thereby giving a greater number of viewers a chance to, well, view your site!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;You see, Apache is extremely lightweight in its operation. It uses a fraction of the memory and processor time that IIS demands, leaving more resources free for more important things, like actually getting your website out to the viewers. IIS ties itself to Internet Explorer, naturally. This is actually more closely related to the fact that the Windows operating system itself is closely tied with IE, which itself is a monstrous memory and processor hog. This is how Apache can help your site outperform others running all MS products.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Now, there's one caveat to using Apache. For one thing, like I said before, it's a pain to configure if you're not familiar with Unix/Linux architecture and operating standards. It's also a little difficult to get working with things like Microsoft SQL Server, which is one crucial element for ASP. Not everyone likes ASP though, and for those folks, who usually prefer something like PHP, Apache is for you. Well, Apache as well as some other tools, which, again, can be a little hard to configure properly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;  Hard, that was, until &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://www.apachefriends.org/en/xampp.html"&gt;XAMPP&lt;/a&gt;&lt;span style="font-family: trebuchet ms;"&gt; came along. In the website's words, "XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl." They weren't kidding when they said "easy to install". A couple of clicks, and the whole crazy thing is setup and configured on your Windows machine, without a hitch, without a single burp. By the time you've accessed your configuration page, all of the included tools and utilities are active and ready for you to start coding.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Again, if you are a die-hard ASP fan, this package isn't for you. There are methods of getting your new Apache server to properly run ASP code server-side, but they are outside the scope of this article, and to be honest, would be better served by IIS and Microsoft SQL Server anyway.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;So, if you want a website that can outlive IIS in most cases under a monstrous deluge of users, you want Apache and its friends running in the backend. Now, I realize that not everyone is going to be expecting a flood of users of Slashdot proportions, but then again, very few website admins ever expect to get nailed so efficiently. It's best to be prepared, and &lt;/span&gt;&lt;a style="font-family: trebuchet ms;" href="http://www.apachefriends.org/en/xampp.html"&gt;XAMPP&lt;/a&gt;&lt;span style="font-family: trebuchet ms;"&gt; is the boy scout with the biggest Swiss army knife.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-style: italic;" href="mailto:deadweasel.toplevel@gmail.com"&gt;Deadweasel&lt;/a&gt;&lt;span style="font-style: italic;"&gt; is a hardware-hacking Windows guru with more case cuts than IQ points&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110909636390108281?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110909636390108281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110909636390108281&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110909636390108281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110909636390108281'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/windows-xampp-makes-webadmins-kill.html' title='WINDOWS :: XAMPP Makes WebAdmins Kill Kittens'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110908168739405171</id><published>2005-02-22T09:09:00.000-05:00</published><updated>2005-02-22T11:03:41.753-05:00</updated><title type='text'>WINDOWS:: PuTTY is my homeboy....</title><content type='html'>What is your Windows(tm) killer app?  Mine would be PuTTY ( &lt;a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/"&gt;http://www.chiark.greenend.org.uk/~sgtatham/putty/&lt;/a&gt; ) I'm pretty sure I use this awesome SSH client more than all the other apps on my Windows system. If you've got multiple machines and you manage them over SSH, PuTTY is king...&lt;br /&gt;&lt;br /&gt;A close second would have to be WinSCP ( &lt;a href="http://winscp.sourceforge.net/eng/download.php"&gt;http://winscp.sourceforge.net/eng/download.php&lt;/a&gt; ) A nice little app that allows you to transfer files over an SSH session....&lt;br /&gt;&lt;br /&gt;So, what is your killer Windows App?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110908168739405171?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110908168739405171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110908168739405171&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110908168739405171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110908168739405171'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/windows-putty-is-my-homeboy.html' title='WINDOWS:: PuTTY is my homeboy....'/><author><name>micker</name><uri>http://www.blogger.com/profile/10742639970784025044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10998651.post-110905518348087924</id><published>2005-02-22T01:52:00.000-05:00</published><updated>2005-04-08T13:23:16.410-04:00</updated><title type='text'>WINDOWS :: Connecting Your TV to a 2000/XP Computer</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;One of the neatest things you can do with today's computers is to connect them to a nearby television set. This is the basis behind Microsoft's Windows XP Media Center Edition. They have created an application that, when installed on a PC with the proper hardware, will display an interface that brings all of your media (photos, videos, music etc) together under one access point, and looks equally nice when displayed on a standard monitor, LCD/plasma television, projector or regular old TV set.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;For Media Center Edition, there are some standards you must adhere to in order for the program to work, such as specific TV and radio tuner cards, among other things, but there are other programs out there that will do the same job as Media Center, without the price tag or the hardware limitations. &lt;/span&gt;&lt;a style="FONT-FAMILY: trebuchet ms" href="http://mediaportal.sourceforge.net/"&gt;Media Portal&lt;/a&gt;&lt;span style="font-family:trebuchet ms;"&gt; is one such program. Although a little configuration is needed for this program to work with your hardware, it's a very flexible program, and best of all, it's free!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;img src="http://semcdfa.com/subfiles/toplevel/mediaportal.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Media Portal looks and acts like Media Center Edition, without the restrictions.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;This article won't cover installation of those programs, but today, I will show you how to get your TV working with your computer, as well as give some tips on the hardware that will let you get away with it in the first place.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;One of the first things you will need to have, of course, is a decently-configured PC with Windows 2000 or XP Home/Pro installed. By decently-configured, I mean at least a Pentium III 600MHz processor with no less than 128MB of RAM. If your PC doesn't match these basic specs, you won't even need to worry about reading on, because under Win2K or XP, your machine is already going to be under considerable stress. I don't care what the hardware nerds out there tell you. I've done exactly what I just advised against, and it was great as a basic desktop, but try to pull anything beyond basic email or websurfing, and your PC is likely to give you the finger and proceed to make your life a living hell. You've been warned.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;The second thing you will need, and this is key, is a video card that has some sort of TV output. Most cards today provide this functionality in the form of S-Video. The port on the card looks a little bit like one of those round keyboard or mouse connectors, but with a different pin layout.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img style="FONT-FAMILY: trebuchet ms" src="http://semcdfa.com/subfiles/toplevel/svideo.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:trebuchet ms;"&gt;Most cards have S-Video outputs&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Other, high-end cards, such as the ATI All-In-Wonder series cards, have S-Video outputs as a matter of course, as well as a host of video input options. Now, at this point, I feel it's necessary to point out that you folks with High-Definition TVs and plasma displays most likely have another type of input called DVI. This connector looks totally different from S-Video, and will let your display act just like a standard PC monitor, rather than having to convert from the computer's standard display format to NTSC. This connector is optimal for tossing your PC's display on your DVI-capable TV, BUT, I'm not going into detail on those connections here. For you folks that have those sorts of TVs, I recommend talking with your local professional video store, or a mom-and-pop computer store. DO NOT go to Best Buy or Circuit City, as the high school kids there barely know their ass from a hole in the ground, and will have you buying equipment you don't need to do something they don't understand how to do in the first place.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now then, it's a simple matter of connecting a cable, right? Well, yes and no. At this point, you should check your TV or VCR (if you have one connected to the TV) for that same S-Video plug. If you have it, great! You can simply run the cable that came with the video card from your computer to the other port. If you don't have that port on your TV or VCR, you're going to need an S-Video to RCA type converter. You can get this at any Radio Shack for around $20.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img style="WIDTH: 224px; FONT-FAMILY: trebuchet ms; HEIGHT: 224px" src="http://semcdfa.com/subfiles/toplevel/svideoconverter.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:trebuchet ms;"&gt;A simple S-Video to RCA converter is available at any Radio Shack.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Make sure both the TV/VCR and the computer are turned completely off, and use the converter to run from the video input on your TV or VCR, to the S-Video cable that came with your video card. If you have one of the ATI All-In-Wonder cards, you already have the conversion done for you on the output of the card.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;For the record, straight S-Video to S-Video connections are going to result in a better picture on your TV, because the signals are all kept separated within the cable, versus RCA, which melds all of it into one wavy, noisy signal. When all's said and done though, if you don't have S-Video input on your TV or VCR, there's not much you can do about it, short of buying a new TV or VCR. Buck up and deal with it man!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img style="WIDTH: 383px; FONT-FAMILY: trebuchet ms; HEIGHT: 222px" src="http://semcdfa.com/subfiles/toplevel/pigtail.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The All-In-Wonder Output cords&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Okay, so now everything's plugged in, right? Turn everything on, and get Windows logged into an administrator-level account. Now here's where things can get a little fuzzy. You need to get Windows to send a video signal to the TV, because nine times out of ten, it won't do it until you tell it specifically to do just that.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Right-click on a blank area of the Desktop, and select Properties. In the window that pops up, select the Settings tab at the far top right of the window.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img style="FONT-FAMILY: trebuchet ms" src="http://semcdfa.com/subfiles/toplevel/settings1.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;span style="font-family:trebuchet ms;"&gt;The basic Windows display settings dialog&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Don't worry if you don't have all those monitors showing up in your settings window. You may have more or less, depending on how you have your system built. The first thing you're going to do is click the Advanced button in the bottom right of the window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;In the next window that pops up, click the Displays tab. Here, you are going to enable the TV output function of your card. This looks different, depending on the video card you have installed, but the selection should be pretty obvious. For ATI All-In-Wonder cards, the TV selection may be grayed out, but if you click the Troubleshooting button, yet another window should popup, giving you option to "Force detection of the TV". Check that box, then click OK, and the TV selection should now be available. At this point, your TV may already be showing a nice mirror of your current monitor display. If it isn't, try clicking the Ok buttons until all the windows are closed. If it STILL doesn't show up, make sure your TV is set to Input or Aux1, or whatever your TV calls its line input. If you are connecting via VCR, make sure the VCR is set the same way (line in, Aux etc).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;By this time, you are probably noticing that the picture looks pretty crappy. Well, while it IS possible to touch things up and make them look marginally better, for the most part, this is how a PC looks on a TV. Again, buck up and deal with it. I can promise you it looks much better for movies though.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now, one last thing remains. Open your display settings dialog again. See that little resolution slider about the middle left of the window? It's probably at 1024x768 or higher. You actually need to slide that bugger down to 800x600. This will make things look a little more legible on your TV screen. You might also need to fine-tune the TV's screen size and position as well. For most video cards, this is done by clicking on that Advanced button, then on the Displays tab, then on the button that represents your TV. This should popup another window that gives you color and positioning controls. Adjust these settings until the screen looks better. Remember, the blurry text effect will NOT go away. That's just how it is for this sort of thing. You CAN diminish the jittery effect, the washed-out coloring, and exaggerated contrast though.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now, you should be looking at a fairly decent replica of your Windows display on your TV. But wait, there's one more thing you're going to have to worry about. Most likely, you are connecting your PC to the TV so you can watch movies, right? Well, there's one caveat when doing this: Movie playback programs under Windows use this nifty little feature called "screen overlay" when they show a movie on the screen. This helps speed up the display so that you don't get a weird jittery or flickering effect when playing videos on some slower machines. The side effect to this feature is that the video cannot be played on a secondary display. In this case, that means your TV.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;"But wait just a cot-damned second," you might be prone to say, "what did I just go through all this song and dance for if I can't play movies on the TV?" Well hold your horses there, son. I didn't say it wouldn't work at all. Just that it won't work YET. That is, until you have done one final adjustment. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;Now, if you have purchased your video card in about the last couple of years, or at the very least have the latest drivers installed, the last step involved should be as simple as hitting the Alt and F5 keys at the same time. This should cause your monitor to go dark, and the TV to light up by itself. At this point, NOW you can watch movies on the TV.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;There is one last point to make here. If you are like me, and have multiple monitors connected to your computer, either because your video card supports dual monitors, or because you have multiple video cards installed, you are going to have to shut the additional monitors off before the Alt-F5 trick will work. At least, that's how it is on my ATI All-In-Wonder 9600 Pro.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;To go back to just using the computer on the monitor, simply Alt-F5 again, and it should come right back to the regular trusty monitor. At this point, it's safe to go back into your display settings window, and ramp your resolution back up to whatever you had it set at before. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;There's a possibility that there's a method to permanently set hardware profiles so that you won't have to do all this setting and re-setting every time you want to watch a movie on TV, but that's for another article. Of course, if you're building a Media Center-style PC, that won't matter anyway.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;If you have something you'd like to add to this article, or if you have some questions/comments regarding its content, send an email to &lt;/span&gt;&lt;a style="FONT-FAMILY: trebuchet ms" href="mailto:deadweasel.toplevel@gmail.com"&gt;deadweasel.toplevel@gmail.com&lt;/a&gt;&lt;a href="mailto:deadweasel.toplevel@gmail.com"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-family:trebuchet ms;" &gt;Deadweasel has been working with Windows-based computers for 15 years, and is a co-host of the &lt;/span&gt;&lt;a style="FONT-STYLE: italic; FONT-FAMILY: trebuchet ms" href="http://sdrn.org/"&gt;SDRN Radio Show&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10998651-110905518348087924?l=toplevel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://toplevel.blogspot.com/feeds/110905518348087924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10998651&amp;postID=110905518348087924&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110905518348087924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10998651/posts/default/110905518348087924'/><link rel='alternate' type='text/html' href='http://toplevel.blogspot.com/2005/02/windows-connecting-your-tv-to-2000xp.html' title='WINDOWS :: Connecting Your TV to a 2000/XP Computer'/><author><name>CMack</name><uri>http://www.blogger.com/profile/08974513174829223753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-gt2n1b-zBW4/TxO8J28fRmI/AAAAAAAAQXk/ah698axft5M/s220/cover_deadweasel-180x180.jpg'/></author><thr:total>0</thr:total></entry></feed>
